【问题标题】:Send a mail from Django via Amazon SES通过 Amazon SES 从 Django 发送邮件
【发布时间】:2019-12-20 16:08:39
【问题描述】:

我正在尝试通过 Amazon SES 从我的 django 应用程序发送邮件,但我不断收到以下错误:

smtplib.SMTPSenderRefused: (501, b'Invalid MAIL FROM address 提供', '=?utf-8?q?AKIAWMDVL5UEWNT3ODOO?=')

这些是我正在使用的设置:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'email-smtp.ap-south-1.amazonaws.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'smtp credential key'
EMAIL_HOST_PASSWORD = 'smtp credential password'
EMAIL_USE_TLS = True

这是代码:

class CompanyCreateAPIView(APIView):
    permission_classes = (permissions.AllowAny,)
    def post(self, request):
        email = request.data["company_email"]
        phone = request.data["company_phone"]

        def random_with_N_digits(n):
            range_start = 10 ** (n - 1)
            range_end = (10 ** n) - 1
            return randint(range_start, range_end)

        code = random_with_N_digits(4)

        subject = 'Comapny Creation'
        message = 'Company Code is {}'.format(code)
        email_from = settings.EMAIL_HOST_USER
        recipient_list = [str(email), ]
        send_mail(subject, message, email_from, recipient_list)

我尝试更改端口但它不起作用,我已在 SES 中验证了电子邮件地址。我缺少什么?

【问题讨论】:

  • 你能检查一下,email_from 中的值是多少?错误说 email_from 不是有效的电子邮件,所以首先要检查。
  • @OsamaKhalid 我做了,它在设置中指的是EMAIL_HOST_USER = 'smtp credential key',现在我将其更改为我经过验证的电子邮件地址,但它仍然给出smtplib.SMTPDataError: (554, b'Message rejected: Email address is not verified 错误
  • 是的,我认为您应该再次检查地址是否已验证,请尝试再次发送验证电子邮件。或者可能是一个简单的拼写检查。由于错误消息清楚地表明它没有经过验证。
  • 电子邮件地址(即收件人和发件人)均已验证
  • 不用担心。你能告诉我 EMAIL_HOST_USER 和地址列表吗?它在哪里说它已验证?

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


【解决方案1】:

您可能不想将 SMTP 凭据用户名用作“电子邮件发件人”值。这应该是人类可读的东西,无论您希望收件人看到电子邮件来自的地址。该地址和/或域也需要在 SES 设置中列入白名单。

在 Django 的 settings.py 中,将 DEFAULT_FROM_EMAIL 设置为该地址:

DEFAULT_FROM_EMAIL = 'info@example.com'

不要将email_from 作为显式设置传递给send_mail,除非您想为特定电子邮件覆盖它(例如,对于某些电子邮件,从info@... 发送,对于其他类型的电子邮件,从newsletter@... 发送)。

【讨论】:

    猜你喜欢
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    相关资源
    最近更新 更多