📜  mailchimp 发送电子邮件 python (1)

📅  最后修改于: 2023-12-03 15:02:50.864000             🧑  作者: Mango

使用 Mailchimp Python API 发送电子邮件

Mailchimp 是一个流行的电子邮件营销平台,提供 API 来与其服务进行集成。在 Python 中,我们可以使用 Mailchimp API 来方便地发送电子邮件。

设置 API 密钥

在使用 Mailchimp API 之前,我们需要先设置 API 密钥。可以在 Mailchimp 账户中生成。

import mailchimp_marketing as MailchimpMarketing
from mailchimp_marketing.api_client import ApiClientError

api_key = 'your_api_key_here'
client = MailchimpMarketing.Client()
client.set_config({
    "api_key": api_key,
    "server": "us6"
})
创建邮件发送任务

我们可以使用 Mailchimp API 去发送邮件,需要先创建一个邮件发送任务。

def create_campaign(client, from_name, reply_to, subject, sent_to_list_id,
                    preheader=None, title=None):
    try:
        response = client.campaigns.create({
            "type": "regular",
            "recipients": {
                "list_id": sent_to_list_id
            },
            "settings": {
                "subject_line": subject,
                "preview_text": preheader,
                "title": title,
                "from_name": from_name,
                "reply_to": reply_to
            }
        })
        print(response)
        return response['id']
    except ApiClientError as error:
        print("Error creating campaign: {}".format(error.text))
        return None

这个函数的参数包括:

  • client: Mailchimp API 客户端
  • from_name: 发件人名称
  • reply_to: 回复邮件地址
  • subject: 主题
  • sent_to_list_id: 收件人列表 ID
  • preheader: 预览文本
  • title: 邮件标题

函数会返回邮件发送任务的 ID。

设计邮件内容

通过下面的代码片段,可以创建一封电子邮件,并将其添加到上面创建的邮件发送任务中。

def add_html_content_to_campaign(client, campaign_id, html_content):
    try:
        response = client.campaigns.set_content({
            "html": html_content
        }, campaign_id)
        print(response)
        return True
    except ApiClientError as error:
        print("Error adding HTML content to campaign: {}".format(error.text))
        return False

这个函数的参数包括:

  • client: Mailchimp API 客户端
  • campaign_id: 邮件发送任务的 ID
  • html_content: 邮件 HTML 内容

邮件还可以包含文本版本。可以使用下面的代码创建文本版本邮件:

def add_text_content_to_campaign(client, campaign_id, text_content):
    try:
        response = client.campaigns.set_content({
            "text": text_content
        }, campaign_id)
        print(response)
        return True
    except ApiClientError as error:
        print("Error adding text content to campaign: {}".format(error.text))
        return False

这个函数的参数包括:

  • client: Mailchimp API 客户端
  • campaign_id: 邮件发送任务的 ID
  • text_content: 邮件文本内容
发送邮件

最后,使用下面的代码块发送邮件:

def send_campaign(client, campaign_id):
    try:
        response = client.campaigns.send(campaign_id)
        print(response)
        return True
    except ApiClientError as error:
        print("Error sending campaign: {}".format(error.text))
        return False

这个函数的参数包括:

  • client: Mailchimp API 客户端
  • campaign_id: 邮件发送任务的 ID
结论

以上就是使用 Python 发送电子邮件的基本流程。有了 Mailchimp API,我们可以轻松地发送电子邮件并跟踪其发送和打开情况。