Я ищу решения для отправки огромного количества писем (сотни тысяч) в Python. У меня есть список получателей (в файле), и я хочу отправить письмо всем им. Я хочу, чтобы каждый из получателей отображался как получатель в заголовке почты, а не как скрытая копия или копия. Что ж, мои решения: отправить отдельное письмо каждому из них, а не письмо всему списку. Я сделал некоторые работы ниже: (я использовал smtplib, threading):
class SendMail(threading.Thread):
def __init__(self, from, to, subject, message):
self.from = from
self.to = to
self.subject = subject
self.message = message
def run(self):
try:
msg = MIMEMultipart('alternative')
msg['Subject'] = self.subject
msg['From'] = self.from
msg['To'] = self.to
msg.attach(MIMEText(self.message , 'html'))
server = smtplib.SMTP()
server.connect('xxxxx', 25)
server.login('cxxxxx', 'yyyyyy')
server.sendmail(self.from, self.to, msg.as_string())
except:
pass
def sendmail():
f = open('recipients','w')
from = "[email protected]"
subject = "hello"
message = "Hello Hello"
for line in f.readlines():
t = SendMail(from, line, subject, message)
t.run()
f.close()
Он работает, но очень медленно (около 6 писем в секунду). Поэтому, пожалуйста, помогите мне сделать это быстрее. Или предложите мне другие решения для этой работы. Большое спасибо!