我正在尝试开发一个 Django 网站,并尝试启用 Django 的标准密码重置服务。
我的网站托管在 AWS EC2 上,所以我想使用 AWS SES 作为邮件服务。但是,我无法使 smtp 连接正常工作。您有什么解决以下错误的想法吗:
异常类型:SMTPSenderRefused 异常信息:(530,b'需要身份验证','example@example.com')
我已查看了以下内容,但如果可能的话,我更倾向于使用 Django 内置的电子邮件后端:
- https://github.com/django-ses/django-ses
- https://github.com/azavea/django-amazon-ses
- Amazon SES SMTP with 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-ses第三方库使django电子邮件发送工作正常,但我仍然无法弄清楚为什么标准后端无法通过SMTP工作。
我认为我的代码肯定有问题,因为我甚至从AWS SES切换到Zoho邮件客户端,仍然收到相同的530身份验证错误。
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 = ''