我在 nodemailer 中未定义 req.body 的问题。
React:我已经编写了整个函数,并且所有数据都正确传递。console.log(data) 给了我正确的对象。
axios
.post(`${this.state.API_URL}/email/send`, JSON.stringify(data))
.then((response) => {
});
Express:只是 nodemailer 的重要部分。
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
const emailRoute = require("./routes/api/emailRoute");
app.use("/email", emailRoute);
电子邮件路由:
router.post("/send", async (req, res) => {
const EmailAddress = process.env.EMAIL_ADDRESS;
const transporter = nodemailer.createTransport({
service: "hotmail",
auth: {
user: EmailAddress,
pass: process.env.EMAIL_PASS,
},
});
await transporter.sendMail(
{
from: req.body.email,
to: EmailAddress,
subject: "Email from app",
text: `name: ${req.body.name}
current-role: ${req.body.role}
sports-car: ${req.body.enthusiast}
comment: ${req.body.comment}`,
},
(err, data) => {
if (err) {
res.sendStatus(503).json(err);
} else {
res.sendStatus(200).json("email sent");
}
}
);
});
我正在将电子邮件发送到我的电子邮件帐户,但这就是我得到的。
from [unknown]
name: undefined
current-role: undefined
sports-car: undefined
comment: undefined
我究竟做错了什么 ?
谢谢你。