【问题标题】:Mailchimp/Mandrill and Handlebars changing preview textMailchimp/Mandrill 和 Handlebars 更改预览文本
【发布时间】:2020-11-01 06:21:24
【问题描述】:

我正在与 MailChimps Mandrill 合作使用把手发送跨国电子邮件。整个设置已完成,电子邮件发送得非常好 - 但当它们到达时,它们仍然具有用于预览文本的默认 Mailchimp 模板字符串,如下所示:

|*MC_PREVIEW*|

有没有人知道有一种方法可以将其从显示中删除或更改?目前我必须进入 Mandrill 中的电子邮件代码并自己删除代码块 - 想知道 Mailchimps 是否有办法做到这一点,因为每次更新和导出电子邮件模板时都会有点乏味让 Mandrill 进去再把它取下来。

提前致谢!

【问题讨论】:

    标签: handlebars.js mailchimp mandrill


    【解决方案1】:

    我们遇到了同样的问题并编写了一个小的 lambda http endoint,我们可以通过 slack 集成触发它来修复我们所有的 mandrill 模板:

    const mailchimpFactory = require('@mailchimp/mailchimp_transactional');
    
    const mailchimp = mailchimpFactory(process.env.MAILCHIMP_API_KEY);
    
    function fixTemplate({ name, code }) {
      const regex = /\*\|MC_PREVIEW_TEXT\|\*/ig; // regexr.com/69390
      const fixedBody = code.replace(regex, '');
      console.log(`Updating ${name}`);
      return mailchimp.templates.update({
        name,
        code: fixedBody,
      });
    }
    
    // removes all mailchimp preview merge variables from all
    // templates in mandrill (since we're using handlebars)
    async function fixAllTemplates(event) {
    
      const templates = await mailchimp.templates.list();
      await Promise.all(templates.map(fixTemplate));
      const templateList = templates.map(({ name }) => `\n> ${name}`).join('');
    
      const msg = `*Mandrill Template Fixer:* Updated ${templates.length} templates. ${templateList}`;
      console.log(msg);
      return { statusCode: 200, body: msg };
    }
    
    module.exports = { fixAllTemplates };
    

    【讨论】:

      【解决方案2】:

      我遇到过这个问题,首先将 Mandrill 默认合并标签更改为 Handlebars,然后将模板从 Mailchimp 重新导出回 Mandrill。

      这会将电子邮件代码中的所有 *|Mailchimp|* 样式合并标签转换为 {{handlebars}} 样式。

      重要修改:

      如果您的 Mailchimp 模板使用把手来定义合并标签,这些将像这样被转义:

      \{{mergeTag}}

      您要么必须手动删除这些反斜杠以使标签再次工作,要么在导出前将 Mailchimp 中的合并标签重新格式化为 *|MAILCHIMP|* 样式。

      如果选择后者,在将驼峰式合并标签转换为 Mailchimp 样式时,只需将其全部大写即可。

      例如{{mergeTag}} 变为 *|MERGETAG|*

      【讨论】:

      • 非常感谢 Jamie,下次需要进行一些更改时我会尝试一下
      • 看看我的编辑 - 我添加了一些额外的信息,您需要避免破坏您的模板!
      猜你喜欢
      • 2013-09-08
      • 2019-04-17
      • 2022-06-16
      • 2012-03-09
      • 2016-03-06
      • 2016-07-22
      • 2020-09-13
      • 2017-06-15
      • 2015-12-07
      相关资源
      最近更新 更多