Node.js nodeEmailer不';在服务器上运行时不发送邮件

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

Hy,我对nodemailer有点问题。当我在我的计算机上运行脚本时,我会收到电子邮件,但当我在服务器上运行脚本时,我不会收到电子邮件。 我也在与MongoDb合作。所以,在“co”功能中,我会查看数据库(“搜索一些信息”),然后当我得到信息时,我会发送电子邮件

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:您使用的是哪种传输工具?