Python の smtplib を使用して複数の受信者に電子メールを送信する方法
smtplib モジュールを使用して複数の受信者に電子メールを送信するには、
この問題は、email.Message モジュールの "To" ヘッダーに複数のアドレスを設定するときに発生します。ヘッダーにはカンマ区切りの電子メール アドレスが含まれている必要がありますが、smtplib.sendmail() 関数では受信者のリストが必要です。
これを解決するには、次の手順が必要です。
<code class="python">msg = MIMEMultipart()</code>
<code class="python">msg["To"] = "[email protected],[email protected],[email protected]"</code>
<code class="python">to_addrs = msg["To"].split(",")</code>
<code class="python">smtp = smtplib.SMTP("mailhost.example.com", 25) smtp.sendmail(msg["From"], to_addrs + msg["Cc"].split(","), msg.as_string())</code>
<code class="python">smtp.quit()</code>
この方法では、「To」ヘッダーと「Cc」ヘッダーで指定されたすべての受信者に電子メールが送信されます。あるいは、以下に示すように、MIMEText() を使用してより簡単な解決策を見つけることもできます。
<code class="python">import smtplib from email.mime.text import MIMEText s = smtplib.SMTP('smtp.uk.xensource.com') s.set_debuglevel(1) msg = MIMEText("""body""") sender = '[email protected]' recipients = ['[email protected]', '[email protected]'] msg['Subject'] = "subject line" msg['From'] = sender msg['To'] = ", ".join(recipients) s.sendmail(sender, recipients, msg.as_string())</code>
このバージョンでは、単一の SMTP 接続を使用して、指定された受信者に電子メールを送信します。
以上がPython の smtplib モジュールを使用して複数の受信者に電子メールを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。