IDC

使用Node.js还可以发邮件?

作者:admin 2021-05-11 我要评论

前言 今天,我们给大家开发一个小效果。篇幅比较短,主要给大家展示效果。 实战 1.首先我们初始化一个Node项目 npminit-y 2.创建一个app.js文件 'usestrict' ; c...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

 前言

今天,我们给大家开发一个小效果。篇幅比较短,主要给大家展示效果。

实战

1.首先我们初始化一个Node项目

  1. npm init -y 

2.创建一个app.js文件

  1. 'use strict'
  2.  
  3. const nodemailer = require('nodemailer'); 
  4.  
  5. let transporter = nodemailer.createTransport({ 
  6.   // host: 'smtp.ethereal.email'
  7.   service: 'qq', // 使用了内置传输发送邮件 查看支持列表:https://nodemailer.com/smtp/well-known/ 
  8.   port: 465, // SMTP 端口 
  9.   secureConnection: true, // 使用了 SSL 
  10.   auth: { 
  11.     user'xxx@qq.com', // 这里以QQ邮箱为例 
  12.     pass: 'kzudmlwerknibejc', // 设置的smtp授权码 
  13.   } 
  14. }); 
  15.  
  16. let mailOptions = { 
  17.   from'"xxx" <xxx@qq.com>', // sender 
  18.   to'xxx@163.com', // receivers 
  19.   subject: 'Hello', // Subject line 
  20.   // 发送text或者html格式 
  21.   // text: 'Hello world?', // plain text body 
  22.   html: '<b>Hello world?</b>' // html body 
  23. }; 
  24.  
  25. // send mail with defined transport object 
  26. transporter.sendMail(mailOptions, (error, info) => { 
  27.   if (error) { 
  28.     return console.log(error); 
  29.   } 
  30.   console.log('Message sent: %s', info.messageId); 
  31.   // Message sent: <04ec7731-cc68-1ef6-303c-61b0f796b78f@qq.com> 
  32. }); 

Nodemailer是一个简单易用的Node.js邮件发送组件。

官网地址:https://nodemailer.com

GitHub地址:https://github.com/nodemailer/nodemailer

Nodemailer的主要特点包括:

  • 支持Unicode编码
  • 支持Window系统环境
  • 支持HTML内容和普通文本内容
  • 支持附件(传送大附件)
  • 支持HTML内容中嵌入图片
  • 支持SSL/STARTTLS安全的邮件发送
  • 支持内置的transport方法和其他插件实现的transport方法
  • 支持自定义插件处理消息
  • 支持XOAUTH2登录验证

3.获取smtp授权码

登录QQ邮箱,点击邮箱设置。


找到如下图红框所示,开启IMAP/SMTP服务后,就可以随机获取授权码了。


4.启动项目

  1. node app.js 

优化

可以使用node-schedule来创建定时任务,单位时间段可以执行代码发送邮件。

  1. npm install node-schedule 

结语

谢谢阅读,希望没有浪费你的时间。


本文转载自网络,原文链接:https://mp.weixin.qq.com/s/6OZAaxSH2L6u0DpCoFSWlw

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 使用Node.js还可以发邮件?

    使用Node.js还可以发邮件?

  • 你做过代码 Review 吗?

    你做过代码 Review 吗?

  • 程序员过关斩将--领导说我的类的职责不

    程序员过关斩将--领导说我的类的职责不

  • 单线程的Redis为什么能支持10w+的QPS?

    单线程的Redis为什么能支持10w+的QPS?

腾讯云代理商
海外云服务器