WishMeLz

生活其实很有趣

nodejs发送邮件

开启QQ邮箱的SMTP服务

// 安装npm install nodemailer --save
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
    service: 'qq',
    port: 465, // SMTP 端口
    secureConnection: true, // 使用 SSL
    auth: {
        // 你的smtp账号
        user: '**********',
        //这里密码不是qq密码,是你设置的smtp密码
        pass: '***********'
    }
});
let emel = '*******@qq.com';
let num = Math.floor(Math.random() * 999999);
var mailOptions = {
    from: 'realtime_note@foxmail.com', // 发件地址
    to: emel, // 收件列表
    subject: '及时验证短信', // 标题
    //text和html两者只支持一种
    text: 'Hello world2 ?', // 标题
    html: '<b>验证码:</b>' + num // html 内容
};
transporter.sendMail(mailOptions, function (error, info) {
    if (error) {
        flsa = false;
        return console.log(error);
    }
    console.log('Message sent: ' + info.response);
});

使用阿里企业邮箱发送邮件:
 let transporter = nodemailer.createTransport({
        host: 'smtp.qiye.aliyun.com',
        port: 25,
        secure: false, // true for 465, false for other ports
        auth: {
            user: '', // 邮箱账号
            pass: '' // 邮箱密码
        }
    });

注意!! 阿里服务器25端口需要申请开放。一般不会申请成功。
const transporter = nodemailer.createTransport({
    host: "eu1.workspace.org", // SMTP 服务器地址
    port: 587, // 常用端口:587(STARTTLS) 或 465(SSL)
    secure: false, // true 表示使用 465 端口(SSL),false 表示 587(STARTTLS)
    auth: {
        user: "axxxn@xxx.me", // 发件人邮箱
        pass: "xxxxx", // 邮箱密码或应用专用密码
    },
    tls: {
        rejectUnauthorized: false, // 开发环境可禁用证书验证(生产环境需启用)
    },
});