Django SendGrid 如何在 EmailMultiAlternatives 邮件对象中传递 unique_args
Django SendGrid how to pass unique_args in EmailMultiAlternatives mail object
SendGrid 提供了传递unique_args with email so that to identify the email in the Event webhook.的能力
但问题是我无法弄清楚如何使用 Django 中的电子邮件发送这些 unique_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包
from django.core.mail import EmailMultiAlternatives
from smtpapi import SMTPAPIHeader
smtp_header = SMTPAPIHeader()
smtp_header.set_unique_args({'customerAccountNumber': '12345','activationAttempt': '1'})
subject, from_email, to = 'hello', 'hello@FROM.com', 'AABC@TO.NET'
text_content = 'This is message.'
msg = EmailMultiAlternatives(
subject,
text_content,
from_email,
[to,],
headers={'X-SMTPAPI': smtp_header.json_string()},
)
msg.send()
SendGrid 提供了传递unique_args with email so that to identify the email in the Event webhook.的能力 但问题是我无法弄清楚如何使用 Django 中的电子邮件发送这些 unique_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
from django.core.mail import EmailMultiAlternatives
from smtpapi import SMTPAPIHeader
smtp_header = SMTPAPIHeader()
smtp_header.set_unique_args({'customerAccountNumber': '12345','activationAttempt': '1'})
subject, from_email, to = 'hello', 'hello@FROM.com', 'AABC@TO.NET'
text_content = 'This is message.'
msg = EmailMultiAlternatives(
subject,
text_content,
from_email,
[to,],
headers={'X-SMTPAPI': smtp_header.json_string()},
)
msg.send()