欢迎访问宙启技术站
智能推送

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函数发送电子邮件。最后,您可以检查响应状态码来确定电子邮件是否发送成功。