QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

Transformer与预训练语言模型的探索

百度开发者中心

人工智能 大模型 LLM

Mac虚拟定位软件:AnyGo for Mac激活版

iMac小白

AnyGo下载 AnyGo激活版 AnyGo中文版

【宝藏工具】开源组件信息一键查询,快速获取组件来源、版本、漏洞补丁、推荐版本!

网安云

mac应用音量控制软件Sound Control for Mac激活版

iMac小白

sound control下载 sound control mac sound control激活版

云资源信息安全就用行云管家!

行云管家

云计算 云安全 云资源

摄影后期图像编辑推荐 Lightroom Classic 2023 中文激活

mac大玩家j

Mac软件 图像处理工具 图像编辑处理

软件测试/测试开发丨利用ChatGPT 生成自动化测试脚本

测试人

软件测试

JProfiler 14 for Mac(Java开发分析工具)永久激活版

iMac小白

JProfiler 14激活版 JProfiler 14下载 JProfiler 14 mac

网站加速神器:国外服务器让你的网页飞起来

一只扑棱蛾子

国外服务器

使用虚拟合成数据训练对象检测模型

3D建模设计

人工智能 机器学习 合成数据

理论+应用,带你了解数据库资源池

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 数据池

大模型在金融监管科技中的应用价值

百度开发者中心

人工智能 大模型 LLM模型

使用稳定扩散和SAM修改图像内容

3D建模设计

AI纹理 稳定扩散

英特尔与阿里巴巴深化合作,以软硬件创新全方位加速“芯经济”发展

E科讯

API管理平台搭建过程问题总结

RestCloud

API ipaas API 安全

PlistEdit Pro for Mac(Plist编辑器) 1.9.7直装激活版

mac

苹果mac Windows软件 PlistEdit Pro Plist文件编辑软件

中文最新Infuse 激活安装包7.6.2

胖墩儿不胖y

Mac软件 多媒体播放器

工赋开发者社区 | 数字化转型的两大关键点:转什么 ,如何转?

工赋开发者社区

Tower for Mac(Git客户端) v10.1.1注册激活版

iMac小白

Tower下载 Tower破解版 Tower mac

BES 在大规模向量数据库场景的探索和实践

Baidu AICLOUD

elasticsearch 向量检索 大模型

钱包开发:区块链钱包热钱包​加密货币开发公司集成服务

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

利用LLM大模型和智能问答BI实现智能报表生成

百度开发者中心

人工智能 数据可视化 大模型 LLM

通过Python脚本支持OC代码重构实践(二):数据项提供模块接入数据通路的代码生成

百度Geek说

Python 重构 脚本 企业号10月PK榜

大模型训练中Loss出现NaN的解决策略

百度开发者中心

大模型训练 大模型 LLM

企业如何对多个IT系统快速管理?谁能告诉一下!

行云管家

IT运维 安全运维 运维管理

CorelDRAW 2023 完美激活版下载

iMac小白

CorelDRAW 2023下载 CorelDRAW 2023破解版

15种稳定扩散模型的技术示例

3D建模设计

Stable Diffusion 稳定扩散 自动纹理工具

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