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

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

 

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

Node.js中,要通过IMAP(Internet Message Access Protocol)发送电子邮件,通常需要使用第三方库,如`nodemailer`。`nodemailer`是一个广泛使用的模块,它支持多种邮件传输方案,包括SMTP(简单邮件传输协议),以及通过IMAP进行身份验证并操作邮箱。 以下是使用`nodemailer`和IMAP发送邮件的基本步骤: 1. 安装`nodemailer`: ```bash npm install nodemailer ``` 2. 导入必要的模块,并配置IMAP连接信息: ```javascript const transporter = require('nodemailer'); const imap = require('imap'); // 邮件服务提供商的设置,例如 Gmail const auth = { user: 'your_email@gmail.com', pass: 'your_password', // 可能需要使用应用密码 host: 'imap.gmail.com', secureConnection: true, }; // 如果使用OAuth2,参考nodemailer文档 // const oauth2Client = new OAuth2Client(client_id, client_secret, redirect_uri); // const accessToken = await oauth2Client.getToken(code); // 获取访问令牌 // 创建一个新的IMAP实例 const imapClient = new imap(auth); ``` 3. 连接到IMAP服务器并登录: ```javascript await imapClient.connect(); await imapClient.login(auth.user, auth.pass); ``` 4. 使用IMAP API选择收件箱并创建新邮件: ```javascript const mailOptions = { from: 'sender@example.com', to: 'recipient@example.com', subject: 'Test email using IMAP in Node.js', text: 'This is a test message sent via IMAP in Node.js', }; // 使用IMAP API操作邮箱 await imapClient.select('INBOX'); // 选择收件箱 await imapClient.createMessage(mailOptions); ``` 5. 发送邮件并断开连接: ```javascript const msg = imapClient.message({ id: 'new_message_id' }); // 获取新消息ID await imapClient.send(msg); await imapClient.end(); // 断开连接 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值