Notes for a front-end developer, esyou.net

0%

利用NODEJS发送邮件

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

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

1
const nodemailer  = require('nodemailer');
2
3
export default async () => {
4
    let transporter = nodemailer.createTransport({
5
        host: 'smtp.qq.email',
6
        port: 465,
7
        secure: true,
8
        auth: {
9
            user: 'xxxxx@qq.com',
10
            pass: '**********'
11
        }
12
    })
13
    let mailOptions = {
14
        from: '"小小前端" <admin@admin.com>',
15
        to: '*******@qq.com',
16
        subject: '你好',
17
        text: '你好', //文本
18
        html: '<h2>你好</h2>' //HTML文本
19
    };
20
    transporter.sendMail(mailOptions, (error, info) => {
21
        if (error) {
22
            logger.info(`send email to *******@qq.com failed.`)
23
            return console.log('send email failed:\n'+error);
24
        }
25
        logger.info(`send email to *******@qq.com success\n"Message sent: %s", ${info.messageId}`)
26
        console.log('send email success\nMessage sent: %s', info.messageId);
27
    });
28
}