email.js
var nodemailer = require('nodemailer')
var smtpTransport = require('nodemailer-smtp-transport');
smtpTransport = nodemailer.createTransport(smtpTransport({
service: "qq",
auth: {
// 发件人邮箱账号
user: '28744xxx@qq.com',
//发件人邮箱的授权码 这里可以通过qq邮箱获取 并且不唯一
pass: 'uvkmupyfykeudfhf'
}
}));
/**
* @param {String} recipient 收件人
* @param {String} subject 发送的主题
* @param {String} html 发送的html内容
*/
var sendMail = function (recipient, subject, html) {
smtpTransport.sendMail({
from: 'xxxx@qq.com',
to: recipient,
subject: subject,
html: html
}, function (error, response) {
if (error) {
console.log(error);
}
console.log('发送成功')
});
}
// sendMail('1981389505@qq.com', "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
到此发右键,我们就会了!