400 Error Bad Request Dynami c Шаблоны с заменами не работают в Sendgrid для Python - PullRequest
0 голосов
/ 16 июня 2020

Проблема

Я пытаюсь отправить несколько электронных писем с использованием шаблона Dynami c, причем каждое электронное письмо имеет свои собственные уникальные замены с использованием класса Mail Helper. Если я не включаю подстановки, то код работает отлично, и письма доставляются, но как только я включаю подстановку, я получаю «HTTP Error 400: Bad Request». Я использую виртуальную среду и запускаю ее в своем приложении Flask. Я установил sendgrid с помощью «pip install sendgrid» и обновил его до последней версии.

Код

to_emails = [
        To(
            email='person1@gmail.com',
            name='person1',
            substitutions={
                '-unsubscribeLink-':'https://www.example1.com'
            }
            ),
        To(
            email='person2@gmail.com',
            name='person2',
            substitutions={
                '-unsubscribeLink-':'https://www.example2.com'
            }
            ),
    ]

    message = Mail(
                from_email=From('support@website.com','Website'),
                to_emails=to_emails,
                is_multiple=True)

    message.template_id = 'd-c8d1a24b4539459b831407e2562045a9'
    try:
        sg = SendGridAPIClient('API KEY')
        response = sg.send(message)
        print(response.status_code)
        print(response.body)
        print(response.headers)
    except Exception as e:
        print(str(e))

Исключение

HTTP Error 400: Bad Request

Технические детали

sendgrid- python версия: я установил с помощью «pip install sendgrid», и его версия - 6.3.1, поэтому я не думаю, я использую sendgrid- python. python версия: Python 3.6.7

Я попробовал обновить, и вот что выводится:

pip install sendgrid --upgrade

Requirement already up-to-date: sendgrid in ./p37ve/lib/python3.6/site-packages (6.3.1)
Requirement already satisfied, skipping upgrade: python-http-client>=3.2.1 in ./p37ve/lib/python3.6/site-packages (from sendgrid) (3.2.7)
...