node.js - 使用 NodeJs 发送原始电子邮件文件

标签 node.js email bulk nodemailer

我尝试使用nodejs的nodemailer发送文件中包含的一些电子邮件,为此我首先使用mailparser解析文件,然后发送使用node mailer返回的对象,问题是它似乎使 header 加倍,创建两个 from:、两个 to: 等等... 我想知道是否有另一种方法可以使 Nodemailer 从目录中读取文件并发送它们,或者您是否知道我可以做到这一点的其他方法。

我有一些文件累积在一个目录中,每天早上 8 点,它们都会发送到服务器。时间可能会改变,但我想这并不相关:)。感谢你们提供的任何帮助或提示以及其他人的阅读:P。

这是我按照要求使用的代码示例

var fs = require('fs');
var MailParser = require("mailparser").MailParser;
var file = './113B797D-69F0-4127-A4CE-27923E7006CF.3.1';
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
 port: 2529,
 host: '127.0.0.1'
});
var mailparser = new MailParser();
mailparser.on("error", function(err) {
   console.log('[Error] mailparser: '+err);
});

mailparser.on("end", function(mail_object) { 
  console.log(mail_object);
  transporter.sendMail(mail_object);
});
fs.createReadStream(file).pipe(mailparser);

最佳答案

var nodemailer = require('nodemailer');

// create reusable transporter object using the default SMTP transport 
var smtpConfig = {
    host: 'smtp.email.com',
    port: 465,
    secure: true, // use SSL
    auth: {
        user: 'test@email.com',
        pass: 'passHere'
    }
};

var transporter = nodemailer.createTransport(smtpConfig);

// setup e-mail data with unicode symbols
var mailOptions = {
    envelope: {
        from: 'test@email.com', // sender address
        to: 'email@test.com'    // list of receivers
    },
    raw: {
        path: '/path/to/file.eml'
    }
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
    if(error){
        return console.log(error);
    }
    console.log('Message sent: ' + info.response);
});

关于node.js - 使用 NodeJs 发送原始电子邮件文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28996816/

相关文章:

python - 消息实例在 Google 应用引擎邮件接收中没有属性 'read'

sql-server - SQL Server批量导入UTF-8数据格式文件

python - Django:批量操作

java - 使用 smtp 从服务发送邮件

php - IMAP_OPEN 使网页崩溃

php - 从多个文件夹中批量插入图像(文件夹中包含图像)将不起作用

android - 如何设置 mongoDB 服务器并将其用于 Android 应用程序?

mysql - Nodejs异步: return mysql query result in for loop

node.js - MongoDB watch() 使用 NodeJS 和 Mongoose 观察数据库中的变化

node.js - 如何将MongoDB文档存储在redis中作为缓存并超时刷新