タイトル通り、pythonでSESからメール送信してみました。
今回は既に運用中のAWSアカウントにて設定したので、セットアップとかは省略。また、送信先については固定で1つだけなので制限解除申請などはしてません。
手順としては、
1.SES側での送信先メールアドレス認証作業
2.AMIで認証情報作成
3.python実装
という感じ。
SES側での送信先メールアドレス認証作業
登録と検証を行わずに送信しようとするとエラーに。
Email address is not verified. The following identities failed the check in region US-WEST-2:[送信先メールアドレス]
とりあえず、SESの画面から送信先を登録。
検証メールを送信してメール内のURLをクリックするだけで完了。簡単。
AMIで認証情報作成
こちらも既存のユーザーに認証情報タブからアクセスキーの作成を実行して保存。簡単。
python実装
いろいろやり方はあると思いますが、とりあえず公式のやり方が無難だろうという事で、こちらを参考。
https://docs.aws.amazon.com/ses/latest/dg/send-email-raw.html
なぜかアクセスキーとかセットする部分が無かったので、このままだとエラーに。
botocore.exceptions.NoCredentialsError: Unable to locate credentials
なので、
client = boto3.client(‘ses’,region_name=AWS_REGION)
この部分を
client = boto3.client(‘ses’,region_name=AWS_REGION,
aws_access_key_id=AWS_ACCESS_KEY,
aws_secret_access_key=AWS_SECRET_KEY)
のようにしました。
ファイルも添付できて良きですね。