亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Next.JS 和 Nodemailer,從聯系表單發送電子郵件

Next.JS 和 Nodemailer,從聯系表單發送電子郵件

慕田峪7331174 2023-02-17 10:29:20
我在 next.js 中的聯系表單有問題,我沒有任何錯誤(已顯示),一切正常,直到部署(在 Vercel 上)。我獲取我的表格,狀態為 200,但我沒有收到 Gmail 上的電子郵件。我也沒有收到任何其他信息。當我在“開發”和“構建”上測試我的應用程序時,我收到了電子郵件。我在 Gmail 帳戶中也有“不太安全的應用程序”選項。這是我在 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");};請幫忙
查看完整描述

1 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

由于您的代碼在本地而不是在部署環境中運行良好,我有兩個建議。


首先,確保您已設置所有環境變量。


其次,您編寫代碼的方式總是會返回成功,因為它transporter.sendMail是異步的并且res.send在代碼之外。


改變像,


transporter.sendMail(mailOption, (err, data) => {

    if (err) {

      console.log(err);

      res.send("error" + JSON.stringify(err));

    } else {

      console.log("mail send");

      res.send("success");

    }

});


查看完整回答
反對 回復 2023-02-17
  • 1 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號