Sendgrid允许在发送电子邮件时指定唯一的参数。这些参数可以用于事件webhook集成以识别电子邮件doc。
我在django中有一段代码使用django.core.mail.EmailMultiAlternatives
通过SendGrid发送电子邮件。如果可能的话,我想指定上面提到的唯一参数。到目前为止,我尝试使用custom_args
字段
email.custom_args = {'test_arg': 'value'}
但这似乎不起作用。我看到有一个django-sendgrid module,但如果可能的话,我宁愿不必重写现有的代码库。
3条答案
按热度按时间ctehm74n1#
我不使用SendGrid,但看起来
Unique Arguments
是电子邮件headers
,根据文档:电子邮件消息,您可以添加headers
,例如:7rtdyuoh2#
您是否尝试过使用SendGrid Python Library?
术语
custom_args
是特定于Web API v3 Mail Send的,因此将其添加到SMTP消息中是行不通的。Web v3 API调用比SMTP事务更快、功能更全面,但它是新一代的调用,并且有一些更新的词汇。如果你需要通过SMTP发送,你需要在X-SMTPAPI header中使用术语
unique_args
,这将允许这些key:值被附加到与该发送中生成的消息相关的所有事件中。xtfmy6hx3#
我使用Python和Django来配置通过SendGrid发送消息:https://docs.sendgrid.com/for-developers/sending-email/django
正如其他人所提到的,匹配事件webhook和以前发送的邮件的最好方法是在发送邮件时添加一个唯一标识符。为此,您需要使用带有
unique_args
键/值的X-SMTPAPI
头。正确配置此头非常重要,否则邮件将被拒绝。两个有用的链接:基于此文档,我的实现如下所示:
然后,当发送webhook时,我会得到如下所示的消息ID: