使用用户输入使用nodemailer和gmail发送电子邮件

问题描述 投票:0回答:1

All the files I have in my folder

[Script.js 代码] (https://pastebin.com/Z3X5vrBc) Server.js代码

我有一个项目将于周二到期,我的想法是制作一个网站,向您输入的电子邮件发送时间敏感的提醒。我已经尝试过并试图让它工作,但我的控制台甚至没有记录任何问题,而不是当我进入浏览器控制台时它给了我这个;

script.js:19     POST http://127.0.0.1:5500/sendReminder net::ERR_ABORTED 405 (Method Not Allowed)
(anonymous) @ script.js:19
script.js:38 Error: Error: Network response was not ok (HTTP status 405)
at script.js:28:23

如果有人知道为什么我的代码不起作用,我将非常感谢您的帮助!

我查看了多种表格来查找任何距离我较近的项目,但我找不到任何东西。我什至求助于 CHATGPT 来获得一些帮助,但它并没有解决我的问题。

javascript html node.js gmail-api nodemailer
1个回答
0
投票

要设置 Gmail SMTP,您需要进行以下设置:

Server address: smtp.gmail.com
Name: Your full name
Username: Your Gmail address
Password: Your Gmail login code auth password 
Port: 587 (TLS), 465 (SSL), or 25 (TLS/SSL)

我建议你使用try catch,如果像这样try

    app.post("/sendReminder", (req, res) => {
    const { email, remindertime } = req.body;

    if (!email || !reminderTime) {
        return res.status(400).json({ error: "Missing required fields" });
    }

    const reminderTime = new Date(remindertime);

并使用它来修复错误😍

// Create a nodemailer transporter
const transporter = nodemailer.createTransport({
    host: "smtp.gmail.com",
    port: 465,
    secure: true, // use SSL
    auth: {
        user: process.env.EMAIL_USER, // Use environment variables for better security
        pass: process.env.EMAIL_PASSWORD,
    },
});

© www.soinside.com 2019 - 2024. All rights reserved.