使用 sendgrid & python 添加 header 到邮件
Add header to a mail using sendgrid & python
我正在尝试使用 sendGrid 将 header 添加到邮件中:
这是从官网发送邮件的代码,
string apikey = "......."
sg = sendgrid.SendGridAPIClient( apikey =apikey)
to_email = Email("....@gmail.com")
from_email =Email ("....")
subject= '...'
content=Content('..')
mail =Mail(...)
response = sg.client.mail.send.post(request_body=mail.get())
& 它工作正常,现在添加一个 header 我做了(使用这个:https://github.com/sendgrid/smtpapi-python)
header = SMTPAPIHeader()
header.set_unique_args({'orderNumber':'123456'})
mail.add_header(header)
然后
response = sg.client.mail.send.post(request_body=mail.get())
但我得到:
in get(self)
70 headers = {}
71 for key in self.headers:
---> 72 headers.update(key.get())
73 mail["headers"] = headers
74
AttributeError: 'SMTPAPIHeader' object has no attribute 'get'
我怎么解决这个问题?
是的,确实是通过个性化完成的:
mail.personalizations[0].add_header(Header("..","..."))
response = sg.client.mail.send.post(request_body=mail.get())
试试这个,您可以使用 set_headers
方法为 sendgrid 电子邮件设置 headers。
import sendgrid
sg = sendgrid.SendGridClient("XXXX-UR-API-KEY-XXXXX")
message = sendgrid.Mail()
message.add_to('to@email.com')
message.set_from("from@email.com>")
message.set_subject("email subject")
message.set_html('html body')
message.set_headers({'X-Priority' : '2'}) #<=== To add priority
sg.send(message)
我正在尝试使用 sendGrid 将 header 添加到邮件中:
这是从官网发送邮件的代码,
string apikey = "......."
sg = sendgrid.SendGridAPIClient( apikey =apikey)
to_email = Email("....@gmail.com")
from_email =Email ("....")
subject= '...'
content=Content('..')
mail =Mail(...)
response = sg.client.mail.send.post(request_body=mail.get())
& 它工作正常,现在添加一个 header 我做了(使用这个:https://github.com/sendgrid/smtpapi-python)
header = SMTPAPIHeader()
header.set_unique_args({'orderNumber':'123456'})
mail.add_header(header)
然后
response = sg.client.mail.send.post(request_body=mail.get())
但我得到:
in get(self)
70 headers = {}
71 for key in self.headers:
---> 72 headers.update(key.get())
73 mail["headers"] = headers
74
AttributeError: 'SMTPAPIHeader' object has no attribute 'get'
我怎么解决这个问题?
是的,确实是通过个性化完成的:
mail.personalizations[0].add_header(Header("..","..."))
response = sg.client.mail.send.post(request_body=mail.get())
试试这个,您可以使用 set_headers
方法为 sendgrid 电子邮件设置 headers。
import sendgrid
sg = sendgrid.SendGridClient("XXXX-UR-API-KEY-XXXXX")
message = sendgrid.Mail()
message.add_to('to@email.com')
message.set_from("from@email.com>")
message.set_subject("email subject")
message.set_html('html body')
message.set_headers({'X-Priority' : '2'}) #<=== To add priority
sg.send(message)