我正在尝试通过使用nodemailer和node.js并通过express的输入表单,使用gmail发件人地址发送电子邮件。我一直收到错误响应代码554。因此,我安装并需要SMTP传输,但仍然收到错误。我是否错过了导致此错误的nodemailer安装步骤
app.j
var Express = require("express");
var app =Express();
var port = process.env.PORT || 3000;
app.set("view engine","ejs");
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({extended: true}));
var smtpTransport = require('nodemailer-smtp-transport');
var nodemailer= require("nodemailer");
var transporter=nodemailer.createTransport(smtpTransport({
service: 'outlook',auth: {
user: 'antonyt@live.com',pass: 'passcode123'
}
}));
app.use(Express.static("public"));
var images=[
{name: "Logo",image:"/images/pic.png"},{name: "Logo",image:"/images/beforeboat.jpg"},image:"/images/completedboat.jpg"},image:"/images/inprogressboat.jpg"},image:"/images/inprogressboat.jpg"}]
app.get("/gallery",function(req,res){
res.render("gallery",{images:images});
});
app.get("/",res){
res.render("home");
});
app.get("/contact",res){
res.render("contact");
});
app.post("/contact",res){
var name = req.body.name;
var email = req.body.email;
var message= req.body.message;
var mailOptions={
from: email,to: 'antonyt@live.com',subject: req.body.name,text: req.body.message
};
transporter.sendMail(mailOptions,function(error,info){
if(error){
console.log(error);
}
else{
console.log('email sent:' + info.response);
}
});
});
app.listen(port,function(){
console.log("Server started boys!")
});
contact.ejs
<% include header %>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div id="contactitle" >
<h2 class="ml-auto mr-auto">Contact</h2>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="jumbotron">
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<form action="/contact" method="POST" class="ml-auto mr-auto">
<div class="form-group">
<label for="name"> Name: </label>
<input class="form-control" type="text" id="nameinput" name="name"></input>
</div>
<div class="form-group">
<label for="email"> Email: </label>
<input class="form-control" type="text" id="emailinput" name="email"></input>
</div>
<div class="form-group">
<label for="messagebox"> Message: </label>
<textarea class="form-control"id="messagebox" name="message" rows="5" cols="50">
</textarea>
</div>
<button type="submit" class="btn btn-primary btn-block"> SEND </button>
</form>
</div>
</div>
</div>
<% include footer %>
错误图片