在node.js中创建电子邮件服务

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

我正在尝试在 MERN 堆栈应用程序中为用户创建电子邮件调度服务。 我正在使用 Nodemailer 进行电子邮件服务。但我需要在谷歌帐户设置中启用“访问不太安全的应用程序”。用户对这个选项不会感到安全。

const transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: userEmail,
        pass: userPassword
    }
});

这是代码。它需要客户端 ID、秘密和访问令牌,以便 Nodemailer 发送邮件,而无需“允许启用不太安全的应用程序”。但我认为我无法获得该信息。 有其他方法可以解决这个问题吗?

node.js email mern nodemailer
1个回答
0
投票

我不知道谷歌什么时候更新了他们的安全措施,以防止未经授权的方式发送邮件。截至目前,我们正处于开发阶段,因此我们属于该类别。

方法一:- 您可以使用谷歌提供的应用程序密码功能。只需进入您的谷歌个人资料,在安全部分您将可以选择应用程序密码,您只需为您的密码创建一个密码,该密码将暂时激活用于开发目的。

方法2:- 您可以使用第三方来为您执行此操作。目前我正在使用“mailtrap”进行这项工作,您也可以按照给定的说明进行操作,或者您可以自己在官方网站上检查。

`const nodemailer = require('nodemailer');

const sendEmail = async (options) => {
    var transport = nodemailer.createTransport({
        host: "sandbox.smtp.mailtrap.io",
        port: 2525,
        auth: {
            user: "b970e161dc43e5",
            pass: "8ca678877af03a"
        }
    });

    const mailOptions = {
        from: process.env.SMTP_EMAIL,
        to: options.email,
        subject: options.subject,
        body: options.body
    }

    await transport.sendMail(mailOptions);
}

module.exports = sendEmail;`
© www.soinside.com 2019 - 2024. All rights reserved.