使用Python 的smtplib 向多個收件人高效發送電子郵件
許多開發人員在使用Python 的smtplib 庫向多個收件人在發送電子郵件時面臨挑戰。使用 smtplib 的 sendmail(to_addrs, msg) 以及電子郵件地址清單作為 to_addrs 參數的傳統方法並未產生預期的結果。相反,只有第一個收件者會收到電子郵件。
問題的癥結在於 smtplib 和 email.Message 模組的預期輸入格式之間的差異。為了確保成功發送給多個收件人,電子郵件(msg) 中的「To」、「Cc」和「Bcc」標頭應指定為以逗號分隔的電子郵件地址的字串,例如:
<code class="python">msg = MIMEMultipart() msg["To"] = "[email protected],[email protected],[email protected]" msg["Cc"] = "[email protected],[email protected]"</code>
但是,sendmail() 的to_addrs 參數需要一個電子郵件地址清單。為了滿足此要求,請將逗號分隔的字串拆分為列表,如下列程式碼所示:
<code class="python">smtp.sendmail(msg["From"], msg["To"].split(",") + msg["Cc"].split(","), msg.as_string())</code>
透過遵守這些準則,開發人員可以利用smtplib 的強大功能有效地將電子郵件發送給多個收件人,確保所有預期各方都收到預期訊息。
以上是如何使用Python的smtplib有效率地向多個收件者發送電子郵件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!