【问题标题】:Python and mailchimp integrationPython 和 mailchimp 集成
【发布时间】: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))

这成功创建了广告系列,但没有我想要添加的内容,并且只是将电子邮件保存为草稿而不发送。所以我想我的问题是如何编辑电子邮件内容,然后我如何实际启动发送。

感谢您的帮助

【问题讨论】:

    标签: python api mailchimp


    【解决方案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))
    

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 2015-01-31
      • 1970-01-01
      • 2018-09-09
      • 2013-11-20
      • 2013-04-27
      • 2012-03-22
      • 2018-08-15
      • 2014-07-14
      相关资源
      最近更新 更多