django sendgrid отправляет уникальные аргументы - PullRequest
0 голосов
/ 05 июня 2018

Sendgrid позволяет указывать уникальные аргументы при отправке электронных писем.Они могут быть использованы для интеграции событий webhook для идентификации писем doc .

У меня есть существующий фрагмент кода в django, который использует django.core.mail.EmailMultiAlternatives для отправки писем через SendGrid.Я хотел бы указать вышеупомянутые уникальные аргументы, если это возможно.До сих пор я пытался использовать поле custom_args

email.custom_args = {'test_arg': 'value'}

, но это не помогло.Я видел, что есть модуль django-sendgrid , но если это возможно, я бы предпочел не переписывать существующую базу кода.

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Вы пытались использовать библиотеку Python SendGrid ?

Термин custom_args относится к Отправка почты через Web API v3 , поэтому добавьте его в свой SMTPсообщение не будет работатьВызов API Web v3 выполняется быстрее и более полно, чем транзакция SMTP, но это вызов нового поколения и обновленный словарь.

Если вам нужно отправить через SMTP, вам нужноспециально используйте термин unique_args в заголовке X-SMTPAPI .Это позволит этим ключам: значениям быть прикрепленными ко всем событиям, связанным с сообщениями, сгенерированными при этой отправке.

0 голосов
/ 05 июня 2018

Я не использую 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()
...