我已将部分自己的电子邮件模板迁移到Campaign Monitor的系统中。我想写一个例程来发送所选模板的预览电子邮件。我正在使用Python(https://github.com/campaignmonitor/createsend-python)。
看起来我必须创建一个具有send_preview
https://github.com/campaignmonitor/createsend-python/blob/master/createsend/campaign.py#L87功能的广告系列。但是,我还需要创建一个列表,以便仅为此预览目的使用一个广告系列对象。这感觉就像不必要/尴尬。我觉得我正在翻滚一个兔子洞。是否有更简单的方式发送预览电子邮件?
答案 0 :(得分:0)
我就此问题与Campaign Monitor支持联系,并收到了创建广告系列所需的信息以及发送测试电子邮件的列表。我认为虽然列表可以为空,因为您在send_preview
期间明确指定了电子邮件。在我的例子中,我将GUID插入到列表和广告系列的名称中,以保证名称的唯一性。
发送电子邮件后,您可以立即删除这些短暂的广告系列和列表。请务必先删除广告系列,因为您无法删除与广告系列相关联的列表。
cm_token = {'api_key': settings.CAMPAIGN_MONITOR_ADMIN_API_KEY}
campaign_monitor = CreateSend(cm_token)
cm_list = List(cm_token)
list_id = cm_list.create(email_client_id, "Temporary empty list for preview {}".format(uuid.uuid1()), None, None, None)
# cm_subscribers = []
# for recipient in recipient_list:
# cm_subscriber = Subscriber(cm_token)
# cm_subscriber.add(list_id, recipient[0], "Preview recipient {}".format(uuid.uuid1()), None, None)
# cm_subscribers.append(cm_subscriber)
cm_campaign = Campaign(cm_token)
cm_campaign.create_from_template(
customer_account.email_client_id,
subject,
"Temporary campaign for preview {}".format(template.id), # name
from_email, # from_name
from_email,
from_email, # reply_to
[list_id], # list_ids
None, # segment_ids
template.template_id,
{} # template_content
)
cm_campaign.send_preview(recipient_list[0])
# delete temporary list and campaign
cm_campaign.delete()
cm_list.delete()