node 发送邮件的写法,亲测可用

email.js



var nodemailer = require('nodemailer')

var smtpTransport = require('nodemailer-smtp-transport');

smtpTransport = nodemailer.createTransport(smtpTransport({
    service: "qq",
    auth: {
        // 发件人邮箱账号
        user: '[email protected]',
        //发件人邮箱的授权码 这里可以通过qq邮箱获取 并且不唯一
        pass: 'uvkmupyfykeudfhf'
    }
}));

/**
 * @param {String} recipient 收件人
 * @param {String} subject 发送的主题
 * @param {String} html 发送的html内容
 */
var sendMail = function (recipient, subject, html) {

    smtpTransport.sendMail({

        from: '[email protected]',
        to: recipient,
        subject: subject,
        html: html

    }, function (error, response) {
        if (error) {
            console.log(error);
        }
        console.log('发送成功')
    });
}

// sendMail('[email protected]', "action", "<h3>action</h3>")

module.exports = sendMail;

使用

const http = require('http')
const fs = require('fs')
const mysql = require('mysql');
const co = require('co-mysql')
const sendMail = require('./email');


const conn = mysql.createPool({
    host: 'localhost',
    user: 'root',
    password: '123456',
    database: 'blog',
    charset: 'utf8'
})

const db = co(conn)



// 实测一个qq 可以发400 条记录
setTimeout(async () => {
    const result = await db.query(`select * from users where Gender='F' limit 0,400 `);
    result.forEach(item => {
        let { EMail, Name, Address } = item;
        console.log(EMail, Name, Address)
        if (EMail) {
            sendMail(EMail, "xxxxx", `<h3>${Name}小雪雪</h3>`)
        }
    })
})

其实很简单,通过阅读上面代码,你会发现,发送邮件需要打开pop3

到此发右键,我们就会了!

猜你喜欢

转载自blog.csdn.net/qq_15009739/article/details/108197813