利用nodeJS发送邮件

做过后端的童鞋都知道发送邮件这样的功能并不复杂,使用目前已有的后端技术比如java、.net、php等编写一个发送邮件的功能是很简单的,但是要编写很多代码,比如java中利用jmail发送邮件并不是一件简单的事情。随着nodeJS的发展,如今利用前端技术实现发送邮件,简直是小菜一碟,不仅仅是代码量减少了,也提高了开发效率。
今天主要说的是使用nodeJS的Nodemailer发送邮件
1、首先我们得准备一个QQ邮箱或者GMAIL邮箱(只要支持smtp服务的就可以),主要用于发送邮件。比如QQ邮箱我们可以做如下设置即可开启POP3/SMTP服务,并且可以发送邮件。
进入QQ邮箱后点击左上角的设置,再选择账户,如图

QQ邮箱POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
QQ邮箱POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

将其全部设置为开启即可,这样就可以利用QQ邮箱发送邮件了。

2、使用Nodemailer和QQ邮箱发送邮件

const nodemailer  = require('nodemailer');

export default async () => {
    let transporter = nodemailer.createTransport({
        host: 'smtp.qq.email',
        port: 465,
        secure: true,
        auth: {
            user: 'xxxxx@qq.com',
            pass: '**********'
        }
    })
    let mailOptions = {
        from: '"小小前端" <admin@egtch.com>',
        to: '*******@qq.com',
        subject: '你好',
        text: '你好', //文本
        html: '<h2>你好</h2>' //HTML文本
    };
    transporter.sendMail(mailOptions, (error, info) => {
        if (error) {
            logger.info(`send email to *******@qq.com failed.`)
            return console.log('send email failed:\n'+error);
        }
        logger.info(`send email to *******@qq.com success\n"Message sent: %s", ${info.messageId}`)
        console.log('send email success\nMessage sent: %s', info.messageId);
    });
}

是不是很简单,没有更多的代码了,看上去很容易理解,也非常简单!如果你还没有接触过nodeJS,那赶快入手吧!

发表评论

电子邮件地址不会被公开。 必填项已用*标注