ホームページ >バックエンド開発 >Python チュートリアル >Python の smtplib.sendmail() を使用して複数の受信者に電子メールを送信するにはどうすればよいですか?

Python の smtplib.sendmail() を使用して複数の受信者に電子メールを送信するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-26 05:28:02629ブラウズ

How to Send Emails to Multiple Recipients Using Python's smtplib.sendmail()?

Python smtplib を使用して複数の受信者に電子メールを送信する

Python の smtplib.sendmail を利用して複数の受信者に電子メールを送信しようとすると、多くの場合、問題が発生します。電子メール ヘッダーで複数のアドレスを指定しているにもかかわらず、最初の受信者のみがメッセージを受信します。

これは、email.Message モジュールと smtplib.sendmail() 関数の間で期待される形式の相違から発生します。 email.Message モジュールはヘッダーでカンマ区切りの電子メール アドレスを受け入れますが、sendmail() にはアドレスのリストが必要です。

smtplib.sendmail を使用して複数の受信者に効率的に電子メールを送信するには、次の手順に従います。

  1. email.MIMEMultipart モジュールを使用して電子メール メッセージを作成します。
  2. 複数の電子メール アドレスが含まれるようにヘッダー フィールド (「From」、「To」、「Cc」) をカンマで区切って設定します。
  3. sendmail() 関数の "To" パラメータを受信者の電子メール アドレスのリスト (カンマ区切りのヘッダー フィールドを分割することで取得可能) に設定します。
  4. "From" パラメータを次のように設定します。送信者の電子メール アドレス。
  5. email.MIMEText モジュールを使用して電子メール本文を作成します。電子メール メッセージに本文を添付します。
  6. SMTP サーバーへの接続を設定し、sendmail() を使用して電子メールを送信します。

smtplib を使用して複数の受信者に電子メールを送信するサンプル コード.sendmail:

<code class="python">from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
import smtplib

msg = MIMEMultipart()
msg["Subject"] = "Example"
msg["From"] = "sender@example.com"
msg["To"] = "recipient1@example.com,recipient2@example.com,recipient3@example.com"
msg["Cc"] = "cc1@example.com,cc2@example.com"
body = MIMEText("example email body")
msg.attach(body)
smtp = smtplib.SMTP("mailhost.example.com", 25)
smtp.sendmail(msg["From"], msg["To"].split(",") + msg["Cc"].split(","), msg.as_string())
smtp.quit()</code>

以上がPython の smtplib.sendmail() を使用して複数の受信者に電子メールを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。