Как я могу легко отправить электронное сообщение для предварительного просмотра шаблона Campaign Monitor?
Я уже перенес некоторые из наших собственных шаблонов электронной почты в систему Campaign Monitor. Я хотел бы написать процедуру для отправки электронного письма с предварительным просмотром для выбранного шаблона. Я использую Python ( https://github.com/campaignmonitor/createsend-python).
Похоже, что я должен создать кампанию, которая имеет send_preview
https://github.com/campaignmonitor/createsend-python/blob/master/createsend/campaign.py функция. Однако мне нужно было бы также создать список, чтобы иметь объект кампании только для этой цели предварительного просмотра. Это чувство ненужного / неловкого. Я чувствую, как будто я падаю в кроличью нору. Есть ли более простой способ отправить предварительное электронное письмо?
1 ответ
Я обратился в службу поддержки 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()