资讯专栏INFORMATION COLUMN

4.6 Nodemailer系统发用户邮件-博客后端Api-NodeJs+Express+Mysql

shadowbook / 1533人阅读

摘要:发邮件组件使用发送邮件咱们日常开发中有时会遇到需要系统推送邮件给相关用户例如注册后发送激活邮箱等等,此时就需要用到首先,去云云云邮件推送以为例是一个基于的邮件服务模块。

NodeMailer
Nodejs发邮件组件Nodemailer
http://blog.fens.me/nodejs-em...
Node.js使用NodeMailer发送邮件
http://www.jianshu.com/p/ee20...
https://github.com/nodemailer...
https://nodemailer.com/about/

咱们日常开发中 有时会遇到需要系统推送邮件给相关用户(例如:注册后发送激活邮箱等等),此时就需要用到NodeMailer;

首先,去xxx云/xxx云/xxx云 邮件推送【以a-l-i为例】

Nodemailer 是一个基于Node的邮件服务模块。

使用 Nodemailer 完成一个发邮件功能非常简单,只需3步:

1引入模块

2创建 transport

3发送邮件

/**
 * 邮箱服务
 * add by wwj
 * 2017-02-15 23:47:16
 */
var Promise = require("bluebird");
var i18n = require("i18n");
var config = require("config-lite"); //配置
var nodemailer = require("nodemailer"); //邮件服务

module.exports = {
    /**
     * 发送邮件
     */
    sendSystemEmail: function(opts) {
        return new Promise(function(resolve, reject) {
            //检验是否传入邮件接收者 和邮件标题 和邮件内容
            if (!opts.to || !opts.subject || !opts.html) {
                console.log(i18n.__("pleasePassParamsComplete"));
                reject(i18n.__("pleasePassParamsComplete"));
                return;
            }
            //从哪
            opts.from = opts.from || ""博客系统" <" + config.email.service + ">";
            //如果不是给管理员发 那么抄送管理员
            if(opts.to.indexOf(config.email.admin)<0){
                //抄送
                opts.cc = ""博客系统Admin" <"+ config.email.admin +">";
            }
            var transporter = nodemailer.createTransport({
                pool: true,
                host: "smtpdm.aliyun.com", //smtp.gmail.com
                port: 465, // 25
                secure: true, // use SSL, 【不适用https可以关闭】
                auth: {
                    user: config.email.service,
                    pass: config.email.spassword,
                },
            });
            console.log(opts);
            transporter.sendMail(opts, function(error, info) {
                if (error) {
                    console.log("邮件发送失败啦");
                    console.log(error);
                    reject("error");
                    return;
                }
                if (info) {
                    console.log("Message sent success: " + JSON.stringify(info));
                }
                resolve("success");
            });
        });
    },
};

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104072.html

相关文章

  • 4.6 Nodemailer统发用户邮件-博客后端Api-NodeJs+Express+Mysql

    摘要:发邮件组件使用发送邮件咱们日常开发中有时会遇到需要系统推送邮件给相关用户例如注册后发送激活邮箱等等,此时就需要用到首先,去云云云邮件推送以为例是一个基于的邮件服务模块。 NodeMailerNodejs发邮件组件Nodemailerhttp://blog.fens.me/nodejs-em...Node.js使用NodeMailer发送邮件http://www.jianshu.com/...

    svtter 评论0 收藏0
  • NodeJs+Express+Mysql + Vuejs 项目实战 - 大纲

    摘要:多一个技能多一条出路,祝你在自学道路上越走越好,掌握自己的核心技能,不只是优秀,还要成为不可替代的人 NodeJs+Express+Mysql + Vuejs 项目实战 最近准备写一系列文章,全面讲述如何基于NodeJs + Express + Mysql + Vuejs 从零开发前后端完全分离项目; 文笔及技术可能在某些方面欠佳,请您指正,共同学习进步 前端:Vuejs全家桶 后端:...

    noONE 评论0 收藏0
  • 4.1 开发环境目录结构配置文件功能梳理-博客后端Api-NodeJs+Express+Mys

    摘要:从本章开始,正式学习如何使用搭建一个博客。但通常我们都会有许多环境,如本地开发环境测试环境和线上环境等,不同的环境的配置不同,我们不可能每次部署时都要去修改引用或者。会根据环境变量的不同从当前执行进程目录下的目录加载不同的配置文件。 从本章开始,正式学习如何使用 Nodejs + Express + Mysql 搭建一个博客。 开发环境 首先说下开发环境安装的核心依赖版本: Node....

    DevWiki 评论0 收藏0
  • 4.3 路由设计/RESTful API-博客后端Api-NodeJs+Express+Mysql

    摘要:路由设计路由设计以用户注册为例介绍如何闭环用户注册开发注意点使用邮箱注册验证邮箱是否注册目前真实开发业务大部分都是手机号注册,这块由于没有购买短信服务首先,在文件夹下新建上图中对应真实业务逻辑现附上业务实现代码加密国际化工具类用户服务 路由设计 路由设计 以用户注册为例介绍如何闭环用户注册开发注意点:(1)使用邮箱注册(2)验证邮箱是否注册 【目前真实开发业务大部分都是手机号注册,这块...

    1fe1se 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<