微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django:在带有 sengrid 的电子邮件中添加 cc 返回 HTTP 错误 400:错误请求

如何解决Django:在带有 sengrid 的电子邮件中添加 cc 返回 HTTP 错误 400:错误请求

我正在关注 this link 以使用 SendGrid 从 Django 发送电子邮件。如果我在 ccto_email 中的电子邮件地址相同,它会返回 HTTP 错误 400:错误请求。但如果电子邮件地址不同,它就可以正常工作。以前有人解决过这个问题吗?无论电子邮件地址是相同还是不同,我都需要在从 Django 发送电子邮件添加 cc。提前致谢。

sg = SendGridapiclient(development.EMAIL_HOST_PASSWORD)
cc_email = str(ImagingCenter.objects.get(institute_id=user.center_id).email)
from_email = development.DEFAULT_FROM_EMAIL
to_email = to_email
data = {
         "personalizations": [{
                        "to": [{
                            "email": to_email
                        }],"cc": [
                            {
                                "email": cc_email
                            }
                        ],"subject": "CC Email Testing"
                    }
                ],"from": {
                    "email": from_email
                },"content": [
                    {
                        "type": "text/html","value": html_message
                    }
                ]
            }
            response = sg.client.mail.send.post(request_body=data)

解决方法

Sendgrid 不允许在 to、cc 和 bcc 字段中出现重复的电子邮件

这也写在 Sendgrid Personalizations Doc 中:

单个个性化对象中的所有收件人(在 to、cc 或 bcc 字段)将看到相同的电子邮件,如 该个性化中的数据。因此,SendGrid 不允许 在这三个收件人数组中重复电子邮件地址 单一个性化。

另见BadRequest if same email address is in the To & BCC fields. #678

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。