【发布时间】: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