使用mailchimp发送2种不同类型的邮件

时间:2017-09-07 12:24:59

标签: mailchimp

我的项目有一组内部用户。管理员可以激活/停用它们。当他们的帐户被管理员停用时,我想向他们发送一封邮件,说“您的帐户已停用”。同样,当管理员激活帐户时,他们会收到一封邮件,说“您的帐户已被激活”。我怎么能这样做?

我正在尝试在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);          
      }

所有帮助将不胜感激。致谢

2 个答案:

答案 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'
    })