我正在尝试启动和运行django网站,我正在尝试启用django的标准密码重置服务。
我的网站由AWS EC2托管,所以我想我会将AWS SES用于我的电子邮件服务。但是,我无法让smtp连接工作。有关如何解决以下错误的任何想法:
异常类型:SMTPSenderRefused 例外值:(530,b'Authentication required','example@example.com')
我看过以下内容,但如果可能的话,我宁愿继续使用django的内置电子邮件后端:
电子邮件设置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'
EMAIL_PORT = 587 # (I've also tried 25, 465, & 2587)
EMAIL_HOST_USER = ''
EMAIL_PASSWORD = ''
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'example@example.com' # but my real email address
我的EMAIL_HOST_USER和EMAIL_PASSWORD设置为我通过以下说明获得的SMTP凭据:https://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-credentials.html
此外,我确保按照以下说明验证我的DEFAULT_FROM_EMAIL和我的域:https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html
启用DKIM并更新了我的名称服务器。
真的很感激任何帮助。
更新:
我能够将django电子邮件发送到django-ses第三方库,但我仍然无法弄清楚为什么标准后端无法通过SMTP工作。
我认为我的代码肯定存在问题,因为我将电子邮件客户端从AWS SES切换到Zoho邮件,而且我仍然收到相同的530 Authentication需要的错误。
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.zoho.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'support@example.com'
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'support@example.com'
EMAIL_PASSWORD = ''
答案 0 :(得分:1)
2021:Django-3.2.4
不需要诸如 django-ses
或 django-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
:
然后,将 Server Name
置于 EMAIL_HOST
。
EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'
对于 EMAIL_HOST_USER
和 EMAIL_HOST_PASSWORD
,您必须创建 SMTP Credentials
。
按Create My SMTP Credentials
按钮:
鉴于SMTP Credentials
:
然后,将 SMTP Credentials
输入如下:
EMAIL_HOST_USER = 'AKIAWP3TMGZN4OZH5H37'
EMAIL_HOST_PASSWORD = 'BB6dufiw96jJHUTrowXI8R4gcyOI+t1+Skbi51cdHYhV'
*(我已经删除了这些SMTP Credentials
)
此外,对于 DEFAULT_FROM_EMAIL
,请输入一个 verified domain
或 email address
,无论您是否帐户在 sandbox
中。
对于下面的可变域sender.com
,
以下三个是有效的:(仅使用三个中的一个)
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
,
仅使用以下两种中的一种:
DEFAULT_FROM_EMAIL = 'hello@gmail.com' # OR
DEFAULT_FROM_EMAIL = 'world@outlook.com'