2017-03-15 32 views
0

我已經將一些我們自己的電子郵件模板遷移到Campaign Monitor的系統中。我想寫一個例程來爲選定的模板發送預覽電子郵件。我正在使用Python(https://github.com/campaignmonitor/createsend-python)。如何輕鬆發送Campaign Monitor模板的預覽電子郵件?

看起來像我必須創建一個具有send_previewhttps://github.com/campaignmonitor/createsend-python/blob/master/createsend/campaign.py#L87函數的廣告系列。不過,我還需要創建一個列表,以便僅爲此預覽目的製作廣告系列對象。這感覺像不必要/尷尬。我感覺我正在摔倒兔子洞。有沒有簡單的方法發送預覽電子郵件?

+0

在http://codereview.stackexchange.com/search?q=django詢問同樣的問題,你會得到適當的反饋。 SO不是審查論壇 –

+0

這是一個概念性問題,而不是審查。由於這個原因,我沒有包含源代碼,它可能會把焦點從真正的問題中解決。儘管如此,我會嘗試使用codereview。 –

回答

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() 
相關問題