Django重置未在AWS上发送的PW电子邮件

时间:2018-12-10 18:08:51

标签: django amazon-web-services amazon-ses

很难表达这个问题以及我做了什么,因为我不知道错误发生在哪里。

我正在使用托管在AWS Elastic Beanstalk和SES上的Django发送电子邮件。 (仅用于密码重置)但是密码重置电子邮件似乎没有发送。

当我尝试按以下方式发送电子邮件时,它仍然有效。

 send_mail('Test', 'Email content', 'email@email.com',['email@email.com',])

密码重置电子邮件也在本地发送(它被放入垃圾邮件,但这是另一个问题)

我的电子邮件设置为:

EMAIL_HOST = 'smtp.gmail.com' # mail service smtp
EMAIL_HOST_USER = 'email@email.com' # email id
EMAIL_HOST_PASSWORD = '****' #password
EMAIL_PORT = 587
# EMAIL_USE_TLS = True

EMAIL_BACKEND = 'django_ses.SESBackend'

AWS_ACCESS_KEY_ID = 'ACCESSKEY'
AWS_SECRET_ACCESS_KEY = 'SECRETKEY'
AWS_SES_REGION_NAME = 'eu-west-1'
AWS_SES_REGION_ENDPOINT = 'email.eu-west-1.amazonaws.com'
DEFAULT_FROM_EMAIL= 'email@email.com'

如果相关,我写过email@email.com的任何地方实际上都是同一封电子邮件。

任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

2021:Django-3.2.4

不需要诸如 django-sesdjango-amazon-ses 之类的库!!

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'my_smtp_username'      # Must create SMTP Credentials
EMAIL_HOST_PASSWORD = 'my_smtp_password'  # Must create SMTP Credentials
DEFAULT_FROM_EMAIL = 'myses@sender.com'

对于EMAIL_HOST,选择SMTP Settings

enter image description here


然后,将 Server Name 置于 EMAIL_HOST

enter image description here


EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'

对于 EMAIL_HOST_USEREMAIL_HOST_PASSWORD,您必须创建 SMTP Credentials

Create My SMTP Credentials按钮:

enter image description here


鉴于SMTP Credentials

enter image description here


然后,将 SMTP Credentials 输入如下:

EMAIL_HOST_USER = 'AKIAWP3TMGZN4OZH5H37'
EMAIL_HOST_PASSWORD = 'BB6dufiw96jJHUTrowXI8R4gcyOI+t1+Skbi51cdHYhV'

*(我已经删除了这些SMTP Credentials


此外,对于 DEFAULT_FROM_EMAIL,请输入一个 verified domainemail address,无论您是否帐户在 sandbox 中。

对于下面的可变域sender.com

enter image description here


以下三个是有效的:(仅使用三个中的一个)

DEFAULT_FROM_EMAIL = 'abc@sender.com' # OR
DEFAULT_FROM_EMAIL = 'test@sender.com' # OR
DEFAULT_FROM_EMAIL = 'myses@sender.com'

但是下面这两个无效:(这些给你错误)

*格式必须是something@sender.com !!

DEFAULT_FROM_EMAIL = 'sender.com' 
DEFAULT_FROM_EMAIL = '@sender.com'

然后,对于下面的可变2 email addresses

enter image description here


仅使用以下两种中的一种:

DEFAULT_FROM_EMAIL = 'hello@gmail.com' # OR
DEFAULT_FROM_EMAIL = 'world@outlook.com'