Mailgun 批量发送不适用于个性化数据

Mailgun Batch sending doesn't work with personalised data

   var recipients = ['ertemishakk@gmail.com']
    var recipientVars = {
        "ertemishakk@gmail.com": {
            "first": "Ertem",
            "productImage": "https://ojeaustralia.s3.ap-southeast-2.amazonaws.com/IMG_4825.jpg1602122333765",
            "productName": "Black Marble",
            "productLink": "https://www.ojeaustralia.com.au/shop/Black-Marble/5f7af208ea0e37001763a350"
        }
    }


    var data = {
        sender: 'ojeaustralia.com.au',
        from: 'OJE AUSTRALIA <support@ojeaustralia.com.au>',
        to: recipients,
        subject: 'Did you forget something?',
        template: 'abandonedcart',
        "X-Mailgun-Recipient-Variables": JSON.stringify(recipientVars) 
    };

    mailgun.messages().send(data, function (error, body) {
        console.log(body);
    });

我无法使用变量发送批量电子邮件。我不需要创建邮件列表,因为这只是一个检查电子商务网站废弃购物车的 cron 作业。我需要为将商品留在购物车中的人发送自定义电子邮件。但是,发送批量电子邮件不起作用并且在 API.

中没有详细记录

感谢您联系 Mailgun 支持。

为了更加清晰,您可以使用 X-Mailgun-Variables header 和提供的变量来使用自定义变量批量发送电子邮件。当您尝试将模板功能与批处理集成时,问题就来了。模板(支持车把)和批处理提供变量的方法略有不同:

为了将 objects 数组与车把一起使用,该数组必须与您最初的 POST 请求一起传递。不幸的是,在这种情况下,从收件人变量中引用数组将不起作用。这是由于收件人变量在引用收件人变量时如何将数据类型从数组更改为字符串。

Handlebars 需要一个数据数组,但是当 POST 生成时,自定义接收者变量数据将在我们这边变成一个字符串。所以问题是批处理和模板还没有很好地集成。批处理消息设置得很好 feature-wise,但模板只是在我们这边的第一次迭代中。我们正在考虑在未来改进模板,包括更轻松地与批处理消息集成,但目前还没有时间表。

您可以仅使用“h:X-Mailgun-Variables”属性在车把中设置主题,recipient-variables 不是必需的。

如果您有任何其他问题,请告诉我们。

简而言之,您不能将 X-Mailgun-Recipient-Variables 与模板一起使用。很高兴看到文档中某处提到它