我在 next.js 中的聯(lián)系表單有問題,我沒有任何錯(cuò)誤(已顯示),一切正常,直到部署(在 Vercel 上)。我獲取我的表格,狀態(tài)為 200,但我沒有收到 Gmail 上的電子郵件。我也沒有收到任何其他信息。當(dāng)我在“開發(fā)”和“構(gòu)建”上測(cè)試我的應(yīng)用程序時(shí),我收到了電子郵件。我在 Gmail 帳戶中也有“不太安全的應(yīng)用程序”選項(xiàng)。這是我在 Next.JS 中的代碼:contact.js 中的 fetch 方法: fetch("/api/contact", { method: "POST", headers: { Accept: "application/json, text/plain, */*", "Content-Type": "application/json", }, body: JSON.stringify({ name: mailName, email: mailAddress, text: mailText, }), }).then((res) => { console.log("Fetch: ", res); res.status === 200 ? router.push("/success") : router.push("/error");在 api/contact.js 中require("dotenv").config();const nodemailer = require("nodemailer");export default (req, res) => { const { name, email, text } = req.body; const transporter = nodemailer.createTransport({ service: "gmail", auth: { user: process.env.EMAIL, pass: process.env.PASSWORD, }, }); const mailOption = { from: `${email}`, to: `${process.env.EMAIL}`, subject: `New mail from ${email}`, text: ` ${name} wrote: ${text} `, }; transporter.sendMail(mailOption, (err, data) => { if (err) { console.log(err); } else { console.log("mail send"); } }); console.log(name, email, text); res.send("success");};請(qǐng)幫忙
Next.JS 和 Nodemailer,從聯(lián)系表單發(fā)送電子郵件
慕田峪7331174
2023-02-17 10:29:20