无法使用gmail SMTP

Juz*_*Ali 3 gmail smtp node.js

我正在尝试使用gmail smtp node_mailer.我在nodejs日志上遇到以下错误(使用nodester).这是我的代码:

var email = require('mailer');
email.send({
    host : "smtp.gmail.com",              
    port : "465",                     
    ssl : true,
    domain : "domain.com",            
    to : "emailId@gmail.com",
    from : "email@gmail.com",
    subject : "You have been registered",
    body: "<B>Hello! This is a test of the node_mailer.</B>",
    authentication : "login",        // auth login is supported; anything else is no auth
    username : /* username */,
    password : /* password */      
    },
    function(err, result){
      if(err){ self.now.error(err); console.log(err); return;}
      else this.now.successfullySent(result);
});
Run Code Online (Sandbox Code Playgroud)

我没有在堆栈中收到任何错误,但电子邮件未送达.

@ work4liberty和@David Ellis.感谢您的两个输入,但似乎问题不是我的服务器代码,我在我的客户端JavaScript的emailId中发送不正确的值.Nodemailer确实帮我调试了错误的正确文本问题.

小智 6

几件事:

  1. 您编写的代码将抛出解释器错误而不会运行.(例如,电子邮件地址周围没有引号.)
  2. 该库暂时没有更新.我强烈推荐积极开发且名称相似的Nodemailer库,该库具有gmail的SMTP等常用服务的简写.

完全披露:我向Nodemailer提供了亚马逊SES功能(尽管最近重写了从0.1.x到0.3.x的底层架构意味着我不再出现git blame了).

编辑:我仔细看了你的代码.假设您的实际代码中没有拼写错误,我怀疑以下行是罪魁祸首:this.now.successfullySent(result);

基本上,回调函数的this不是你认为它是.您需要this通过将对象分配给变量来缓存对象的范围self.(假设我们没有处理底层库中的问题.)