📌  相关文章
📜  如何使用 Node.js 中的 Gmail 帐户通过 Nodemailer 发送电子邮件?(1)

📅  最后修改于: 2023-12-03 15:23:56.529000             🧑  作者: Mango

如何使用 Node.js 中的 Gmail 帐户通过 Nodemailer 发送电子邮件?

在 Node.js 应用程序中使用 Nodemailer 库可以轻松地通过电子邮件发送消息。在这个例子中,我们将使用 Google 的 Gmail 帐户来发送电子邮件。

步骤
1. 安装 nodemailer 库

使用如下命令来安装 nodemailer 库:

npm install nodemailer
2. 创建 Gmail 帐户的应用密码

首先,你需要创建 Google 帐户的应用密码。这个应用密码可以允许你使用 Node.js 应用程序作为一个安全的电子邮件客户端来发送邮件。要创建应用密码,请执行以下步骤:

  1. 登录到 Google 帐户。
  2. 在右上角,点击头像,选择“Google 帐户”。
  3. 选择安全性。
  4. 在“应用密码”部分,选择“生成密码”。
  5. 选择“Mail” 应用程序,选择设备类型。如果你选择“其他”设备类型,需要输入设备名称。
  6. 点击“生成”按钮。
  7. 复制生成的密码。
3. 创建邮件发送器

使用以下代码创建一个邮件发送器,并将您的 Gmail 帐户信息和应用程序密码添加到 transporter 变量中:

const nodemailer = require("nodemailer");

let transporter = nodemailer.createTransport({
  service: "gmail",
  auth: {
    user: "your_email_address@gmail.com",
    pass: "your_application_password",
  },
});

确保将“your_email_address”和“your_application_password”更改为您的 Gmail 帐户电子邮件地址和应用程序密码。

4. 创建邮件内容

使用以下代码创建一个邮件对象并设置发送方、接收方、主题和正文:

let mailOptions = {
  from: "your_email_address@gmail.com",
  to: "recipient_email_address",
  subject: "Nodemailer - Test",
  text: "This is a test email from Nodemailer",
};

确保将“your_email_address”更改为您的 Gmail 帐户电子邮件地址,并将“recipient_email_address”更改为电子邮件收件人的地址。

5. 发送邮件

使用以下代码将邮件发送出去:

transporter.sendMail(mailOptions, function (error, info) {
  if (error) {
    console.log(error);
  } else {
    console.log("Email sent: " + info.response);
  }
});
完整代码
const nodemailer = require("nodemailer");

let transporter = nodemailer.createTransport({
  service: "gmail",
  auth: {
    user: "your_email_address@gmail.com",
    pass: "your_application_password",
  },
});

let mailOptions = {
  from: "your_email_address@gmail.com",
  to: "recipient_email_address",
  subject: "Nodemailer - Test",
  text: "This is a test email from Nodemailer",
};

transporter.sendMail(mailOptions, function (error, info) {
  if (error) {
    console.log(error);
  } else {
    console.log("Email sent: " + info.response);
  }
});
结论

通过使用上述步骤,您可以轻松地使用 Node.js 应用程序以及 Gmail 帐户通过 Nodemailer 发送电子邮件。