我正在编写一个管理命令,我将向多个收件人发送电子邮件。我想做一个日志,我可以告诉我邮件是否成功发送给收件人。到目前为止,我能够运行这么多代码
from django.core.mail import EmailMultiAlternatives
from smtplib import SMTPException
try:
msg = EmailMultiAlternatives(data['subject'], data['text_content'], data['from_mail'], data['recipient_list'], bcc=data['bcc_address'])
if data['html_content']:
msg.attach_alternative(data['html_content'], "text/html")
msg.send(fail_silently=False)
except SMTPException as e:
error_code,error_msg = e.smtp_code, e.smtp_error
print error_code, error_msg
'''except Exception as e:
print e
print "==========="
print traceback.print_exc()'''
我现在有点卡住了。我故意在data['recipient_list']
中收到错误的收件人电子邮件,但我仍然无法发现错误。我不确定我做错了什么。什么是纠正在django中捕获smtp异常的方法
答案 0 :(得分:0)
它不会以这种方式工作。无论是否存在此类电子邮件,SMTP服务器都将发送电子邮件。您可能会在稍后收到退回邮件到您的收件箱,但这是不同的情况。
我会说应该验证电子邮件地址语法,这就是你所能做的。您还可以享受send()返回值,即发送的电子邮件数量。