我正在尝试试验的应用程序允许用户使用内置的 djangos 重置他们的密码PasswordResetForm
,目前我正在覆盖它以便能够使用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'
电子邮件通过亚马逊 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
创建了两个文件:myDomainName.com.key和rsa.public
将 DKIM_PRIVATE_KEY 添加到
settings.py
DKIM_PRIVATE_KEY = ''' xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MY 长私钥
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'''添加了 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
已经添加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