一切似乎都很正常。没有接收到任何错误。Post请求成功通过,但表单提交后未收到电子邮件
const nodemailer = require('nodemailer');
router.post('/', (req, res) => {
const transporter = nodemailer.createTransport({
host: 'Gmail',
auth: {
user: '*********@gmail.com',
pass: '*********',
},
});
const name = req.body.name;
const email = req.body.email;
const message = req.body.message;
const mail = {
from: email,
to: '*********@gmail.com',
subject: 'Contact Form Message',
html: `<p>Name: ${name}</p><p>Message: ${message}</p>`,
};
transporter.sendMail(mail, (error) => {
if (error) {
res.json({ status: 'failed' });
} else {
res.json({ status: 'sent' });
}
});
});发布于 2020-10-28 23:03:24
以下是解决方案代码:
const express = require('express')
const router = express.Router();
const nodemailer = require('nodemailer');
router.post('/send', (req, res) => {
const transporter = nodemailer.createTransport({
service: 'gmail',
port: 587,
secure: false,
auth: {
user: 'xxxx@gmail.com',
pass: 'xxxx'
},
});
const name = req.body.name;
const email = req.body.email;
const message = req.body.message;
const mail = {
from: email,
to: 'xyz@gmail.com',
subject: 'Contact Form Message',
html: `<p>Name: ${name}</p><p>Message: ${message}</p>`,
transporter.sendMail(mail, (error) => {
if (error) {
res.json({ status: 'failed' });
} else {
res.json({ status: 'sent' });
}
});
});
module.exports = router;在这里你需要注意两件事:
单击此处启用安全性较低的应用程序- https://www.google.com/settings/security/lesssecureapps
它对我来说是这样的。
https://stackoverflow.com/questions/64398764
复制相似问题