私が実験しようとしているアプリケーションでは、ユーザーは djangos inbuilt を使用してパスワードをリセットできますPasswordResetForm
。現在、を使用して HTML メールを送信できるようにオーバーライドしていますEmailMultiAlternatives
。
現在の外観と動作は良好です。
c ={'name':'Shabeer'}
subject = 'Test Amazon SES'
txt_content = loader.render_to_string('registration/password_reset_email.txt', c)
html_content = loader.render_to_string(email_template_name, c)
msg = EmailMultiAlternatives(subject, txt_content, from_email, [user.email]);
msg.attach_alternative(html_content, 'text/html')
msg.send()
だから今、私はhmarrGetting started
によるこの例の助けを借りて始めました。ここに私が追加したコードがありますsettings.py
EMAIL_BACKEND = 'django_ses.SESBackend'
DEFAULT_FROM_EMAIL = 'shabeer@sheffa.com'
AWS_ACCESS_KEY_ID = 'MyAcCeSsKeYiD'
AWS_SECRET_ACCESS_KEY = 'MySeCrEtAcCeSsKeY'
AWS_SES_REGION_NAME = 'us-east-1'
AWS_SES_REGION_ENDPOINT = 'email.us-east-1.amazonaws.com'
AWS_SES_RETURN_PATH = 'shabeer@sheffa.com'
そして、メールは Amazon SES 経由でユーザーに正常に送信されます。
だから今ここに私の問題があります。
見ないようにして"via" followed by a domain name next to the sender's name
います。
DKIM
それを達成するために、ガイドの次のステップに従い始めました。:
- Amazon SES によって生成されたドメインの DKIM 設定を追加しました
- に以下を追加
settings.py
DKIM_DOMAIN = 'myDomainName.com'`
openssl-for windows をダウンロードし、コマンドに従いました
- openssl genrsa -out myDomainName.com.key 512
- openssl rsa -in myDomainName.com.key -out rsa.public -pubout -outform PEM
2 つのファイルが作成されました: myDomainName.com.keyとrsa.public
DKIM_PRIVATE_KEY を追加しました
settings.py
DKIM_PRIVATE_KEY = ''' xxxxxxxxxxxxxxxxxxxxxxxxxx
MY ロング プライベート キー
xxxxxxxxxxxxxxxxxxxxxxxxxx
'''DNS エントリを追加しました
ses._domainkey.myDomainName.com TXT '"v=DKIM1; p=myPublicKey"'
上記のすべてが完了したら、プロジェクトを実行してパスワードをリセットしようとすると、次のエラーがスローされます。
Exception Type: KeyFormatError at /password_reset/
Exception Value: Private key not found
見逃したものや間違ったものを理解しようとしていますが、これを解決する方法についてのアドバイス/支援は本当に役に立ちます.
私は Django/Python の新人なので、ご容赦ください。
よろしくお願いします。
2013 年 10 月 28 日更新:
すでに追加してPrivate Key
いる間に、どのdjangoが探しているかをまだ把握しようとしていますDKIM_PRIVATE_KEY
settings.py
2013 年 10 月 29 日更新:
Paul Eganの助けを借りて、次のような外観を含めるように更新
DKIM_PRIVATE_KEY
しました。settings.py
PEM header
DKIM_PRIVATE_KEY = '''
-----BEGIN RSA PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END RSA PRIVATE KEY----- '''
メールはエラーなしで送信されるようになりましたが、受信したメールにはまだ表示されますvia amazonses.com