基于nodemailer实现邮件发送

2023-10-19 14:29:44 浏览数 (2)

概述

node中可用nodemailer实现邮件的发送。本文使用QQ邮箱实现邮件的发送。

实现效果

实现

1. QQ邮箱配置

首先需要开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,如下图所示。

生成授权码

2. 发送邮件

发送邮件的代码比较简单,如下:

代码语言:javascript复制
const nodemailer = require('nodemailer')

const config = {
    // 配置服务商提供的发送服务器和端口号
    host: "smtp.qq.com",
    auth: {
        // 发件人邮箱账号
        user: 'niujp08@qq.com',
        //发件人邮箱的授权码 需要在自己的邮箱设置中生成,并不是邮件的登录密码
        pass: '邮箱的授权码'
    }
}
const transporter = nodemailer.createTransport(config)

// 配置收件人信息
const receiver = {
    // 发件人 邮箱  '昵称<发件人邮箱>'
    from: `"牛健平"<niujp08@qq.com>`,
    // 主题
    subject: '录取通知',
    // 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
    to: 'niujp08@qq.com',
    // 可以使用html标签
    html: `
    <h1>你好,您的邮件已收到!</h1>
    <hr/>
    <p>
        <b>祝:</b><br/>
        &nbsp;&nbsp;&nbsp;&nbsp;身体健康,工作顺利!
    </p>

    `
}

// 发送邮件 
transporter.sendMail(receiver, (error, info) => {
    if (error) {
        return console.log('发送失败:', error);
    }
    transporter.close()
    console.log('发送成功:', info.response)
})

0 人点赞