如何使用 Node.js 中的 Gmail 帐户通过 Nodemailer 发送电子邮件?
Nodemailer 是允许轻松发送电子邮件的 Node.js npm 模块。在本文中,我们将介绍在 nodemailer 的帮助下使用 Gmail 帐户发送电子邮件的每个步骤。
安装:转到项目文件夹并使用以下命令。
- 创建一个 package.json 文件。
npm init -y
- 安装节点邮件程序
npm install nodemailer -S
- 直接创建 server.js 文件或使用命令
touch server.js
方法:
- 使用
require('nodemailer')
在代码中包含 nodemailer 模块。 - 使用
nodemailer.createTransport()
函数创建一个将发送邮件的传输器。它包含服务名称和身份验证详细信息(用户和密码)。 - 声明一个包含发件人和收件人电子邮件 ID、主题和邮件内容的变量 mailDetails。
- 使用
mailTransporter.sendMail()
函数将电子邮件从发件人发送到收件人。如果消息发送失败或包含错误,则会显示错误消息,否则消息发送成功。
例子:
const nodemailer = require('nodemailer');
let mailTransporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'xyz@gmail.com',
pass: '*************'
}
});
let mailDetails = {
from: 'xyz@gmail.com',
to: 'abc@gmail.com',
subject: 'Test mail',
text: 'Node.js testing mail for GeeksforGeeks'
};
mailTransporter.sendMail(mailDetails, function(err, data) {
if(err) {
console.log('Error Occurs');
} else {
console.log('Email sent successfully');
}
});
现在打开链接 https://myaccount.google.com/lesssecureapps 以允许不太安全的应用程序:打开。然后使用node index.js
命令运行上面的代码。它将使用 gmail 帐户发送电子邮件。
输出:
- 终端运行代码:
- 发送邮件:
注意 1:要在任何文件中使用此代码,我们只需导入此文件并调用 send()函数。
var mail = require('./config/mailer')();
mail.send();
注意 2:要在电子邮件中发送 HTML 格式的文本,请使用“html”属性而不是 sendMail函数中的“text”属性。
{ from:'"admin" ',
to: "user@gmail.com",
subject:'GeeksforGeeks Promotion',
html:' html code
'
}
注意 3:要向多个收件人发送电子邮件,请将它们添加到 sendMail函数中的“to”属性中,以逗号分隔。
{ from:'”admin” ‘,
to: ” user1@gmail.com, user2@gmail.com, user3@yahoo.in “,
subject:’GeeksforGeeks Promotion’,
text:’Check out GeeksforGeeks’+’best site to prepare for interviews and competitive exams.’
}