我需要将某封电子邮件发送到许多不同的地址,一次发送一个收件人。它有一个附件。
到目前为止,我已经这样编程了:
1)为每个邮件地址创建一个 Thread 对象(循环遍历收件人列表)。
2) 在每个 Thread 对象中,创建 MIMEMultipart() 消息。
3) 在每个Thread对象中,通过smtplib.SMTP("smtp.gmail.com:587")发送邮件
一切正常。
这种方法的问题在于,必须为每封电子邮件单独附加附件。有没有办法只附加一次?全局 MIMEMultipart() 消息是不可能的,因为不同的线程必须更改它(以更改收件人的地址)。
最佳答案
只是不要发送单独的电子邮件。唯一有效的原因是每个收件人看不到所有其他电子邮件地址。密件抄送 (BCC) 就是为此而发明的。
参见this ,例如。
您需要了解的另一件事是,大多数电子邮件提供商都会采取一些措施来抑制垃圾邮件。这些技术各不相同,但发送到太多无法到达的地址会受到警告。同样,有些会限制相同电子邮件的数量。这因提供商而异。
他们为什么要这样做?因为主要参与者基本上都同意群发电子邮件是需要抑制的东西。所以他们“通过拒绝或阻止违法者来互相防范”。
祝你好运。从概念上讲,它非常简单,如果您的音量较低且电子邮件地址良好,则应该没问题。 删除不良电子邮件!
当您收到无法送达的邮件的回复时,请从列表中删除这些地址。
关于Python - 在不同的线程上发送带有相同附件的多封电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29289518/