使用节点(nodemailer)显示嵌入式图片

时间:2014-08-27 06:13:28

标签: javascript node.js email outlook nodemailer

我使用nodemailer发送带嵌入图片的邮件

var mailOption = {
    html: 'Embedded image: <img src="cid:unique@kreata.ee"/>',
    attachments: [{
        filename: 'image.jpg',
        content: '/9j/4AA ... Q==',
        encoding: 'base64',
        cid: 'unique@kreata.ee'
    }]
    from: '...',
    to: '...',
    subject: '...'
}
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport();
transporter.sendMail(mail, function(error, info) {
    ...
});

我可以从Outlook收到邮件,但图片无法在Outlook中显示。我有两个问题,

  1. 如何使用nodemailer module(或其他)在Outlook中显示图片
  2. 如何在上面的代码中打印整个邮件包含标题和正文。

2 个答案:

答案 0 :(得分:1)

查看Outlook中的消息并检查PR_ATTACH_CONTENT_ID属性是否确实设置为&#34; unique@kreata.ee"并且HTML主体(PR_HTML属性)使用指定的cid引用图像。您可以使用OutlookSpy在Outlook中查看数据:选择消息,单击OutlookSpy工具栏上的IMessage按钮。要查看附件属性,请转到GetAttachmentTable选项卡,然后双击附件。

答案 1 :(得分:1)

我找到问题的原因。 模块&#39; nodemailer&#39;我下载并安装的是0.6.x版本 有一些附件问题。 (我还没有检查原因)

重新安装版本1.2.x后,附件工作正常。