【发布时间】:2015-08-11 08:32:35
【问题描述】:
我正在尝试使用我在 Sendgrid 上创建的模板。我想要做的是,使用我在 Sendgrid 上创建的模板发送电子邮件(替换替换标签)。
这是我尝试过的 -
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 添加了确切的代码。确切的代码只是添加了
set_html和set_text。 -
请注意,较新版本的 python sendgrid 库现在使用
sendgrid.SendGridAPIClient。