我的项目有一组内部用户。管理员可以激活/停用它们。当他们的帐户被管理员停用时,我想向他们发送一封邮件,说“您的帐户已停用”。同样,当管理员激活帐户时,他们会收到一封邮件,说“您的帐户已被激活”。我怎么能这样做?
我正在尝试在mailchimp和两个单独的广告系列中创建2个单独的列表。但是当我在我的development.js中使用2个单独的列表ID编写mailchimps凭据然后尝试在我的javascript文件中获取它时,它将被取消定义(由console.log检查)..
有没有办法通过单个广告系列/列表来实现?
这是我的development.js mailchimp凭证代码:
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)
我尝试将所有人放在同一个列表中,然后根据该列表创建细分。之后,根据该细分创建广告系列。
例如,您可以创建一个自定义列表属性来记录帐户是否已激活,并根据该属性创建一个段。然后,广告系列应基于该细分受众群。
也许还会记录管理员在另一个自定义属性中激活或停用帐户的日期,并使用该日期检查用户是否已有激活/停用邮件。
答案 1 :(得分:0)
MailChimp为此类情况提供了一项名为automations的功能。自动化允许您在触发事件时向订阅者发送单个电子邮件。因此,无需在每次激活或停用用户时创建单独的广告系列,您只需使用两个自动设置和一个列表。
可以使用列表合并字段跟踪用户是否处于活动状态。为此,您需要add a new text merge field到您的列表中。我们将字段标签命名为“活动”。取消选中“可见”'复选框,以便用户无法看到它,并将您的合并字段命名为' ACTIVE'。您可以使用yes / no或true / false等值来标识用户的活动状态。
接下来,创建自动化,一个用于激活的用户,另一个用于已停用的用户。您可以设置触发器以在更改列表字段值时发送电子邮件。因此,只需让两个自动化中的每一个都在“活动”时发送电子邮件。列表字段值更改为“是”'或者' no'。
然后,只要他们的帐户被激活或停用,您只需将用户订阅到单个列表即可。只需确保新的' ACTIVE'合并字段设置为“是”'或者没有'执行此操作时,已订阅的任何地址都将使用新值进行更新。因此,基于here的示例:
,您的mailchimp.members.create()
看起来会像这样
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'
})