Я пытаюсь использовать шаблоны, которые я создал в Sendgrid. Я хочу, чтобы использовать шаблон, который я создал в Sendgrid, для отправки электронной почты (с заменой тегов замещения).Библиотека и шаблоны Sendgrid Python
Вот что я попробовал -
import sendgrid
sg = sendgrid.SendGridClient('<username>', '<password>')
message = sendgrid.Mail()
message.add_to('<to-email-address>')
message.set_subject('My Test Email')
message.add_substitution('customer_link', 'http://my-domain.com/customer-id')
message.add_filter('templates', 'enable', '1')
message.add_filter('templates', 'template_id', '<alphanumeric-template-id>')
message.add_from('<from-email-address>')
status, msg = sg.send(message)
Однако, это дает мне ошибку, что '{"errors":["Missing email body"],"message":"error"}'
. Я попытался добавить следующие строки, но по-прежнему та же ошибка -
message.set_html('')
message.set_text('')
Таким образом, точный код, я использую после использования set_html
является -
import sendgrid
sg = sendgrid.SendGridClient('<username>', '<password>')
message = sendgrid.Mail()
message.add_to('<to-email-address>')
message.set_subject('My Test Email')
message.add_substitution('customer_link', 'http://my-domain.com/customer-id')
message.add_filter('templates', 'enable', '1')
message.add_filter('templates', 'template_id', '<alphanumeric-template-id>')
message.add_from('<from-email-address>')
message.set_html('')
message.set_text('')
status, msg = sg.send(message)
Что я здесь отсутствует? Документация python для библиотеки, похоже, не содержит ничего.
Редактировать - одно из обходных путей, которое я нашел, вытекает из ответа ниже. Я устанавливаю message.set_html(' ')
и message.set_text(' ')
, то есть в основном, дайте пробельную строку. Это странно, но работает для этого случая.
так, что это точный код, который вы используете после добавления 'set_html' и' _TEXT 'части? – fedorqui
@fedorqui добавил точный код. Точный код просто добавляет 'set_html' и' set_text'. – Siddharth
Обратите внимание, что более новые версии библиотеки sendmail для python теперь используют 'sendgrid.SendGridAPIClient' вместо этого. – Ninjakannon