我正在使用sendgrid-python和smtpapi-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"]}')
知道我在忽视什么吗?
答案 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)