SENDGRID: отправить электронное письмо, используя транзакционный шаблон, используя python? - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь отправить электронное письмо, используя шаблон транзакции, sendgrid.

Я могу отправить простое письмо.

from_email = Email("useremail@gmail.com")
subject = "Welcome"
to_email = Email("toemail@gmail.com")
content = ("text/plane","Text here")
mail = Mail(from_email, subject, to_email, content)

Я создал шаблон, который хочуиспользовать для отправки писем.Как я могу это сделать?

Я использовал параметр template_id и проходил через Mail (), но он не работает.

template_id = "13b8f94f-bcae-4ec6-b752-70d6cb59f932"

Я проверил класс Mail (объект), который имеет selfПараметр ._template_id.Поле в классе Mail () выглядит следующим образом:

if self.template_id is not None:
    mail["template_id"] = self.template_id

Что мне здесь не хватает?

Я просто хочу отправить письмо, используя созданный мной шаблон.

1 Ответ

0 голосов
/ 29 мая 2018

Вы не можете отправить его в качестве параметра.Вы можете установить его как обычный установщик, хотя следующим образом.

mail.template_id = "13b8f94f-bcae-4ec6-b752-70d6cb59f932"

Эту реализацию можно найти в файле mail_example.py в пакете sendgrid

Использование Замена / Персонализация :

#add this code to your method where you have initialized Mail() object
personalization = get_mock_personalization_dict()
mail.add_personalization(build_personalization(personalization))
mail.add_personalization(build_personalization(personalization))

#Example of a Personalization Object
def get_mock_personalization_dict():
    mock_pers = dict()
    mock_pers['substitutions'] = [Substitution("%name%", "Example User"),
                              Substitution("%city%", "Denver")]

#Updates the mail object with personalization variable
def build_personalization(personalization):
    for substitution in personalization['substitutions']:
         personalization.add_substitution(substitution)
...