写点什么

Node.js 邮件发送组件 - Nodemailer 1.0 发布

  • 2014-07-20
  • 本文字数:995 字

    阅读完需:约 3 分钟

Nodemailer 是一个简单易用的 Node.js 邮件发送组件(通过 SMTP、sendmail 或者 Amazon SES 实现邮件发送),且支持 Unicode 编码。近日,Nodemailer 1.0 发布,此版本包括许多新特性,稳定性也得到了提高,第一次不支持向后兼容。该版本对整个代码进行了重构,降低了代码复杂度,使代码更加简单,更加易于维护。该版本还新增了一个简单的插件 API。

Nodemailer 的主要特点包括:

  • 支持 Unicode 编码
  • 支持 HTML 内容和普通文本内容
  • HTML 内容中可以嵌入图片
  • 使用 SSL/STARTTLS 实现安全的邮件发送
  • 支持内置的 transport 方法和其他插件实现的 transport 方法
  • 自定义插件处理消息
  • 支持 XOAUTH2 登录验证

Nodemailer 0.x 系列版本包括许多开发者不需要的功能,为了降低 Nodemailer 的代码复杂度和提高可维护性,Nodemailer 1.0 把这些可选的功能代码移出核心代码库,并以插件的形式提供相应功能,如 nodemailer-markdown 插件,在构建模板时需要使用该插件,它使开发者能够使用标记代替 html 内容或者普通文本。

在 Nodemailer 1.0 中,使用新代码重写了一些模块,并从 emailjs.org 邮件处理组件的代码中,借鉴了许多代码。该版本还规范化了一些 API,如使用 filename 代替 fileName。同时还废除了一些功能,如废除了 generateTextFromHTML 方法。

Nodemailer 1.0 基于 new Node streaming API (Streams2)实现发送邮件,所以性能上有了很大的提高,使开发者能够实现 G 量级的附件发送,且在短时间内能够发送数千万封邮件。

根据新新增的插件 API 要求,所有的插件都必须接收两个参数,第一个是邮件对象,第二个是回调函数,邮件对象包括两个属性:data 和 message。

Nodemailer 1.0 以后的版本将会根据语义化版本控制规范制定,新功能和向后不兼容的变化将会放到主版本中,bug 的修复将会放到补丁版本中。

请开发者注意,如果您正在使用Nodemailer 0.7 或者更低的版本,建议不要升级。如果真有升级需要,请参考0.7 版本升级到1.0 版本的升级指南。另外,Nodemailer 是Node.js 邮件发送模块, Node.js 是一个可用来快速构建网络服务及应用的平台,它对 Google V8 引擎进行了封装。有关 Nodemailer 更多详细内容请查看发行说明,登录GitHub下载 Nodemailer。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-07-20 23:462159
用户头像

发布了 92 篇内容, 共 47.6 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

算法人生(8):从“注意力算法”看“战胜拖延”(被分心太多版)

养心进行时

深度学习 算法 走出拖延 拖延 注意力算法

关于Java Chassis 3的契约优先(API First)开发

EquatorCoco

Java Web API 开发语言

目前市面上堡垒机厂家有哪些?会帮忙部署吗?

行云管家

网络安全 数据安全 数据加密 堡垒机

云南等级保护测评机构有哪些?分别在哪里?

行云管家

等保 堡垒机 云南 等保测评机构

LLM 大模型学习必知必会系列(二):提示词工程-Prompt Engineering 以及实战闯关

汀丶人工智能

Prompt工程

大模型驱动的新一代 BI 平台,Sugar BI 开启智慧决策新模式

百度Geek说

企业号 5 月 PK 榜 Sugar BI 企业号2024年5月PK榜

Mac电脑风扇控制软件:Macs Fan Control Pro 授权激活版

Rose

算法人生(5):从“元学习”看“战胜拖延”(没兴趣版)

养心进行时

机器学习 算法 元学习 走出拖延 拖延

ChatGPT-5最新消息;预计包含Sora模型;附最新使用教程

蓉蓉

openai ChatGPT4

AnyGo for Mac(虚拟定位软件) 使用教程

Rose

魔兽争霸3冰封王座Warcraft III for mac 解除8M地图限制v1.24.0中文

Rose

算法人生(1):从“强化学习”看如何“战胜拖延”

养心进行时

算法 拖延症 强化学习 走出拖延 拖延

算法人生(2):从“强化学习”看如何“活在当下”

养心进行时

算法 活在当下 强化学习

算法人生(3):从“贪心算法”看“战胜拖延”(完美主义版)

养心进行时

算法 拖延症 贪心算法 走出拖延 拖延

算法人生(7):从“时间折扣策略”看“战胜拖延”(等待最佳时机版)

养心进行时

算法 强化学习 走出拖延 拖延 时间折扣

算法人生(9):从“贝叶斯更新”看“战胜拖延”(消极预期版)

养心进行时

机器学习 算法 贝叶斯算法 走出拖延 拖延

一文盘点 Partisia Blockchain 生态 4 月市场进展

西柚子

商品上新业务状态机接入实践

得物技术

Java 前端 企业号 2024年5月 PK 榜

一键自动化博客发布工具,用过的人都说好(cnblogs篇)

程序那些事

自动化 工具 程序那些事 自动发布

算法人生(6):从“反馈学习”看“战胜拖延”(被动攻击版)

养心进行时

算法 强化学习 走出拖延 拖延 反馈学习

RWA会成为下一个风口吗?有哪些值得关注的项目?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

暗黑破坏神II:狱火重生(暗黑破坏神2重制版)/毁灭之王中文版 Mac/win

Rose

软件测试过程中的痛点思考

老张

提升效率 质量保障

算法人生(4):从“选项学习”看“战胜拖延”(担心失败版)

养心进行时

算法 强化学习 走出拖延 拖延 选项学习

测试答疑助手:从需求文档到设计文档、测试用例的完整测试过程

霍格沃兹测试开发学社

HBase Meta 元信息表修复实践

vivo互联网技术

HBase HBase meta表 HBase meta表修复

微软远程桌面连接工具,Remote Desktop下载 Mac远程软件

Rose

「参数」让流水线动起来

都广科技

DevOps

Parallels Desktop 18 for Mac(Pd虚拟机) 18.3.2通用激活版

Rose

Node.js邮件发送组件- Nodemailer 1.0发布_架构/框架_李士窑_InfoQ精选文章