把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

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:462524
用户头像

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

关注

评论

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

大庆等保测评:助力企业数字化转型行稳致远

等保测评

告别人工误差与效率瓶颈:智能仓储助力烟草企业实现精益化管理

中烟创新

李锦记 x 赛博威 | 共酿调味品行业营销费用管理新典范

赛博威科技

营销费用管理 赛博威 李锦记

a+b=c,处理器一步搞定,Java虚拟机为啥要四步?

poemyang

Java虚拟机

小公司管理:警惕大厂的“成功方程式”

禅道项目管理

当当网商品详情API响应数据解析

tbapi

当当网API 当当网数据采集 当当网商品详情API

Apache RocketMQ for AI 战略升级,开启 AI MQ 新时代

阿里巴巴云原生

阿里云 AI 云原生 Apache RocketMQ

Web3 项目外包开发成本估算方法

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

民航领域数据分类分级怎么做?|《民航领域数据分类分级要求》标准解读

原点安全

亚马逊商品详情API开发指南

tbapi

亚马逊API 亚马逊商品详情API 亚马逊数据接口

TEM on 腾讯云安装实践实录

TiDB 社区干货传送门

版本测评 新版本/特性发布 8.x 实践 敏捷模式 TEM 试用

大数据-57 Kafka 高级特性 Producer 消息发送流程与核心配置详解

武子康

Java 大数据 kafka 分布式 后端

区块链U卡APP外包开发成本

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

中烟创新BI数据大屏赋能烟草专卖和营销,激活烟草企业数据生产力

中烟创新

如何安装CST的Linux版本

思茂信息

cst CST软件 CST Studio Suite

构建 AI 护城河的六大常见误区分析

Baihai IDP

人工智能 AI LLM 人工智能护城河

2025年国内智能锁十大品牌排名分析

新消费日报

TEM安装与功能测试

TiDB 社区干货传送门

安装 & 部署 性能测评 TEM 试用

区块链U卡APP外包开发

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

阿里云联合信通院发布《面向LLM应用的可观测性能力要求》

阿里巴巴云原生

阿里云 云原生 LLM

工具分享-通过开源工具 tuning-primer快速巡检MySQL5.7

GreatSQL

北京理工大学医工交叉教学实践分享(2)|如何利用知识图谱工具实施教学

ModelWhale

知识图谱 AI教育 北京理工大学

2025大语言模型部署实战指南:个人笔记本到企业级服务的全栈方案

测试人

前瞻与回顾:长期个性化对话代理的反射式记忆管理技术

qife122

强化学习 对话系统

「迁移急救包」全云平台无缝迁移云效实操手册

阿里巴巴云原生

阿里云 云原生 云效

哈尔滨等保测评:为城市数字化筑牢安全根基

等保测评

区块链U卡APP外包的项目管理

北京木奇移动技术有限公司

软件外包公司 web3开发 区块链外包

告别缓存击穿!Go 语言中的防并发神器:singleflight 包深度解析

左诗右码

「迁移急救包」全云平台无缝迁移云效实操手册

阿里云云效

阿里云 云原生 云效

哈尔滨三级等保测评:关键信息系统的坚固铠甲

等保测评

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