MailGun:向电子邮件添加数据变量

MailGun: Add data variables to email

我正在使用 MailGun 通过 Node.js 发送电子邮件。我想添加包含来自数据库的数据的自定义数据变量,将其作为电子邮件正文的一部分发送。根据我的研究,我需要使用 recipient-variables。但问题是 recipient-variables 需要收件人的 email 作为对象的 key 像这样:

{
   "user1@example.com" : {"unique_id": "ABC123456789"},
   "user2@example.com" : {"unique_id": "ZXY987654321"}
}

现在我从数据库中获取的数据是这样的:

{ email: 'myemail@something.com', projects: [ 'aqeqw weqw ', 'title here' ]}

而 MailGun 需要这个(我觉得这很奇怪):

{'myemail@something.com': { email: 'myemail@something.com', projects: [ 'aqeqw weqw ', 'title here' ]}}

如何将我从数据库接收的对象的键设置为电子邮件?

仅供参考,我的 MailGun 代码:

let data = {
                from: 'My App <donotreply@myapp.com>',
                to: data.email,
                subject: 'Reminder Email',
                'recipient-variables': {data},
                html: '<html style="color: red; font-size: 20px; background-color: aqua">Inline image here:<p style="">Your project list and your name is %recipient.projects%</p></html>',
            };

            mailgun.messages().send(data, function(error, body) {

                console.log(body);

            });

你可以这样做,使用一个中间对象:

let obj = {
  email: 'myemail@something.com',
  projects: [ 'aqeqw weqw ', 'title here' ]
}

let final = {}
final[obj.email] = obj

console.log(final)
/*  {
      'myemail@something.com': 
      {
        email: 'myemail@something.com',
        projects: [ 'aqeqw weqw ', 'title here' ]
      }
    }
*/