使用 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中文网其他相关文章!