【问题标题】:Node.js mailgun inline/embed imagesNode.js mailgun 内联/嵌入图像
【发布时间】:2015-05-10 23:00:31
【问题描述】:

如何使用 Node.js mailgun 嵌入图像。 通过阅读文档,他们使用

-F inline=@files/cartman.jpg

问题在于,它是一个 curl 示例。

这是我目前所拥有的

Mailgun.sendHtmlEmail({
    apiKey: '..',
    domain: '...',
    toEmail: created.email,
    toName: created.email,
    subject: 'mySite update',
    htmlMessage: '<html><img style="display:block;" class="img1" src="cid:test.png" width="600" height="64" /></html>',
    inline: 'email1/test.png',
    fromEmail: 'admin@mySite.com',
    fromName: 'Admin'
}).exec({
    // An unexpected error occurred.
    error: function (err){
        console.log(err);
    },
    // OK.
    success: function (){
    }
});

测试时,没有附加图像。

我假设您必须以 Node.js 可以理解的方式访问电子邮件的内联文件。

如果是这样,你是怎么做到的?

请有人指出我正确的方向。

【问题讨论】:

标签: node.js sails.js mailgun


【解决方案1】:

我建议你使用mailcomposer 模块来生成带有附件的电子邮件。

mailcomposer = new MailComposer({forceEmbeddedImages: true});
mailcomposer.addAttachment({
  fileName: 'image.png',
  filePath: IMAGES_PATH + '/image.png',
  cid: '0o1q9i2w8u38ur.image.png'
});

mailcomposer.setMessageOption({
  to: created.email,
  from: 'admin@mySite.com',
  subject: 'mySite update',
  body: '...',
  html: '<html>...</html>'
});

你可以通过mailgun发送它:

mailcomposer.buildMessage(function (err, message) {
  if (err) {
    // ...
  }

  mailgun
    .messages()
    .sendMime({
      to: created.email,
      message: message
    }, function (err, response) {
      // ...
    }); 
});

【讨论】:

  • 谢谢,是的,我目前正在研究 nodemailer 并使用 gmail 帐户发送电子邮件。我也会尝试这种方法。
  • 澄清一下:这个答案中显示的mailgun api来自bojand/mailgun-js
猜你喜欢
  • 2017-08-09
  • 1970-01-01
  • 2016-12-10
  • 2014-10-02
  • 2014-11-27
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2011-08-07
相关资源
最近更新 更多