2 回答

TA貢獻2037條經驗 獲得超6個贊
當我正確輸入我自己的信息并打開“不太安全的應用程序”時,它完美地工作,請嘗試這種方式
注意(關鍵):確?!安惶踩膽贸绦颉边x項已打開 (如果您不知道如何打開,可以訪問此處)
注意:確保關閉兩步驗證
var express = require("express");
var router = express.Router();
var nodemailer = require("nodemailer");
const myGmailAccount = {
mail: 'your_gmail_address', // MAIL
passw: 'your_gmail_password', // PASSW
};
/* GET contact page. */
router.get("/", function (req, res, next) {
res.render("contact", { title: "Contact" });
});
router.post("/send", function (req, res, next) {
var transporter = nodemailer.createTransport({
service: "Gmail",
auth: {
user: myGmailAccount.mail,
pass: myGmailAccount.passw,
},
tls: {
rejectUnauthorized: false
}
});
var mailOptions = {
from: myGmailAccount.mail,
to: '[email protected]', // recipient mail
subject: "Website Submission",
text:
"You have a new submission with the following details...Name: " +
req.body.name +
" Email: " +
req.body.email +
" Message: " +
req.body.message,
html:
"<p> You got a new submission with the following details...</p><ul></ul><li>Name: " +
req.body.name +
"</li><li>Email: " +
req.body.email +
"</li><li>Message: " +
req.body.message +
"</li></ul>",
};
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
console.log(error);
res.redirect("/");
} else {
console.log("Message Sent: " + info.response);
}
});
});

TA貢獻1779條經驗 獲得超6個贊
是的,您需要輸入您的真實信息,我建議您閱讀此文本。
盡管 Gmail 是開始發送電子郵件的最快方式,但除非您使用 OAuth2 身份驗證,否則它絕不是一個更好的解決方案。Gmail 希望用戶是真正的用戶而不是機器人,因此它會針對每次登錄嘗試運行大量試探法,并阻止任何看起來可疑的內容,以保護用戶免受帳戶劫持企圖。例如,如果您的服務器位于另一個地理位置,您可能會遇到麻煩——在您的開發機器上一切正常,但消息在生產環境中被阻止。
此外,Gmail 提出了“不太安全”應用程序的概念,基本上任何人都可以使用普通密碼登錄 Gmail,因此您最終可能會遇到一個用戶名可以發送郵件的情況(對“不太安全”的應用程序的支持是啟用)但其他被阻止(禁用對“不太安全”的應用程序的支持)。您可以在此處配置您的 Gmail 帳戶以允許安全性較低的應用程序。使用此方法時,請確保還通過完成“Captcha Enable”挑戰來啟用所需的功能。沒有這個,安全性較低的連接可能無法工作。
并確?!鞍踩暂^低的應用程序”選項已打開 如果您不知道如何打開,可以訪問此處
有關更多信息,我建議您查看此頁面
添加回答
舉報