用nodejs向163邮箱, gmail邮箱, qq邮箱发邮件, nodemailer使用详解

以前写过一篇3行代码发邮件(含发送图片), 收获了50+喜欢, 最近博主在用node做后端渲染的业务, 把nodejs发邮件的核心代码也分享一下

准备工作

“注释详尽”的源码

'use strict';
const nodemailer = require('nodemailer');
const moment = require('moment');
const path = require('path');

nodemailer.createTestAccount((err, account) => {
    // 填入自己的账号和密码
    let transporter = nodemailer.createTransport({
        host: 'smtp.163.com',
        port: 465,
        secure: true, // 如果是 true 则port填写465, 如果 false 则可以填写其它端口号
        auth: {
            user: "lijianzhaoyou@163.com", // 发件人邮箱
            pass: "" // 发件人密码(用自己的...)
        }
    });
    // 获取当前时间
    let sendTime = moment().format('MMMM Do YYYY, h:mm:ss a');
    // 填写发件人, 收件人
    let mailOptions = {
        // 发件人地址
        from: 'lijianzhaoyou@163.com',
        // 收件人列表, 向163邮箱, gmail邮箱, qq邮箱各发一封
        to: 'lijianzhaoyou@163.com, zhaoolee@gmail.com, 861881383@qq.com',
        // 邮件主题
        subject: '用nodemailer发出的邮件~',
        // 文字内容
        text: '发送附件内容',
        // html内容
        html: '<b>发送时间:' + sendTime + '</b>',
        // 附件内容 是一个列表, 第一个是目录下的pack.json文件, 第二是御坂美琴的头像, 第三是作者在拍的图片的zip包
        attachments: [{
            filename: 'package.json',
            path: path.resolve(__dirname, 'package.json')
        }, {
            filename: 'bilibili.jpg',
            path: path.resolve(__dirname, 'bilibili.jpg')
        }, {
            filename: 'room.zip',
            path: path.resolve(__dirname, 'room.zip')
        }],
    };

    // 发送邮件
    transporter.sendMail(mailOptions, (error, info) => {
        if (error) {
            return console.log(error);
        }
        console.log("邮件发送成功~");
    });
});

运行结果

  • Gmail收到:

《用nodejs向163邮箱, gmail邮箱, qq邮箱发邮件, nodemailer使用详解》

  • 163邮箱收到(自己发给自己)

《用nodejs向163邮箱, gmail邮箱, qq邮箱发邮件, nodemailer使用详解》

  • qq邮箱收到

《用nodejs向163邮箱, gmail邮箱, qq邮箱发邮件, nodemailer使用详解》

相关资源:

《用nodejs向163邮箱, gmail邮箱, qq邮箱发邮件, nodemailer使用详解》

链接:
https://pan.baidu.com/s/1Gk6zMO4_I2oWNvRlgzmfng 密码:i3lu

小结:

用邮件作为后端程序的预警是一个古老而有效的方法, 虽然nodemailer发邮件的代码量,远大于三行代码的yagmail,但nodemailer的通用性还是蛮强的, 推荐使用, 如果哪个小伙伴用更好用的nodejs发邮件的模块, 欢迎在下方留言, 最后祝双十一剁手愉快~

    原文作者:前端开发
    原文地址: https://www.jianshu.com/p/a9a7e082b468
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞