AWS SESをGoでサンプルアプリケーションを作ってみた
仕事でsesを使う機会があったので、手元で試してみたく、サンプルアプリケーションを作りました。
前提
実装は組み込めるようにしたものではなく、サンプルアプリケーションを動かすだけのものです。
sesの設定
SMTPの設定
SMTP Settings > Create My SMTP Credentialsを選び、適当な名前でIAM Userを作成します。
ここを参照するとわかりやすいです。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/smtp-credentials.html
ポリシーの設定
IAM Userを作成しただけでは、メールが送信できませんでした。
$ go run main.go
AccessDenied: User `arn:aws:iam::11111111:user/ses-smtp-user' is not authorized to perform `ses:SendEmail' on resource `arn:aws:ses:us-west-2:11111111:identity/[email protected]'
status code: 403, request id: 111111111
なので、IAMのコンソール画面で SendEmail
ポリシーの設定をします
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/control-user-access.html#iam-and-ses-examples-email-sending-actions
使用するメールアドレスを有効にする
実際に使う場合はドメインを設定する必要があると思いますが、一旦メールアドレスを設定します。
Email Addresses > Verify a New Email Addressから適当なメールアドレスを入力します。
Verify This Email Address
を押すと入力したメールアドレスにメールが届くので、そのメールの中のリンクをクリックしてメールアドレスを使えるようにします。
認証ファイルの作成
[default]
aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID
aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY
アプリケーションの実装
サンプルはこちら
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/examples-send-using-sdk.html
ConfigSetを使用すると送信数などを計測できるようになるようですが、一旦必要ないのでそこはコメントアウトしています。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/event-publishing-create-configuration-set.html
$ go run main.go
Email Sent!
{
MessageId: "0101016ff173d049~~~~~~"
}
まとめ
ただ、メールを送信するだけならとても簡単にできそうでした。
実際に本番に適用する際に何が必要なのかもう少し調べてみようと思います
Author And Source
この問題について(AWS SESをGoでサンプルアプリケーションを作ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/shigeru10/items/a31aaa45afd4c030ffd9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .