📅  最后修改于: 2023-12-03 15:02:50.864000             🧑  作者: Mango
Mailchimp 是一个流行的电子邮件营销平台,提供 API 来与其服务进行集成。在 Python 中,我们可以使用 Mailchimp 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
: 收件人列表 IDpreheader
: 预览文本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
: 邮件发送任务的 IDhtml_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
: 邮件发送任务的 IDtext_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,我们可以轻松地发送电子邮件并跟踪其发送和打开情况。