我使用此方法发送大量电子邮件:
def send_mass_html_mail(datatuple, fail_silently=False, user=None, password=None, connection=None):
connection = connection or get_connection(username=user, password=password, fail_silently=fail_silently)
messages = []
for subject, text, html, from_email, recipient in datatuple:
message = EmailMultiAlternatives(subject, text, from_email, recipient)
message.attach_alternative(html, 'text/html')
messages.append(message)
return connection.send_messages(messages)
我希望能够BCC所有人。也就是说,我希望隐藏每个人的电子邮件地址,而不是让所有人都收到收件人的电子邮件。
我尝试将电子邮件设为空白,只是将所有收件人添加到BCC kwargs,但它仍然将所有人的电子邮件放入TO字段。
def send_mass_html_mail(datatuple, fail_silently=False, user=None, password=None, connection=None):
connection = connection or get_connection(username=user, password=password, fail_silently=fail_silently)
messages = []
for subject, text, html, from_email, recipient in datatuple:
message = EmailMultiAlternatives(subject, text, from_email, [], bcc=recipient)
message.attach_alternative(html, 'text/html')
messages.append(message)
return connection.send_messages(messages)
我做错了什么?我是否必须单独发送每封电子邮件?
修改
我结束了迭代收件人列表并分别发送电子邮件。我不知道为什么它不起作用,但我无法承担花费数小时的时间。它适用于我,因为该应用程序一次最多可以向25个人发送电子邮件。
我仍然不知道为什么这样做不起作用。 EmailMultiAlternatives
是否需要TO字段中的内容?我查看了EmailMultiAlternatives
和EmailMessage
源代码,似乎在没有任何人在该字段中发送电子邮件。关于我的代码还有一些问题,但我无法识别出什么。
答案 0 :(得分:2)
您使用的是大写字母BCC。它应该是小写的。我很惊讶当前的代码现在发送任何电子邮件。
message = EmailMultiAlternatives(subject, text, from_email, [], bcc=recipient_list)