当前位置:首页 > 系统运维

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

 前言

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

实战

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

npm init -y 

2.创建一个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> }); 

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.启动项目

node app.js 

优化

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

npm install node-schedule 

结语

谢谢阅读,使用希望没有浪费你的发邮时间。源码库

使用

分享到:

滇ICP备2023006006号-16