Django 为什么fail_没有捕获异常?它捕获了哪些异常?

Django 为什么fail_没有捕获异常?它捕获了哪些异常?,django,Django,不知怎的,使用django 1.7和默认的电子邮件后端,我得到了一个错误:111连接被拒绝。这是作为异常触发的,即使fail_静默参数为True也是如此 这句话是这样的: return send_mail(subject=u"Bienvenido a Mi CNT!", message=render_to_string('micnt/mail.welcome.txt', context), from_em

不知怎的,使用django 1.7和默认的电子邮件后端,我得到了一个错误:111连接被拒绝。这是作为异常触发的,即使fail_静默参数为True也是如此

这句话是这样的:

    return send_mail(subject=u"Bienvenido a Mi CNT!",
                     message=render_to_string('micnt/mail.welcome.txt', context),
                     from_email=settings.DEFAULT_FROM_EMAIL,
                     recipient_list=[email_address],
                     fail_silently=True,
                     html_message=render_to_string('micnt/mail.welcome.html', context))
我知道如何修复异常(我忘记配置某些参数)。但是,在某些情况下,异常可能是由于其他原因造成的(例如,我正确指定了邮件参数,但服务器停机)

为什么
fail\u不起作用?
静默失败的“范围”是什么?(即,它涵盖哪些错误,以及它将哪些错误传递给调用程序?)

我希望正确涵盖例外情况,而无需:

try:
    return send_mail(...)
except Exception as e:
    # I want to understand what exception types will be triggered here.
    pass

send\u mail
尝试连接到电子邮件服务器(执行
get\u connection
)时,
fail\u静默
仅捕获
SMTPException

我想借此机会了解django源代码,其中包含所有答案: