【发布时间】:2019-10-31 00:24:38
【问题描述】:
我创建了一个函数,当重定向到特定 url 时会向特定用户发送邮件。它一直工作到今天。但是,今天当它被重定向到 url 时,电子邮件显示在终端中,而不是在接收者的收件箱中。我在代码中附上了邮件功能和设置。
views.py
def mail(request,pk):
pr = UserProfile.objects.get(pk=pk)
subject = "Greetings"
msg = "Congratulations for your success"
to = 'urvi0728@gmail.com'
res = send_mail(subject, msg, settings.EMAIL_HOST_USER, [to])
if(res == 1):
msg = "Mail Sent Successfuly"
else:
msg = "Mail could not be sent"
return HttpResponse(msg)
settings.py
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '*****@gmail.com'
EMAIL_HOST_PASSWORD = '*********'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
【问题讨论】:
-
如果电子邮件显示在控制台中,听起来好像你有
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'而不是EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'。我会将from django.conf import settings; print(settings.EMAIL_BACKEND)添加到mail方法中以检查该值的真正含义。 -
您已标记您的问题
django-mailer。你真的在使用django-mailer吗?如果是这样,请在您的问题中添加更多相关信息。 -
在控制台中它显示 django.core.mail.backends.console.EmailBackend 虽然我在设置中将它设置为 smtp.EmailBackend。
-
那么你需要找出你在哪里设置了
django.core.mail.backends.console.EmailBackend。也许您在设置中进一步重复EMAIL_BACKEND,或者您没有保存/签入/部署您的更改,或者您在切换到 smtp 后端后没有重新启动服务器。
标签: django django-mailer