按照教程 https://medium.com/verclaire-nine/how-to-build-a-contact-form-with-react-and-nodemailer-3ca105eff797 尝试设置 nodemailer 并为我的投资组合的联系表单做出反应。获取错误 net::ERR_TOO_MANY_REDIRECTS 和 createError.js:16 Uncaught (in promise) Error: Network Error。 cors 是必需的,但没有被使用,我不确定这是问题所在还是我输入的错误。
server.js 看起来像这样:
const express = require('express');
const nodemailer = require('nodemailer');
const cors = require('cors');
const app = express();
require("dotenv").config();
let transporter = nodemailer.createTransport({
host: "smtp.Millhousekevin@gmail.com",
port: 587,
auth: {
user: process.env.EMAIL,
pass: process.env.PASSWORD
}
});
transporter.verify(function(error, success) {
if (error) {
console.log(error);
} else {
console.log("Server is ready to take our messages");
}
});
app.post('/send', (req, res, next) => {
var name = req.body.name
var email = req.body.email
var subject = req.body.subject
var message = req.body.message
var content = `name: ${name} \n email: ${email} \n subject: ${subject} \n message: ${message} `
var mail = {
from: name,
to: "Millhousekevin@gmail.com",
subject: subject,
text: content
}
transporter.sendMail(mail, (err, data) => {
if (err) {
res.json({
status: 'fail'
})
} else {
res.json({
status: 'success'
})
}
})
})
app.listen(3030, () => {
console.log('server start on port 3030');
});