写点什么

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

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

关注

评论

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

第八周学习性能优化 2 总结

三板斧

极客大学架构师训练营

技术实践丨基于MindSpore的ResNet-50蘑菇“君”的识别应用体验

华为云开发者联盟

网络 mindspore 识别推理

前端如何一键生成多维度数据可视化分析报表

徐小夕

Java node.js 大前端 React 数据可视化

朋友推荐我这份阿里面试通关手册,我却选择了字节的offer

小Q

Java 学习 程序员 架构 面试

成长为软件教练的三千大道之一

华为云开发者联盟

Java 敏捷开发

一次完整的JVM堆外内存泄漏故障排查记录

Zhendong

【DevOps实践】企业应用场景众多,怎样选择合适的代码分支模型?

嘉为蓝鲸

git DevOps 软件开发 持续交付 代码管理

架构师训练营 1 期 - 第八周 - 性能优化 2

三板斧

极客大学架构师训练营

七张图了解Kubernetes内部的架构

网管

Kubernetes k8s k8s入门

嗯,挺全乎儿的,Spring Boot 多环境配置都在这里了,你喜欢哪种?

比伯

Java spring 编程 程序员 架构

架构师训练营 1 期 -- 第八周作业

曾彪彪

极客大学架构师训练营

架構師訓練營第 1 期 - 第 08 周作業

Panda

架構師訓練營第 1 期

Java动态修改LOGGER日志级别

Zhendong

Java Arthas

目标检测-框架之darknet-数据读取

Dreamer

Reactor详解之:异常处理

程序那些事

响应式 reactor 程序那些事 响应式系统 响应式架构

天秀!这份由阿里数位大牛编写的777页高可用架构+MySQL

Java~~~

Java MySQL 编程语言 高并发 架构师

阿里突遭断网断电!双11最惊险一幕刚刚曝光

Java架构师迁哥

架构知识学习总结

小黄鱼

极客大学架构师训练营

如何使用JavaScript实现前端导入和导出excel文件(H5编辑器实战复盘)

徐小夕

Java node.js 大前端 React 数据可视化

LeetCode题解:剑指 Offer 22. 链表中倒数第k个节点,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

炸了!一口气间了我18个JVM问题!

面试 jvm调优 JVM垃圾回收原理

开源GitHub标星30K的腾讯Redis笔记,阿里技术专家看到都赞不绝口

小Q

Java 学习 编程 架构 面试

甲方日常 50

句子

工作 随笔杂谈 日常

阿里又出一座丰碑!P9级架构师整合出最新最全微服务1700页手册,下载下来慢慢啃

Java架构追梦

Java 架构 微服务 springboot SpringCloud

不服!阿里P8手写489页SQL优化通关手册,解决你百思不得其解问题

996小迁

sql 程序员 架构 面试 计算机

双“11”搞促销?用贪心算法来盘他!

王磊

算法

关于静态分析技术符号执行,从一个故事讲起······

华为云开发者联盟

代码 分析 静态

【再见 — JVM】,需要”我”为你做些什么?

码界西柚

Java JVM Java 25 周年 1 周年盛典 InfoQ 写作平台 1 周年

Pulsar Summit Asia 2020 | 场景案例论坛(下):多行业,多场景

Apache Pulsar

大数据 开源 Apache Pulsar

spring-注入配置

Isuodut

看完之后,不要再说不懂代理IP了!

前嗅大数据

大数据 静态IP 代理IP 短效代理 动态IP

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