node.js使用nodemailer发送邮件实例


下面是一个使用`nodemailer`在Node.js中发送邮件的简单实例。请确保你已经安装了`nodemailer`包,如果还没有安装,可以通过npm或yarn来安装:


npm install nodemailer
# 或者
yarn add nodemailer

然后,你可以使用以下代码来发送一封邮件:


const nodemailer = require('nodemailer');

async function sendMail() {
    let transporter = nodemailer.createTransport({
        service: 'gmail', // 例如,使用Gmail服务
        auth: {
            user: 'your-email@gmail.com', // 你的邮箱账号
            pass: 'your-password' // 你的邮箱密码或应用专用密码
        }
    });

    let mailOptions = {
        from: '"你的名字" <your-email@gmail.com>', // 发件人地址
        to: "recipient-email@gmail.com", // 收件人列表,逗号分隔
        subject: "邮件主题", // 主题行
        text: "邮件正文 ✔", // 纯文字正文
        // html: "<b>邮件正文</b>" // HTML正文(如果需要的话)
    };

    let info = await transporter.sendMail(mailOptions);

    console.log('Message sent: %s', info.messageId);
}

sendMail().catch(console.error);

**注意**:

- 请将`your-email@gmail.com`和`your-password`替换为你的Gmail账号和密码,或者如果你使用两步验证,则应该是应用专用密码。

- 如果你使用的是其他邮件服务(如Outlook, Yahoo等),`service`选项和可能的配置可能需要相应调整。

- 根据你的邮件服务提供商,可能还需要设置其他配置选项,如端口、加密方式等。

- 出于安全考虑,直接在代码中硬编码邮箱密码不是一个好做法。考虑使用环境变量或安全的密钥管理服务来管理敏感信息。

- `text`或`html`字段用于指定邮件的正文内容,你可以根据需要选择使用其中一个或两个。

- `sendMail`函数是异步的,我们使用`async/await`来处理异步操作,并在出错时捕获异常。