前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Node.js还可以发邮件?

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

作者头像
Vam的金豆之路
发布2021-12-01 10:09:11
1.1K0
发布2021-12-01 10:09:11
举报
文章被收录于专栏:前端历劫之路

前言

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

实战

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

代码语言:javascript
复制
npm init -y

创建一个app.js文件

代码语言:javascript
复制
'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编码
  • 支持HTML内容和普通文本内容
  • 支持HTML内容中嵌入图片
  • 支持内置的transport方法和其他插件实现的transport方法
  • 支持XOAUTH2登录验证

获取smtp授权码

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

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

启动项目

代码语言:javascript
复制
node app.js

优化

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

代码语言:javascript
复制
npm install node-schedule

结语

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端历劫之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 实战
  • 优化
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档