Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 捕获EmailMultiAlternations django中的smtp异常_Python_Django_Email_Smtplib - Fatal编程技术网

Python 捕获EmailMultiAlternations django中的smtp异常

Python 捕获EmailMultiAlternations django中的smtp异常,python,django,email,smtplib,Python,Django,Email,Smtplib,我正在编写一个管理命令,我将向多个收件人发送电子邮件。我想做一个日志,在那里我可以判断邮件是否成功发送给收件人。到目前为止,我能够运行这么多代码 from django.core.mail import EmailMultiAlternatives from smtplib import SMTPException try: msg = EmailMultiAlternatives(data['subject'], data['text_content'], data[

我正在编写一个管理命令,我将向多个收件人发送电子邮件。我想做一个日志,在那里我可以判断邮件是否成功发送给收件人。到目前为止,我能够运行这么多代码

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()'''

我现在有点困了。我故意将错误的收件人电子邮件放入
数据['recipient_list']
,但仍然无法捕捉到错误。我不确定我做错了什么。在django中捕获smtp异常的正确方法是什么?

这种方法不起作用。SMTP服务器将发送电子邮件,无论该电子邮件是否存在。稍后您可能会收到到收件箱的反弹电子邮件,但情况不同

我认为这应该验证电子邮件地址语法,这就是你所能做的。您还可以利用send()返回值,即发送的电子邮件数