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

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

前言


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


实战


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


npm init -y


  1. 创建一个app.js文件


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


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

官网地址:nodemailer.com


GitHub地址:github.com/nodemailer/…


Nodemailer的主要特点包括:


  • 支持Unicode编码


  • 支持Window系统环境


  • 支持HTML内容和普通文本内容


  • 支持附件(传送大附件)


  • 支持HTML内容中嵌入图片


  • 支持SSL/STARTTLS安全的邮件发送


  • 支持内置的transport方法和其他插件实现的transport方法


  • 支持自定义插件处理消息


  • 支持XOAUTH2登录验证


  1. 获取smtp授权码


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


微信截图_20220506142643.png


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


微信截图_20220506142654.png


  1. 启动项目


node app.js


优化


  1. 可以使用node-schedule来创建定时任务


npm install node-schedule


  1. 单位时间段可以执行代码发送邮件。


结语


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

相关文章
|
2月前
|
JSON JavaScript 前端开发
node.js第二天
node.js第二天
27 0
node.js第二天
|
5月前
|
JavaScript 网络协议 Unix
node.js学习(简单聊天室)
node.js学习(简单聊天室)
31 0
|
JavaScript
Node.js:nodemailer发送163邮件
Node.js:nodemailer发送163邮件
177 0
|
13天前
|
JavaScript 前端开发 Linux
Node.js安装与配置
`Node.js` 是一个基于 `Chrome V8` 引擎的 `JavaScript` 运行环境,它允许开发者使用 `JavaScript` 编写服务器端代码。以下是 `Node.js` 的安装与配置的详细步骤:
Node.js安装与配置
|
2月前
|
JSON JavaScript 前端开发
Node.JS第二讲笔记
Node.JS第二讲笔记
32 0
|
4月前
|
JavaScript Linux iOS开发
如何安装和配置 Node.js?
如何安装和配置 Node.js?
107 0
|
JavaScript
Node.js使用Nodemailer发送邮件
Node.js使用Nodemailer发送邮件
331 0
Node.js使用Nodemailer发送邮件
|
SQL JavaScript 前端开发
Node.js笔记总结(day5)(二)
Node.js笔记总结(day5)(二)
116 0
Node.js笔记总结(day5)(二)
|
JSON JavaScript 前端开发
Node.js笔记总结(day4)(一)
Node.js笔记总结(day4)
65 0
Node.js笔记总结(day4)(一)
|
SQL 存储 NoSQL
Node.js笔记总结(day5)(一)
Node.js笔记总结(day5)
136 0
Node.js笔记总结(day5)(一)