📌  相关文章
📜  nodemailer, mailer, nodemailer npm - Javascript (1)

📅  最后修改于: 2023-12-03 14:44:44.800000             🧑  作者: Mango

Nodemailer - 发送邮件的利器

Nodemailer

Nodemailer 是一个非常受欢迎的 Node.js 库,用于轻松发送电子邮件。它是一个可靠的解决方案,具有简单和用户友好的 API。该库支持 SMTP,sendmail,Amazon SES,Mailgun,Direct transport(无需任何外部服务)和更多其他功能。

Nodemailer 的特性
  • 支持发送HTML,纯文本及附件
  • SSL/TLS加密
  • 支持多种认证方式
  • 支持连接池
  • 支持事件监听器
如何使用 Nodemailer

首先,在终端中使用NPM安装Nodemailer库,这是一个基本的安装命令:

npm install nodemailer
  • 参考代码片段(markdown):
```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 的事件监听器

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 是您的最佳选择。