SendGridAPIClient():Python中发送带有动态内容的邮件的示例代码
发布时间:2023-12-15 09:58:31
以下是使用SendGridAPI客户端发送带有动态内容的电子邮件的示例代码:
import os
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail
# 设置SendGridAPI的密钥
api_key = os.environ.get('SENDGRID_API_KEY')
sg = SendGridAPIClient(api_key=api_key)
def send_dynamic_email(to_email, subject, dynamic_template_id, dynamic_data):
# 创建动态内容的电子邮件
message = Mail(
from_email='sender@example.com',
to_emails=to_email,
subject=subject)
# 设置电子邮件的动态模板ID和模板数据
message.template_id = dynamic_template_id
message.dynamic_template_data = dynamic_data
try:
# 发送电子邮件
response = sg.send(message)
return response.status_code, response.body
except Exception as e:
return e.message, None
使用示例:
# 设置动态模板ID和模板数据
dynamic_template_id = '{your_dynamic_template_id}'
dynamic_data = {
'name': 'John Doe',
'product': 'XYZ',
'price': '$199',
'discount': '50%',
}
# 发送带有动态内容的电子邮件
status_code, body = send_dynamic_email('recipient@example.com', 'Welcome to our store!', dynamic_template_id, dynamic_data)
# 检查邮件发送是否成功
if status_code == 202:
print('Email sent successfully')
else:
print('Email sending failed')
print('Reason:', body)
上述代码通过SendGrid API发送带有动态内容的电子邮件。您需要提供您的SendGrid API密钥,并将{your_dynamic_template_id}替换为您自己的动态模板ID。然后,您可以设置动态模板的数据,并使用send_dynamic_email函数发送电子邮件。最后,您可以检查响应状态码来确定电子邮件是否发送成功。
