Flask-Mail を使用して電子メールを送信する方法
インターネットの発展に伴い、電子メールは人々がコミュニケーションを図るための重要なツールになりました。 Web アプリケーションを開発する場合、ユーザーが正常に登録した後にウェルカム メールを送信したり、ユーザーがパスワードを忘れたときにパスワード リセット メールを送信したりするなど、特定のシナリオでメールを送信する必要がある場合があります。 Flask はシンプルで柔軟な Python Web フレームワークであり、Flask-Mail は Flask フレームワークでメールを送信するための拡張ライブラリです。この記事では、Flask-Mail を使用してメールを送信する方法を紹介します。
まず、Flask-Mail を使用する前に、Flask-Mail ライブラリをインストールする必要があります。コマンド ラインで次のコマンドを使用してインストールします。
pip install Flask-Mail
インストールが完了したら、Flask アプリケーションでメール サーバーの関連情報 (アドレス、ポート、ユーザー名、メールサーバーのパスワードなど。通常は、Flask アプリケーションの構成ファイルで構成できます。以下は設定ファイルの例です:
# 邮件服务器配置 MAIL_SERVER = 'smtp.exmail.qq.com' MAIL_PORT = 465 MAIL_USE_SSL = True MAIL_USERNAME = 'your_email@example.com' MAIL_PASSWORD = 'your_password' MAIL_DEFAULT_SENDER = 'your_email@example.com'
設定ファイルを取得したら、その設定を Flask アプリケーションにロードする必要があります。以下は単純な Flask アプリケーションの例です:
from flask import Flask from flask_mail import Mail app = Flask(__name__) app.config.from_pyfile('config.cfg') # 初始化Flask-Mail mail = Mail(app) @app.route('/') def index(): # 发送邮件 mail.send_message(subject='Hello', body='This is a test email.', recipients=['recipient@example.com']) return 'Email sent!' if __name__ == '__main__': app.run()
上の例では、最初に from flask_mail import Mail
によって Flask-Mail ライブラリをインポートし、Mail インスタンスを作成しました郵便###。次に、
app.route('/') の view 関数で
mail.send_message() メソッドが呼び出され、電子メールが送信されます。
send_message()このメソッドは、電子メールの件名、電子メール本文、受信者リストの 3 つのパラメーターを受け入れます。実際のニーズに応じて調整できます。
メソッドに加えて、Flask-Mail は、単純な電子メールを送信するための send()
メソッドなど、電子メールを送信するための他のメソッドも提供します。 send_template()
メソッドは、テンプレートに基づいて電子メールを送信するために使用されます。上記の例を基にして、さらに拡張することができます。 実際のプロジェクトでは、電子メールの配信が失敗した場合のエラー処理など、いくつかの特殊な状況に対処する必要がある場合もあります。この目的のために、Flask-Mail にはいくつかの設定項目も用意されています。
メソッド呼び出しの後に try-Except ステートメントを追加して、例外をキャッチできます。以下に例を示します。 要約すると、Flask-Mail を使用して電子メールを送信するのは非常に簡単です。 Flask アプリケーションでいくつかの設定を行い、Flask-Mail が提供するメソッドを呼び出して電子メールの送信を完了するだけです。 Flask-Mailは、単純なメール送信方法だけでなく、テンプレートに基づいたメール送信にも対応しており、設定項目やエラー処理の仕組みも豊富で、メール機能の実装が容易です。この記事があなたのお役に立ち、Web アプリケーション開発時に Flask-Mail を使って簡単にメールを送信できるようになれば幸いです。 以上がFlask-Mailを使用してメールを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。try:
mail.send_message(subject='Hello',
body='This is a test email.',
recipients=['recipient@example.com'])
return 'Email sent!'
except Exception as e:
return str(e)