Python 和 mailchimp 集成
Posted
技术标签:
【中文标题】Python 和 mailchimp 集成【英文标题】:Python and mailchimp integration 【发布时间】:2021-02-17 06:57:05 【问题描述】:所以我已经坚持了一个星期左右,真的可以做一些建议。
我有一个基本网站,允许人们注册我想要发送的自动通讯。在网站上添加他们的电子邮件后,他们的地址会自动添加到受众中。 我运行了一个小的 python 脚本,然后网络抓取一个站点,然后如果返回某个标准,它将通过 mailchimp 向 mailchimp 受众中的所有联系人发送一封自动电子邮件。 我遇到的问题实际上是通过邮件黑猩猩创建和发送电子邮件。 我已经通过https://mailchimp.com/developer/api/marketing/campaigns/add-campaign/ 几次,似乎无法让它工作。我能够成功地创建一个新的活动以及受众和主题行。但是,我无法锻炼如何实际发送包含我想要的内容的电子邮件。它只是将自己保存为草稿,仅此而已。 当我尝试预览电子邮件时,其中没有任何内容,当我单击广告系列旁边的编辑时,除了“内容”之外,所有内容都被勾选。 我已经排除了我的程序的网络抓取部分,但下面是我正在运行以创建并通过 mailchimp api 发送的测试
import mailchimp_marketing as MailchimpMarketing
from mailchimp_marketing.api_client import ApiClientError
from mailchimp3 import MailChimp
data =
"recipients" :
"list_id": 'XXXXXXXX'
,
"settings":
"subject_line": 'Subject of email',
"from_name": 'from_name',
"reply_to": 'reply_email',
,
"type": "regular"
try:
client = MailchimpMarketing.Client()
#print(client)
client.set_config(
"api_key": "XXXXXXXXXXXXXXXX",
"server": "XXXXXXX"
)
#client = MailChimp(mc_api='XXXXXXXXXXXX', mc_user="XXXXXXXXX")
client.campaigns.create(data)
response = client.campaigns.get('campaign_id')
#client.campaigns.send()
print(response)
except ApiClientError as error:
print("Error: ".format(error.text))
这成功创建了广告系列,但没有我想要添加的内容,并且只是将电子邮件保存为草稿而不发送。所以我想我的问题是如何编辑电子邮件内容,然后我如何实际启动发送。
感谢您的帮助
【问题讨论】:
【参考方案1】:我也没有在网上找到一个最小的例子。另外,mailchimp api 文档中的示例严重缺乏 python(只有 curl 似乎是正确的)。这是一个最小的例子:
from mailchimp_marketing import Client, api_client
# find this out at https://mailchimp.com/en/help/about-api-keys/
API_KEY = '…'
# log into your Mailchimp account and look at the URL in your browser.
# You’ll see something like https://us19.admin.mailchimp.com/
# the us19 part is the server prefix.
SERVER_PREFIX = 'us19'
try:
client = Client()
client.set_config(
"api_key": API_KEY,
"server": SERVER_PREFIX
)
# find out list id: https://mailchimp.com/en/help/find-audience-id/
campaign_data = dict(
type='regular',
recipients=dict(list_id='…'),
settings=dict(
subject_line='lorem ipsum',
from_name='John Doe',
reply_to='john@doe.com',
)
)
campaign = client.campaigns.create(campaign_data)
print(campaign)
campaign_id = campaign['id']
content_data = dict(
plain_text='lorem ipsum',
html='<p><strong>lorem</strong><br />ipsum</p>'
)
response = client.campaigns.set_content(campaign_id, content_data)
print(response)
response = client.campaigns.send(campaign_id)
print(response)
except api_client.ApiClientError as e:
print("Error: ".format(error.text))
【讨论】:
以上是关于Python 和 mailchimp 集成的主要内容,如果未能解决你的问题,请参考以下文章
用于电子书下载的 MailChimp 和 Wordpress 集成
TabError:缩进中制表符和空格的使用不一致 - 集成 MailChimp Django