nodemailer电子邮件登录无效

时间:2016-03-08 06:35:24

标签: javascript nodemailer

  

{[错误:登录无效:535 5.0.0身份验证失败]代码:   'EAUTH',回复:'535 5.0.0身份验证失败',
  responseCode:535}

它一直给我这个错误,尝试了几次不同的教程,仍然没有工作......

另外我知道很难访问gmail的身份验证,而且我的gmail有两步安全验证,所以我决定使用Hotmail代替......

以下是我的index.html的代码

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script><script>
        <script>
            $(document).ready(function(){
                    var from,name,email,subject,text;
                    $("#submit").click(function(){
                            name=$("#name").val();
                            email=$("#email").val();
                            subject=$('#subject').val();`enter code here`
                            text=$("#message").val();
                            $("#messages").text("Sending E-mail...Please wait");
                            $.get("http://localhost:8000/send",{name:name,email:email,subject:subject,text:text},function(data){
                            if(data=="sent")
                            {
                                    $("#messages").empty().html("

            Email is been sent at "+to+" . Please check inbox !

            ");
                            }

            });
                    });
            });
        </script>
下面的

是我的server.js代码

var express = require('express');
var path = require('path');
var app = express();
var nodemailer = require("nodemailer");

app.use(express.static('assets'));

var smtpTransport = nodemailer.createTransport({
  service: 'Hotmail',
  auth: {
    user: 'myemail.com',
    pass: 'something'
  }
});

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

app.get('/send', function(req, res){

  var mailOptions={
       from: "ME <my@hotmail.com>",
       name : req.query.name,
       To: req.query.email,
       subject: req.query.subject,
       text: req.query.message
   };

   console.log(mailOptions);
    smtpTransport.sendMail(mailOptions, function(error, response){
     if(error){
            console.log(error);
        res.end("error");
     }else{
            console.log("Message sent: " + response.message);
        res.end("sent");
      }
  });
});

app.listen(8000, function(){`enter code here`
});

1 个答案:

答案 0 :(得分:1)

Hotmail可能会阻止来自意外地理位置的连接,请检查您的帐户安全概述,看看是否需要确认是否有任何登录尝试。

此外,如果您为Hotmail使用双因素身份验证,那么您需要Nodemailer的应用程序专用密码,在这种情况下您无法使用您的帐户密码。