Django SendGrid 如何在 EmailMultiAlternatives 邮件对象中传递 unique_args

标签 django sendgrid django-email

SendGrid 提供通过 unique_args 的能力带有电子邮件,以便识别 Event webhook. 中的电子邮件 但问题是我无法弄清楚如何在 Django 中使用电子邮件发送这些 un​​ique_args。 这就是我目前正在尝试的方式:

from django.core.mail import EmailMultiAlternatives

header ={
  "unique_args": {
    "customerAccountNumber": "55555",
    "activationAttempt": "1",
    "New Argument 1": "New Value 1",
    "New Argument 2": "New Value 2",
    "New Argument 3": "New Value 3",
    "New Argument 4": "New Value 4"
  }
}

subject, from_email, to = 'hello', 'EXAMPLE@FROM.com', 'EXAMPLE@TO.NET'
text_content = 'This is an important message.'
msg = EmailMultiAlternatives(
subject,
text_content,
from_email,
[to,],
headers=header,
)
msg.send()

最佳答案

好的,所以我终于找到了解决方案。 最后,我想出了如何使用 Django EmailMultiAlternatives 将 unique_args 发送到 SendGrid。这是我的工作解决方案:

    from django.core.mail import EmailMultiAlternatives
    from smtpapi import SMTPAPIHeader
    header = SMTPAPIHeader()
    header.set_unique_args({'customerAccountNumber': '12345','activationAttempt': '1'})

    subject, from_email, to = 'hello', 'EXAMPLE@FROM.com', 'EXAMPLE@TO.NET'
    text_content = 'This is an important message.'
    msg = EmailMultiAlternatives(
        subject,
        text_content,
        from_email,
        [to,],
        headers={'X-SMTPAPI': header.json_string()},
    )
    msg.send()

你还需要通过pip install smtpapi

安装一个smtpapi包

关于Django SendGrid 如何在 EmailMultiAlternatives 邮件对象中传递 unique_args,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64575583/

相关文章:

laravel - 无法使用带有 Laravel 5.4 的 sendgrid 发送电子邮件并发现错误

Django 确认电子邮件。将值从 false 更改为 true

django - 如何使用 django 创建 oauth (REST) API(如 twitter 或 foursquare )?

javascript - Sendgrid node.js 错误 535 错误的用户名/密码

Django,如何使用外键(auth_user)?

asp.net-mvc - 从 Web 配置获取发送网格凭据

django - 群发隐藏收件人的邮件

python - Django send_mail 不适用于 mailgun

Python datetime.today() 在不同的 python 程序中显示不同的时间

database - Django 项目中的每个应用程序是否都有自己的一组数据库表?如果是,可以共享这些表吗?