def send_one_mail(request):
send_mail('The subject', 'The body to testing', 'userone@example.com',['usertwo@gmail.com'], fail_silently=False)
return HttpResponse("This mail has sent successfull")
我的settings.py是
EMAIL_USE_TLS = True
EMAIL_HOST = 'mail.example.com'
EMAIL_HOST_USER = 'userone@example.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = 'userone@example.com'
SERVER_EMAIL = 'userone@example.com'
我有一个视图(有效)如上图所示,这里userone@example.com是发件人和usertwo@gmail.com 是接收者。
如何根据发送邮件中的错误进行检查和操作? (我想显示"发生了一些错误"出现此类错误)
如何判断usertwo@gmail.com(reciver)是否存在? (如果无法联系到电子邮件,我想向用户显示该电子邮件不存在)
我在服务器中使用postfix,dovecot等。
答案 0 :(得分:1)
使用fail_silently = False时,您可以选择一些错误。只需将send_mail包装在try / except。
中当我想要更多地控制电子邮件发送时,我完全停止使用django邮件并安装了lamson(lamsonproject.org)。您基本上可以使用它创建自己的邮件服务器,将django orm附加到它上面,并提供有关您的电子邮件发生的详细反馈。如果您在某些电子邮件(如图像)中插入某种可下载内容,那么您甚至可以为图像添加哈希值,并在打开电子邮件时验证这种方式。您也可以使用基于django的电子邮件发送。 Lamson只需更多地控制点击发送按钮后的内容和方式。
答案 1 :(得分:0)
无论如何,我终于使用了以下软件包。
pip install django-mail-queue
这是文档