Node.js nodeEmailer不';在服务器上运行时不发送邮件
Hy,我对nodemailer有点问题。当我在我的计算机上运行脚本时,我会收到电子邮件,但当我在服务器上运行脚本时,我不会收到电子邮件。 我也在与MongoDb合作。所以,在“co”功能中,我会查看数据库(“搜索一些信息”),然后当我得到信息时,我会发送电子邮件Node.js nodeEmailer不';在服务器上运行时不发送邮件,node.js,nodemailer,Node.js,Nodemailer,Hy,我对nodemailer有点问题。当我在我的计算机上运行脚本时,我会收到电子邮件,但当我在服务器上运行脚本时,我不会收到电子邮件。 我也在与MongoDb合作。所以,在“co”功能中,我会查看数据库(“搜索一些信息”),然后当我得到信息时,我会发送电子邮件 co(function *(){ //searching for information. I find them and save them to array urls. console.log(urls); va
co(function *(){
//searching for information. I find them and save them to array urls.
console.log(urls);
var fileName=[];
for(var i=0;i<urls.length;i++)
{
//I must do this because of buffer ("fs.readFile("./final_pdf/"+fileName")
//why?? I don't know. Buffer must receive array
var file=urls[i][0];
fileName=file;
fs.readFile("./final_pdf/"+fileName, function (err, data) {
var mailOptions=
{
from: 'something@something.net',
to: emailDevice,
subject: 'Something',
text: 'Hello',
attachments:
[{
filename: fileName,
contentType: 'application/pdf',
contents: new Buffer(data, 'base64')
}]
};
transporter.sendMail(mailOptions, function(error){
if(error){
return console.log(error);
}
console.log('PDF sent');
});
});
}
co(函数*(){
//搜索信息。我找到它们并将它们保存到数组URL。
日志(URL);
var fileName=[];
对于(var i=0;我忘了告诉你,我可以在“co”函数之外发送电子邮件,但我需要它,因为“来自数据库的信息”。是否有可能在“co”函数之外获取此“数据”?你需要调用transporter.sendMail()上的yield
关键字这里。由于nodemailer模块有一个基于回调的API,您需要在nodemailer周围使用一个联合包装器。我建议您使用comailer:您使用的是哪种传输工具?