Python - 在不同的线程上发送带有相同附件的多封电子邮件

标签 python multithreading email smtp

我需要将某封电子邮件发送到许多不同的地址,一次发送一个收件人。它有一个附件。

到目前为止,我已经这样编程了:

1)为每个邮件地址创建一个 Thread 对象(循环遍历收件人列表)。

2) 在每个 Thread 对象中,创建 MIMEMultipart() 消息。

3) 在每个Thread对象中,通过smtplib.SMTP("smtp.gmail.com:587")发送邮件

一切正常。

这种方法的问题在于,必须为每封电子邮件单独附加附件。有没有办法只附加一次?全局 MIMEMultipart() 消息是不可能的,因为不同的线程必须更改它(以更改收件人的地址)。

最佳答案

只是不要发送单独的电子邮件。唯一有效的原因是每个收件人看不到所有其他电子邮件地址。密件抄送 (BCC) 就是为此而发明的。

参见this ,例如。

您需要了解的另一件事是,大多数电子邮件提供商都会采取一些措施来抑制垃圾邮件。这些技术各不相同,但发送到太多无法到达的地址会受到警告。同样,有些会限制相同电子邮件的数量。这因提供商而异。

他们为什么要这样做?因为主要参与者基本上都同意群发电子邮件是需要抑制的东西。所以他们“通过拒绝或阻止违法者来互相防范”。

祝你好运。从概念上讲,它非常简单,如果您的音量较低且电子邮件地址良好,则应该没问题。 删除不良电子邮件!

当您收到无法送达的邮件的回复时,请从列表中删除这些地址。

关于Python - 在不同的线程上发送带有相同附件的多封电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29289518/

相关文章:

同步到 Exchange 帐户时,iOS 无法更新日历事件

python - 如何用 Playwright Python 异步打开多个页面?

python - 如何在 strptime 中使用俄语日期字符串

multithreading - 有没有办法让管道从多个来源获取数据而不阻塞其中任何一个?

python - python 是并发编程的重要选择吗

html - HTML电子邮件的所有CSS css都可以放在头部吗?

c# - 从 C# 程序填充电子邮件模板

python - 在 Komodo 中运行 openpyxl python 脚本时出现 PermissionError [errno 13]

python - 无需导入库和使用集即可删除列表中重复项的最快方法

c# - 如何从主线程的后台线程调用方法?