Sendgrid允许在发送电子邮件时指定唯一参数。这些可用于事件webhook集成,以识别电子邮件doc。
我在django中有一个现有的代码片段,它使用django.core.mail.EmailMultiAlternatives
通过SendGrid发送电子邮件。如果可能的话,我想指定上面提到的唯一参数。到目前为止,我试图使用custom_args
字段
email.custom_args = {'test_arg': 'value'}
但这似乎不起作用。 我看到有一个django-sendgrid module,但如果可能的话,我宁愿不必重新编写现有的代码库。
答案 0 :(得分:1)
我没有使用SendGrid,但看起来Unique Arguments
是电子邮件headers
,而文档emailmessage,您可以添加headers
例如:
from django.core.mail import EmailMultiAlternatives
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={"customerAccountNumber": "55555", },
)
msg.send()
答案 1 :(得分:1)
您是否尝试过使用SendGrid Python Library?
术语custom_args
特定于Web API v3 Mail Send,因此将其添加到您的SMTP邮件将不起作用。 Web v3 API调用比SMTP事务更快,功能更全面,但是是新一代的调用,并且有一些更新的词汇。
如果您需要通过SMTP发送,则需要专门使用X-SMTPAPI header中的unique_args
一词。这将允许将那些key:值附加到与该发送中生成的消息相关的所有事件。