如何通过x-smtpapi向多个用户发送电子邮件?

时间:2014-10-13 11:55:14

标签: python sendgrid

我正在使用sendgrid-pythonsmtpapi-python库。

sg = sendgrid.SendGridClient('xx', 'xxx', raise_errors=True)
message = sendgrid.Mail()
message.set_subject('yyyy')
with open("../template/s_letter.html", "r") as myfile:
    message.set_html(myfile.read())
message.set_from('xx@xx.org')
message.add_to("xx@xx.com")

header = SMTPAPIHeader()
test_emails = ['xxx@xxx.com', 'xx.xxx@xxx.com']
header.set_tos(test_emails)
message.set_headers(header.json_string())

status, msg = sg.send(message)

我正在尝试设置x-smtpapi标头,以便向多个用户发送相同的电子邮件。 但是我得到了例外。

sendgrid.exceptions.SendGridClientError: (400, '{"message": "error", "errors": ["JSON in headers is valid but incompatible"]}')

知道我在忽视什么吗?

2 个答案:

答案 0 :(得分:0)

SendGrid Python Library实际上已经实现了smptpapi-python并将方法传递给更大的库。因此,message.add_to()header.add_to()。出于这个原因,你应该需要sendgrid-python。您可以按如下方式实施:

sg = sendgrid.SendGridClient('xx', 'xxx', raise_errors=True)
message = sendgrid.Mail()
message.set_subject('yyyy')
with open("../template/s_letter.html", "r") as myfile:
    message.set_html(myfile.read())
message.set_from('xx@xx.org')
test_emails = ['xxx@xxx.com', 'xx.xxx@xxx.com']
message.set_tos(test_emails)

status, msg = sg.send(message)

答案 1 :(得分:0)

这是一个非常晚的回复,但我今天遇到了这个问题,在整天前进后,我得到了一个解决方案,如果有人提出这个问题我将在下面发布。

使用下面的消息Instance使用smtpapi:

message.smtpapi.add_to(test_emails)

相关问题