2016-02-01 8 views
0

Я хочу отправить электронное письмо с localhost с помощью nodemailer. Функция отправки электронной почты нижеотправка электронной почты с версией nodemailer 2.0

sendEmail : function(toEmail, subjek, param){ 
var transporter = nodemailer.createTransport(smtpTransport({ 
     host : "smtp.gmail.com", 
     port : 465, 
     secure : true, 
     ignoreTLS : true, 
     auth : { 
      username : config.userMail, 
      password : config.passMail 
     } 
    template = fs.readFileSync('public/views/emailTemplate/token.hjs','utf-8'), 
    compiledTemplate = Hogan.compile(template); 

// setup e-mail data with unicode symbols 
var mailOptions = { 
    from: 'User', // sender address 
    to: toEmail, // list of receivers 
    subject: subjek, // Subject line 
    html: compiledTemplate.render(param) 
}; 

// send mail with defined transport object 
transporter.sendMail(mailOptions, function(error, info){ 

    if(error){ 
     return error 
    }else{ 
     return info   
    } 
}); 

}

, если я вызываю функцию, то есть возврат undefined. Я не знаю, какая часть отсутствует или ошибка Как это исправить?

+1

Вы не можете использовать 'return' из асинхронной функции обратного вызова, по крайней мере, не в значимом ключе. Использование 'return' останавливает функцию, но вернуть значение некуда. – Andris

+0

Я пытаюсь отправить такой ответ. if (ошибка) res.send (ошибка): Но это дает мне ошибку «Не удается отправить заголовок после отправки» – dede

ответ

0

Извините, у меня недостаточно репутации, чтобы сделать комментарий, отвечая. Не могли бы вы утешить ошибку и информацию, чтобы узнать, что ответит Google smtp.

+0

Ничего. В любом случае, спасибо. Я утешаю ошибку. {[Ошибка сертификата самописца в цепочке сертификатов] Код: 'SEL_SIGNED_CERT_CHAIN']; – dede

0

И наконец, моя функция работает. я показывал ошибку в консоли, и это

{[Error Self signet certificate in certificate chain ] Code : 'SEL_SIGNED_CERT_CHAIN']; 

Я деинсталлировать Avast (антивирус) в моих окнах. Затем я могу отправлять электронную почту с localhost с помощью nodemailer.