2017-09-07 99 views
0

我有一組用於我的項目的內部用戶。管理員可以激活/停用它們。當他們的帳戶被管理員停用時,我想向他們發送一條說明「您的帳戶已停用」的郵件。同樣,當管理員激活其帳戶時,他們會收到一封說明「您的帳戶已被激活」的郵件。我怎樣才能做到這一點?使用mailchimp發送2種不同類型的郵件

我想在mailchimp和兩個獨立的廣告系列中創建2個單獨的列表。但是當我使用2個獨立的列表ID在我的development.js中編寫mailchimps證書,然後試圖在我的JavaScript文件中獲取它時,它變得未定義(通過console.log檢查)..

有沒有辦法通過單個廣告系列/列表來完成它?

這裏的mailchimp憑據我development.js代碼:

mailchimp: { 
    api_key: "***************-***", 
    list_id1: "*********", //internal users 
    list_id2: "*********" //internal deactivated users 
    }, 

我user.helper.js

const config = require('../../config/environment'); 
const Mailchimp = require('mailchimp-api-3'); 
const mailchimp = new Mailchimp(config.mailchimp.api_key); 

exports.addToDeactivatedList = function (email, name) { 
console.log(mailchimp.list_id1); 
mailchimp.members.create(config.mailchimp.list_id1, { 
    email_address: email, 
    merge_fields: { 
    FNAME: name 
    }, 
    status: 'subscribed' 
}).then(user => { }).catch(e => { 
    console.log("deactivate list me add ho gya"); 
}) 
} 

exports.addToActivatedList = function (email, name) { 
console.log(mailchimp.list_id2); 
mailchimp.members.create(config.mailchimp.list_id2, { 
    email_address: email, 
    merge_fields: { 
    FNAME: name 
    }, 
    status: 'subscribed' 
}).then(user => { }).catch(e => { 
    console.log("activate list me add ho gya"); 
}) 
} 

和我user.controller.js(選擇性的部分只)

var helper = require('./user.helper'); 
. 
. 
if(req.body.status != user.status){  
     (req.body.status == "active") ? helper.addToActivatedList(user.email, user.name) : helper.addToDeactivatedList(user.email, user.name);   
     } 

所有的幫助將不勝感激。感謝

回答

0

我試圖把每個人放在同一個列表中,然後根據該列表創建段。之後,根據該細分市場創建一個廣告系列。

您可以創建一個自定義列表屬性來記錄是否激活帳戶並根據該屬性創建一個細分受衆羣。該活動應該基於該部分。

也許還記錄了管理員在另一個自定義屬性中激活或停用帳戶的日期,並使用該帳戶檢查用戶是否已經有激活/停用郵件。

0

MailChimp爲這種情況提供了一個功能,叫做automations。自動化允許您在觸發事件時向訂戶發送單個電子郵件。因此,每當用戶被激活或停用時,您都可以使用兩個自動化和一個列表,而不是創建單獨的活動。

用戶是否處於活動狀態可以使用列表合併字段進行跟蹤。要做到這一點,你需要add a new text merge field到你的清單。讓我們將字段標籤命名爲「活動」。取消勾選'Visible'複選框,以便用戶看不到它,並將合併域命名爲'ACTIVE'。您可以使用yes/no或true/false等值來確定用戶的活動狀態。

接下來,創建自動化,一個用於激活用戶,另一個用於停用用戶。當列表字段值更改時,您可以設置觸發器來發送電子郵件。因此,只要讓「自動」列表字段值更改爲「是」或「否」時,您的兩臺自動化系統都會發送電子郵件。

然後,只需啓用或停用帳戶,您只需將用戶訂閱到單個列表即可。只要確保在執行此操作時將新的「ACTIVE」合併字段設置爲「是」或「否」,並且任何已訂閱的地址都將使用新值進行更新。所以你的mailchimp.members.create()會看起來像這樣,基於here的示例:

mailchimp.members.create(<list_id>, { 
    email_address: <user_email>, 
    merge_fields: { 
     FNAME: name, 
     ACTIVE: 'yes' //Or 'no' if being used for deactivated users 
    }, 
    status: 'subscribed' 
    }) 
相關問題