2017-01-04 13 views
1

私のアプリケーションの別の場所で電子メールメッセージを送信しています。Django 1.10で電子メール送信の例外を捕捉する方法

電子メールの送信中にエラーが発生した場合、エラーページがエンドユーザーに表示されないようにするのに役立ちます。このエラーをキャッチしてログを作成したり、カスタム関数を実行することは可能ですか?

注: 私はPython 3.5でDjango 1.10.4を使用しています。

答えて

4

それはsend_emailhttps://docs.djangoproject.com/en/1.10/topics/email/#send-mail)のためのDjangoのドキュメントに言うように:fail_silently

:ブール。 Falseの場合、send_mailはsmtplib.SMTPExceptionを送出します。 SMTPExceptionのサブクラスである可能性のある例外のリストについては、smtplib docsを参照してください。

だからあなたが行うことができます。

from smtplib import SMTPException 

try: 
    msg.send() 
except SMTPException as e: 
    print('There was an error sending an email: ', e) 
関連する問題