前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用nodejs向163邮箱, gmail邮箱, qq邮箱发邮件, nodemailer使用详解

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

作者头像
zhaoolee
发布2018-12-12 09:51:54
3K0
发布2018-12-12 09:51:54
举报
文章被收录于专栏:木子昭的博客木子昭的博客

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

准备工作

"注释详尽"的源码

代码语言:javascript
复制
'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收到:

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

  • qq邮箱收到

相关资源:

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

小结:

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.11.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • "注释详尽"的源码
  • 运行结果
  • 相关资源:
  • 小结:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档