私はpython /フラスコを使用しています(フラスコメールからMAILをインポートしています)。ここに私のコードの小さなモジュールがあります。python /フラスコでメールを送信中にネット接続をチェックする
token = s.dumps(email, salt='email-confirm')
t = url_for('confirm_email', token=token, _external=True)
msg = Message('Confirm Email', sender='[email protected]', recipients=[email], html=render_template('mail.html', text=t))
link = url_for('confirm_email', token=token, _external=True)
msg.body = 'Your link is {}'.format(link)
mail.send(msg)
インターネット接続がオフになっているとき、私は、コードを実行すると、私が手:エラー「socket.gaierror名前解決で[errnoを-3]一時的な障害」を。この例外をキャッチし、「あなたがインターネットに接続していることを確認する」などの何かを表示する方法を教えてください。
except urllib2.URLError as err:
return False
上記のような例外(特定のURLへのアクセスが試行された場合)を捕まえるには、いくつかの方法が役立ちます。では、代わりにFLASKでMAILを使用しているときに、その代わりになるものは何ですか?
また、後で(インターネットが接続されていない場合でも)同様の問題に取り組む必要があるため、より一般的な解決法を提供できる場合は非常に感謝します。
ありがとうございます。
私は理解していませんどのような例外をキャッチするとあなたの問題は...あなたはPythonで例外をキャッチする方法を知っていますか?また、このエラーが発生した場合は、ユーザーではなく接続を失ったサーバーなので、「インターネットに接続していることを確認する」とユーザーに指示することはまったく意味がありません。 –
私は例外をキャッチする方法を知っていますが、この例外はありません。また、ええ、その場合、テキストは別のものかもしれません。基本的には、そのエラーの代わりに何が起こるのかを制御したいと思っています。 –
実際にあなたのサーバーの接続がダウンしている場合、あなたのユーザーはHTTPResponseをまったく取得しない可能性があります...ちょうどと言ってください。 –