📅  最后修改于: 2023-12-03 14:44:44.800000             🧑  作者: Mango
Nodemailer 是一个非常受欢迎的 Node.js 库,用于轻松发送电子邮件。它是一个可靠的解决方案,具有简单和用户友好的 API。该库支持 SMTP,sendmail,Amazon SES,Mailgun,Direct transport(无需任何外部服务)和更多其他功能。
首先,在终端中使用NPM安装Nodemailer库,这是一个基本的安装命令:
npm install nodemailer
```bash
npm install nodemailer
然后,在您的Javascript文件中可以引入 Nodemailer :
```javascript
const nodemailer = require("nodemailer");
接下来,您可以使用Nodemailer API。以下是一个可以发送电子邮件的示例:
let transporter = nodemailer.createTransport({
service: "Gmail",
auth: {
user: "gmail_user@gmail.com", //账号
pass: "gmail_password", //密码
},
});
let mailOptions = {
from: "发件人邮箱",
to: "收件人邮箱",
subject: "邮件主题",
html: "<p>邮件内容</p>",
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log(error);
} else {
console.log("邮件发送成功!", info.response);
}
});
Nodemailer 可以与其他邮件服务商集成,例如: Google Cloud, Mailgun, Amazon Simple Email Service (SES), etc.
使用 SMTP 的示例:
//Stmp Transport 配置
let transporter = nodemailer.createTransport({
host: "smtp.example.com",
port: 465,
secure: true,
auth: {
user: "username",
pass: "password",
},
});
Nodemailer API在发送电子邮件时可以用事件监听器进行进程控制。您可以处理成功或错误的响应,再其基础上可以做一些更复杂的操作。
以下是示例:
transporter.verify(function (error, sucess) {
if (error) {
console.log(error);
} else {
console.log("服务器通过认证: " + success);
}
});
transporter.on("sending", (mail) => {
console.log("Sending mail...");
});
transporter.on("sent", (mail) => {
console.log("Email Sent!");
});
transporter.on("error", (error) => {
console.log("Error: ", error.message);
});
Nodemailer 是一个强大且容易使用的 Node.js 库,可以轻松地发送电子邮件。您可以使用它来集成外部邮件服务,包括Google Cloud, Mailgun, Amazon Simple Email Service (SES)等等。如果您想在Node.js项目中创建电子邮件传输组件,那么 Nodemailer 是您的最佳选择。