NodeJS如何免费发送邮件,使用Nodemailer发送电子邮件

案例:用户注册成功提交表单后,您需要发送确认电子邮件,或者有活动的时候需要发送邮件告诉客户。

那么就可以使用Nodemailer可以在 nodejs 本身中免费完成,NodemailerMIT许可协议

NodeJS如何免费发送邮件,使用Nodemailer发送电子邮件_第1张图片

一、首先,安装 Node Mailer,直接使用npm安装

npm install nodemailer

二、然后引入使用

require('nodemailer')
  1. 使用任一方法创建一个 Nodemailer 传输器 SMTP 或者 其他 运输机制
  2. 设置 消息选项 (谁送什么给谁)
  3. 使用之前创建的传输器的sendMail()方法传递消息对象

三、创建一个传输器

Transporter 是能够发送电子邮件的对象。它包含有关连接的数据。
我正在使用 gmail 发送电子邮件,这就是传输器查找我的方式:

const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: [email protected],
pass: password
}
});

四、我们还需要一个包含要发送的消息的对象

const mailOptions = {
from: 'The Idea project',
to: toAddress,
subject: 'My first Email!!!',
text: "This is my first email. I am so excited!"
};

您可以使用 html 键而不是文本发送 html 电子邮件。

五、接下来,要实际发送电子邮件,请使用
transporter.sendMail(mailOptions, callback)

完整代码示例:

"use strict";
const nodemailer = require("nodemailer");

async function main() {
  
  let testAccount = await nodemailer.createTestAccount();

  // 使用默认的 SMTP 传输创建可重用的传输器对象
  let transporter = nodemailer.createTransport({
    host: "smtp.ethereal.email",
    port: 587,
    secure: false, 
    auth: {
      user: testAccount.user, // 测试用户
      pass: testAccount.pass, // 测试密码
    },
  });

  //使用定义的传输对象发送邮件
  let info = await transporter.sendMail({
    from: '"Fred Foo " ', // 发件地址
    to: "[email protected], [email protected]", // 收件人
    subject: "Hello ✔", // 主题
    text: "Hello world?", // 标题
    html: "Hello world?", // 内容
  });

  console.log("发送成功: %s", info.messageId);
  // 发送成功: 

  // 预览仅在通过 Ethereal 帐户发送时可用
  console.log("预览地址: %s", nodemailer.getTestMessageUrl(info));
  // 预览地址: https://ethereal.email/message/WaQKMgKddxQDoou...
}

main().catch(console.error);

 

你可能感兴趣的:(Node给你打下的江山,node,node.js,发送邮件,js)