【问题标题】:send email to bcc and cc in django在 django 中向密件抄送和抄送发送电子邮件
【发布时间】:2013-06-08 12:09:03
【问题描述】:

views.py

if 'send_email' in request.POST:
    subject, from_email, to = 'Parent Incident Notification',user.email, person.parent_email
    html_content = render_to_string('incident/print.html',{'person':person,
                                                                 'report':report,
                                                                  }) 
    text_content = strip_tags(html_content) 
    msg = EmailMultiAlternatives(subject, text_content, settings.DEFAULT_FROM_EMAIL, [to])
    msg.attach_alternative(html_content, "text/html")
    msg.send()

以上是发送电子邮件的视图。通过这种方式,我可以将html内容与邮件一起发送,它将电子邮件单独发送到[to]地址,我也想再做一个密件抄送和抄送。我经历了文档中的Emailmessage objects。我不知道如何包含密件抄送和抄送来改变我的观点。

需要帮助。

谢谢

【问题讨论】:

    标签: django django-models django-forms django-views


    【解决方案1】:

    EmailMultiAlternativesEmailMessage 的子类。初始化消息时可以指定bcccc

    msg = EmailMultiAlternatives(subject, text_content, from_email, [to_email], bcc=[bcc_email], cc=[cc_email])
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        我需要以 HTML 内容为正文的密件抄送,这是我的实现

        from django.core.mail import EmailMessage
        
        email = EmailMessage(
                    'Subject',
                    'htmlBody',
                    'from@email.com',
                    [to@email.com],
                    [bcc@email.com],
                    reply_to=['reply_to@email.com']
                )
         email.content_subtype = "html"
         email.send(fail_silently=True)
        

        更多详情请咨询Django docs

        【讨论】:

          【解决方案4】:

          您可以使用文本字段

          class Client(models.Model):
                  bcc = models.TextField(null=True, blank=True)
          

          像这样输入多封电子邮件(bcc 字段):test1@example.com,test2@example.com

          from django.core.mail import EmailMessage
          
          clients= Client.objects.all()
          for client in clients:
              subject = client.subject
              content = client.body
              contact_email = client.msg_from
              to = client.msg_to
              bcc_mails = client.bcc
              bcc = bcc_mails.split(",")
              bcc_mails.replace('"', "")
              email = EmailMessage(
                  subject,
                  content,
                  contact_email,
                  [to],
                  bcc,
                  headers={'Reply-To': contact_email}
              )
          

          【讨论】:

            猜你喜欢
            • 2012-03-20
            • 1970-01-01
            • 1970-01-01
            • 2020-10-10
            • 1970-01-01
            • 2013-01-01
            • 2021-12-15
            • 1970-01-01
            相关资源
            最近更新 更多