Thinkjs——采用nodemailer发送邮件

8 篇文章 0 订阅
5 篇文章 0 订阅

介绍 ThinkJS 是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得如此简单、高效。从 3.0
开始,框架底层基于 Koa 2.x 实现,兼容 Koa 的所有功能。
官方文档传送门点这里

步骤:
1.创建一个thinkjs项目,执行 thinkjs new [project_name] 来创建项目,如:
这里写图片描述

2.安装如下包:

npm install nodemailer –save

npm install nodemailer-smtp-transport –save
截图如下:
这里写图片描述
3.编写代码

const Base = require('./base.js');



module.exports = class extends Base {
  indexAction() {
    console.log('indexAction...');
    return this.display();
  }

  testAction() {
    console.log('test...');
  }
  sendMailAction() {
    var nodemailer = require('nodemailer');
    var transporter = nodemailer.createTransport({
      service: 'qq',
      auth: {
        user: 'xxxxx@qq.com',
        pass: 'wxkcsxxxxxx'//注意这个地方不是填写的QQ密码,而是开启服务:POP3/SMTP服务时的密码
      }
    });

    var mailOptions = {
      from: 'xxxxx@qq.com', //发送方
      to: 'xxxxx.com', //接受者,可以同时发送多个,逗号隔开
      subject: 'nodemailer email test.',
      html: '<h2>xxxxxxx</h2>'
    };

    transporter.sendMail(mailOptions, function (err, info) {
      if (err) {
        console.log(err);
        return;
      }
    });

    console.log('sendmail success.')
  }
};

注意点
一定要记得开启POP3/SMTP服务,否则会授权失败。
这里写图片描述

扩展
结合上篇,配置Thinkjs的定时任务,这里可以做一个后台数据统计,然后每天凌晨或者早上发送到自己邮箱查看相关数据。
定时任务代码如下:

module.exports = [{
    // interval: '10s',
    cron: '*/1 * * * *',
    immediate: true,
    handle: () => {
      //do something
      console.log('crontab handler.');

    }
  }, {
    cron: '*/1 * * * *',
    // interval: '3s',
    immediate: true,
    handle: 'http://127.0.0.1:8360/index/sendMail',
    type: 'all'
  }]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值