我需要从我的服务器端发送电子邮件,也就是node js。我浏览了一下如何在node js中用gmail发送电子邮件,但都已经过时了。谷歌去年停用了不太安全的应用程序功能。然后我找到了Gmail API。我又试着浏览了一下如何用gmail API发送电子邮件,但我没有找到任何有用的东西。尝试阅读gmail API文档,但他们没有给予nodejs的示例(只有java和python)。那么谁能告诉我最新的方法(2023方法)关于如何使用gmail API发送电子邮件?或者至少给予我一个参考。
zzzyeukh1#
希望你做得很好..在nodejs中发送电子邮件,你可以使用Nodemailer库..以下是图书馆文档的链接:https://nodemailer.com/about/有关SMTP配置,您可以访问以下站点:https://www.lifewire.com/what-are-the-gmail-smtp-settings-1170854的注意:从您要发送电子邮件的邮件帐户生成应用程序密码。正常密码在这里不起作用。以下是如何生成应用程序密码的链接:https://support.google.com/mail/answer/185833?hl=en的
roejwanj2#
在这里,首先安装nodemailer(npm i nodemailer),然后
nodemailer
npm i nodemailer
const nodemailer = require("nodemailer"); const transporter = nodemailer.createTransport({ host: "smtp.gmail.com", port: 465, secure: true, auth: { user: process.env.EMAIL_USER, pass: process.env.EMAIL_KEY } });
字符串将process.env.EMAIL_USER替换为您的gmail地址,将process.env.EMAIL_KEY替换为您的应用程序密码(将从您的Google帐户>安全> 2FA>应用程序密码生成),然后
process.env.EMAIL_USER
process.env.EMAIL_KEY
async function sendEmail(email, subject, body) { const info = await transporter.sendMail({ from: `"SOME NAME" <SENDER EMAIL>`, // sender address //TODO: update to: email, // list of receivers subject: subject, // Subject text: body, // plain text body // html: "<b>Hello world?</b>", // html body }).catch(console.error); return info ? info.messageId : null; } if(await sendEmail('email@gmail.com', 'subject', 'body')){ console.log('message sent!'); }
型
2条答案
按热度按时间zzzyeukh1#
希望你做得很好..在nodejs中发送电子邮件,你可以使用Nodemailer库..
以下是图书馆文档的链接:https://nodemailer.com/about/
有关SMTP配置,您可以访问以下站点:https://www.lifewire.com/what-are-the-gmail-smtp-settings-1170854的
注意:从您要发送电子邮件的邮件帐户生成应用程序密码。正常密码在这里不起作用。
以下是如何生成应用程序密码的链接:https://support.google.com/mail/answer/185833?hl=en的
roejwanj2#
在这里,首先安装
nodemailer
(npm i nodemailer
),然后字符串
将
process.env.EMAIL_USER
替换为您的gmail地址,将process.env.EMAIL_KEY
替换为您的应用程序密码(将从您的Google帐户>安全> 2FA>应用程序密码生成),然后型