前提
djangoでSNSアプリを作成しています。
EC2にデプロイして動作確認してまして、
SESを利用してメールアドレスの認証を行っています。
アカウントログイン動作を行った際に、エラーになります。
・アカウントログイン
以下のページでログインボタンを押下
<form method="post" action="{% url 'account_login' %}"> {% csrf_token %} <table class="table"> {{ form.as_table }} {% if redirect_field_value %} <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/> {% endif %} </table> <button class="btn btn-primary" type="submit">ログイン</button> <p><a class="button secondaryAction" href="{% url 'account_reset_password' %}">パスワードを忘れましたか?</a></p> </form>
発生している問題・エラーメッセージ
EC2インスタンスと同じ、us-west-2のリージョンで、SESにメールアドレスや独自ドメインを登録・検証したのですが、
us-east-1でメールアドレスが検証されてないとのエラーが出ています。
An error occurred (MessageRejected) when calling the SendRawEmail operation: Email address is not verified. The following identities failed the check in region US-EAST-1: [Toメールアドレス]
試したこと
以下は対応済みです。
① SESでIAMユーザを作成し、アクセスID、認証キーをダウンロードし、django側で設定
以下はdjango側で設定しているコードです。
EC2の環境設定(~/.bash_profile)を読み込んでいます。
AWS_SES_ACCESS_KEY_ID = os.environ.get('AWS_SES_ACCESS_KEY_ID') AWS_SES_SECRET_ACCESS_KEY = os.environ.get('AWS_SES_SECRET_ACCESS_KEY')
② ①で作成したIAMユーザのポリシー(AmazonSesSendingAccess)の編集
デフォルトの設定はActionがses:SendRawEmailのみでしたので、
ses:SendEmail、ses:GetSendQuotaを追加しました。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ses:SendEmail", "ses:GetSendQuota", "ses:SendRawEmail" ], "Resource": "*" } ] }
③ サンドボックス外への移動、送信制限解除(リージョン:us-west-2)
対応済みで、認証していないメールアドレスにもメール送信可能なはずです。
送信制限は、1 日あたり 50,000 メッセージ、最大送信レートが毎秒 14 メッセージでこちらにも引っかからない認識です。
④送信元アドレスをSESに登録(リージョン:us-west-2)
作成しておいた独自のドメインと、個人のメールアドレスをこちらに登録し、検証完了しています。
※以前に発生したエラー
アカウントログインの動作を行った際、アクセスID・認証キーのエラーが出たため、
上記の①、②を再度行ったところ、エラー内容が今回のものに変わりました。
補足情報(FW/ツールのバージョンなど)
・django 3.2.14
・EC2 t2.micro (リージョン:us-west-2)
お力添えいただけますでしょうか。宜しくお願い致します。

回答1件
あなたの回答
tips
プレビュー