Я создал шаблон электронной почты в SendGrid, и у меня первая строка в электронном письме как Hi -name-
Я хочу использовать подстановку в разделе персонализации API, чтобы заменить -name- в первой строке электронного письма, например, Привет Тед.
Я закодировал эту функцию в Python 3.7, и когда я звоню по электронной почте, не добавляя подстановку, она возвращает успех, но когда я добавляю подстановку, она возвращает
python_http_client.exceptions.BadRequestsError: HTTP Error 400: Bad Request
Код Python:
import sendgrid
from sendgrid.helpers.mail import Email, Mail, Personalization, Substitution
import urllib
import json
email=test@test.com
name="Ted"
def personalize(email, name):
personalization = Personalization()
personalization.add_to(Email(email, name))
personalization.add_substitution(Substitution("-name-", name))
return personalization
def main():
sg = sendgrid.SendGridAPIClient(apikey="****")
mail = Mail()
mail.from_email = Email("noreply@test.com", "Team")
mail.template_id = "****"
mail.add_personalization(personalize(email, name))
try:
response = sg.client.mail.send.post(request_body=mail.get())
print(response)
except urllib.error.HTTPError as e:
print(e.read())
main()