【问题标题】:Send 2 different types of mails using mailchimp使用 mailchimp 发送 2 种不同类型的邮件
【发布时间】:2018-02-16 04:32:59
【问题描述】:

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

我正在尝试在 mailchimp 中创建 2 个单独的列表和两个单独的活动。但是当我在 development.js 中使用 2 个单独的列表 ID 编写 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);          
      }

我们将不胜感激所有帮助。谢谢

【问题讨论】:

    标签: mailchimp


    【解决方案1】:

    我会尝试将每个人都放在同一个列表中,然后根据该列表创建细分。之后,根据该细分创建一个广告系列。

    例如,您可以创建一个自定义列表属性来记录帐户是否已激活,并根据该属性创建一个细分。然后该广告系列应基于该细分。

    也许还可以在另一个自定义属性中记录管理员激活或停用帐户的日期,并使用它来检查用户是否已经收到激活/停用邮件。

    【讨论】:

      【解决方案2】:

      MailChimp 为此类情况提供了一个名为automations 的功能。自动化允许您在触发事件时向订阅者发送单独的电子邮件。因此,无需在每次激活或停用用户时创建单独的广告系列,您只需使用两个自动化和一个列表即可。

      可以使用列表合并字段跟踪用户是否处于活动状态。为此,您需要将add a new text merge field 加入您的列表。让我们将字段标签命名为“活动”。取消选中“可见”复选框,以便用户看不到它,并将您的合并字段命名为“活动”。您可以使用 yes/no 或 true/false 等值来通过用户的活动状态来识别用户。

      接下来,创建您的自动化,一个用于激活的用户,一个用于停用的用户。您可以设置触发器以在更改列表字段值时发送电子邮件。因此,只需在“活动”列表字段值更改为“是”或“否”时让您的两个自动化都发送电子邮件。

      然后,您只需使用 API 为用户订阅一个列表,只要他们的帐户被激活或停用。只需确保在执行此操作时将新的“ACTIVE”合并字段设置为“yes”或“no”,任何已订阅的地址都将更新为新值。所以你的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'
          })
      

      【讨论】:

        猜你喜欢
        • 2019-06-07
        • 2015-07-27
        • 2015-08-26
        • 2012-08-13
        • 1970-01-01
        • 2016-02-11
        • 2015-07-13
        • 1970-01-01
        • 2018-10-17
        相关资源
        最近更新 更多