写点什么

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

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

关注

评论

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

人工智能丨ChatGPT 的 API 使用

测试人

软件测试

如何建立测试团队的知识库

老张

团队管理 软件测试 质量保障 知识库

虚拟ECU:纯电动汽车发展下的新选择

DevOps和数字孪生

电动汽车 虚拟ECU

阿里云2024云栖大会门票开抢啦!数量有限,先到先得!

MasterInTech

Solana 创下 2 月以来的最低价格,因为模因币暴跌

dappweb

白兔与魔法师

蓬蒿

王阳明 成长感悟

Next-Gen Industrial WiFi Chips Explained

wallyslilly

IPQ8072 ipq9574

Databend 开源周报第 156 期

Databend

【YashanDB知识库】statement级别的触发器在jdbc接口调用executeBatch时被多次触发

YashanDB

yashandb 崖山数据库 崖山DB

连锁行业IT运维有哪些难点?贝锐向日葵如何帮助连锁企业搭建IT运维体系?

科技热闻

三大产品板块快速发展,零信任价值备受认可

芯盾时代

iam 零信任 微隔离 sdp

Python爬虫实战:利用代理IP爬取百度翻译

袁袁袁袁满

基于人工智能的代码分析与 Bug 检测实战

测吧(北京)科技有限公司

测试

RUM技术探索:前端监控数据采集与实践

乘云数字DataBuff

前端监控 #RUM

【YashanDB数据库】大事务回滚导致其他操作无法执行,报错YAS-02016 no free undo blocks

YashanDB

yashandb 崖山数据库 崖山DB

监控系统原理揭秘-数据运算篇

京东科技开发者

引入JaCoCo导致的类型转换问题分析

京东科技开发者

银行业数据分析的关键应用场景探索

镜舟科技

数据库 数据 银行

英伟达新型AI芯片将推迟三个月发布,谷歌微软坐不住了!第二位人类患者植入脑机芯片!马斯克表示一切顺利|AI日报

可信AI进展

人工智能

人工智能|ChatGPT 的 API 使用

测吧(北京)科技有限公司

测试

【AIGC】 0成本学习:AI工作流生成Joy(ComfyUI)

京东科技开发者

人工智能|ChatGPT 的 API 使用

霍格沃兹测试开发学社

阿里云位居 IDC MarketScape 中国实时湖仓评估领导者类别

阿里云大数据AI技术

大数据 阿里云 IDC 实时湖仓

读友好的缓存淘汰算法

百度Geek说

架构 页面缓存 企业号 8 月 PK 榜 淘汰算法 广告检索

闪耀STIF2023国际科创节,望繁信科技荣获年度行业创新典范奖

望繁信科技

人工智能 大数据 数字化转型 流程挖掘 流程智能

玩转提示工程,优化LLM的实践指南!

神州数码

LED显示屏行业发展现状与未来展望

Dylan

行业 LED LED display LED显示屏 市场

深度解读KubeEdge架构设计与边缘AI实践探索

华为云开发者联盟

AI 边缘计算 kubeedge 企业号 8 月 PK 榜 2024企业号8月pk

第62期|GPTSecurity周报

云起无垠

如何在 K8s 中实现指定数据库实例下线?

小猿姐

数据库 Kubernetes 容器 云原生

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