models.py
class FollowerEmail(models.Model):
report = models.ForeignKey(Report)
email = models.CharField('Email', max_length=100)
views.py
def what(request):
""""""
follower = FollowerEmail.objects.filter(report=report)
list=[]
for email in follower:
list.append(email.email)
""""""""
if 'send_email' in request.POST:
subject, from_email, to = 'Notification',user.email, person.parent_email
html_content = render_to_string('report/print.html',{'person':person,
'report':report,
'list':list,
})
text_content = strip_tags(html_content)
msg = EmailMultiAlternatives(subject, text_content, from_email, [to],bcc=[list], cc=['monKarek@live.com'])
msg.attach_alternative(html_content, "text/html")
msg.send()
以上是我的view.py发送电子邮件,电子邮件正在发送到“to”地址正确。问题是与bcc标签。我正在从FollowerEmail表中取电子邮件并制作一个列表。我正在将该列表传递给bcc ,因为bcc电子邮件ID列表会很大,将超过3个。
如果列表中有超过2个电子邮件ID,则应用程序不发送邮件,如果是两个或一个,则应用程序正在发送邮件。可能是什么问题
由于
答案 0 :(得分:1)
你有一个错字。
list=[]
for email in follower:
list.append(email.email)
此时list
已经是Python list
(你应该重命名这个变量,因为这很混乱而且不是一个好习惯)。
然后你用它作为:
EmailMultiAlternatives(..., bcc=[list], ...)
这就是拼写错误。您传递的是包含列表项的列表,而您应该只传递一个字符串列表:
EmailMultiAlternatives(..., bcc=list, ...)