使用 nodeJs 发送原始电子邮件文件
Send raw email file with nodeJs
我试图用 nodejs 的 nodemailer 发送文件中包含的一些电子邮件,为此我首先用 mailparser 解析了文件,然后发送了用 node mailer 返回的 object,问题是它似乎它使 headers 加倍,创建两个 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);
});
我试图用 nodejs 的 nodemailer 发送文件中包含的一些电子邮件,为此我首先用 mailparser 解析了文件,然后发送了用 node mailer 返回的 object,问题是它似乎它使 headers 加倍,创建两个 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);
});