2015-11-02 29 views
0

Django的Mailgun API是否支持密件抄送?我找不到多少東西,每當我嘗試使用密件抄送(如下所示)時,它都會將密件抄送地址作爲電子郵件發送(使其對所有人都可見)。謝謝!Django Mailgun BCC

the_email = EmailMessage(subject=subject, body=body, from_email=from_email, to=to_email, bcc=("[email protected]",)) 
+0

「Django的Mailgun API」是什麼意思?是否有一些第三方庫正在使用?我發現[django-mailgun](https://github.com/BradWhittington/django-mailgun),該庫[不支持BCC](https://github.com/BradWhittington/django-mailgun/issues/2 )。 – solarissmoke

回答

1

正如上面的solarissmoke所說,django-mailgun不支持BCC。至少默認情況下。如果你進入源代碼,很容易添加密件抄送支持。在從django_mailgun.py文件更改:

recipients = [sanitize_address(addr, email_message.encoding) 
        for addr in email_message.recipients()] 

    try: 

     post_data = [] 
     post_data.append(('to', (",".join(recipients)),)) 

到:

to_recip = [sanitize_address(addr, email_message.encoding) 
        for addr in email_message.to] 

    bcc_recip = [sanitize_address(addr, email_message.encoding) 
        for addr in email_message.bcc] 

    try: 

     post_data = [] 
     post_data.append(('to', (",".join(to_recip)),)) 
     post_data.append(('bcc', (",".join(bcc_recip)),)) 

,瞧,BCC支持。您還可以進行類似於上面的更改以添加cc支持。事實證明,他們只是直讀閱讀收件人,導致密送被刪除,並直接將其添加到列表中。希望這能幫助可能遇到類似問題的其他人。

+0

有charset的問題,它添加到ascii和即時通訊py3上 –