nodejs中邮件发送配置的四种方式

nodejs中,运用 nodemailer 模块发送邮件的四种方式:
1.GandiMail,Gmail,iCloud,QQ,Yahoo等邮箱服务器
新建mail.js配置文件,以QQ为例,配置如下:

module.exports={
    email:{
        port:587,
        host:"qq",
        service:"qq",
        user: 'XXXX',//发信邮箱账号
        pass: 'XXXX'//发信邮箱密码,这里的密码用的安全管家生成的动态密码,不是普通的qq登录密码等(邮箱--设置--账户--POP3服务--开启POP3、SMTP服务生成的密码)
    }
};

新建文件sendMail.js,配置如下:

var nodemailer=require('nodemailer');
const smtpTransport = require('nodemailer-smtp-transport');
var config = require('../config/mail');

var transporter = nodemailer.createTransport(smtpTransport({
   service: config.email.service,
    auth: {
        user: config.email.user,//发信人账号
        pass: config.email.pass//发信人密码
    },
}));
function sendMail(adress,cc,subject,username,html) {
    transporter.sendMail({
        from: config.email.user,//发信人config
        to: adress, //adress 收件人
        cc:cc,
        subject: subject,//subject 发送的主题
        html: 'Hi  &nbsp;&nbsp;'+username+',<br>'+
               '  <br>'+
               '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;您好! '+html+ '<br>'+
               '  <br>'+
               '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;谢谢 。<br>'+
               '<br>'+
               'Best Regards<br>'+
               '<br>'//html 发送的html内容
    }, function (err, result) {
        if (err) {
            console.log("send email errror:"+err);
        }else{
            //console.log("send email success!");
        }
    });
}

使用时直接 引入sendMail.js 使用new sendMail(接收人, ‘抄送人’, ‘邮件主题’, 内容);即可发送邮件
2.自己搭建的发送邮件服务,且连接安全设置为:无
mail.js中配置如下:

email:{
    port:587,//发件邮箱服务器的端口
    host:"发件邮箱服务器的IP地址",//此处为自己发件邮箱服务器的IP地址
    user: '发信邮箱账号',//发信邮箱账号
    pass: '发信邮箱密码'//发信邮箱密码
}

sendMail.js中配置如下:

var transporter = nodemailer.createTransport(smtpTransport({
    port:config.email.port,
    host:config.email.host,
    auth: {
        user: config.email.user,//发信人账号
        pass: config.email.pass//发信人密码
    },
}));

3.自己搭建的发送邮件服务,且连接安全设置为:STARTTLS
mail.js中配置如下:

email:{
    port:587,//发件邮箱服务器的端口
    host:"发件邮箱服务器的IP地址",//此处为自己发件邮箱服务器的IP地址
    user: '发信邮箱账号',//发信邮箱账号
    pass: '发信邮箱密码'//发信邮箱密码
}

sendMail.js中配置如下:

var transporter = nodemailer.createTransport(smtpTransport({
    port:config.email.port,
    host:config.email.host,
    secure: false,//true端口为456设置为true,否则设置为false,
    auth: {
        user: config.email.user,//发信人账号
        pass: config.email.pass//发信人密码
    },
    tls: {
        rejectUnauthorized: false
    }//此配置将使用自签名或无效的TLS证书打开与TLS服务器的连接
}));

4.自己搭建的发送邮件服务,且连接安全设置为:SSL/TLS 此方法条件有限 未经过检验
mail.js中配置如下:

email:{
    port:587,//发件邮箱服务器的端口
    host:"",//此处为自己发件邮箱服务器的IP地址
    user: '1582253605@qq.com',//发信邮箱账号
    pass: 'cqdezkxxcytcfdje'//发信邮箱密码
}

sendMail.js中配置如下:

var transporter = nodemailer.createTransport(smtpTransport({
    port:config.email.port,
    host:config.email.host,
 	 secureConnection:true,, // 使用 SSL
		//'secure':true端口为456设置为true,否则设置为false,
    auth: {
        user: config.email.user,//发信人账号
        pass: config.email.pass//发信人密码
    },
}));
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值