写点什么

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

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

关注

评论

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

Cryptocell-712安全引擎概述

Java-fenn

Java

基于.NET6的简单三层管理系统

Java-fenn

Java

终于懂了,RPC和OpenApi的区别

知识浅谈

RPC OpenAPI 9月月更

MyBatis-Plus(三、增删改查)

MySQL MyBatisPlus 9月月更

阿里、字节、美团我都面了,offer也拿到了,全靠这份Java面试题!

收到请回复

Java 云计算 开源 架构 编程语言

Java进阶(二十三)java中long类型转换为int类型

No Silver Bullet

Java 类型转换 9月月更

npm,pnpm,yarn,npx的那些事儿

Java-fenn

Java

整理的5种Linux 安装包管理工具

CTO技术共享

腾讯云数据库自研内核全新升级 新架构比原先性能提升20%

Java-fenn

Java

Elasticsearch聚合学习之四:结果排序

程序员欣宸

elasticsearch 9月月更

《Java面试考点大全》全网首发,带你摸熟20+互联网公司的面试考点!

收到请回复

Java 云计算 开源 架构 编程语言

向量数据库入坑:入门向量数据库 Milvus 的 Docker 工具镜像

Java-fenn

Java

羊了个羊”通关修改思路

Java-fenn

Java

继GitHub的Copilot收费后,亚马逊推出了 CodeWhisperer,感觉不错哟!

Python猫

Python

跟着卷卷龙一起学Camera--CameraService

卷卷龙

ISP 9月月更

SpringBoot数据库管理 - 用Liquibase对数据库管理和迁移?

Java快了!

数据库 spring-boot

户外LED广告屏如何才能保养好?

Dylan

LED显示屏 led显示屏厂家

Plato Labs推出的SeedX,公测15天570万美金净利润

鳄鱼视界

Kubernetes 网络排查骨灰级

CTO技术共享

pod(一):Kubernetes(k8s)创建pod的两种方式

Java-fenn

Java

从 ABAP Netweaver 到 ABAP Platform,我们一直在努力

汪子熙

SAP abap Netweaver 企业级应用 9月月更

【Vue3】 评论列表(简易)-- 思路与实现分析

Sam9029

JavaScript Vue Vue3 9月月更

一个不错的开源项目风控引擎(Radar)

Java-fenn

Java

MySQL 如何查找删除重复行

CTO技术共享

算法、算力、数据,AI落地现在还需要AI工程化

Java-fenn

Java

Java 多线程:并发编程的三大特性

Java快了!

Java多线程

Java程序员:为了跳槽刷完1000道真题,没想到老板直接给我升职了!

收到请回复

Java 云计算 开源 架构 编程语言

COSI:使用 Kubernetes API 管理对象存储

Java-fenn

Java

阿里前端常见面试题总结

loveX001

JavaScript 前端

只要32天就能拿下Offer?框架+性能优化+微服务+分布式,Java程序员必备!

收到请回复

Java 云计算 开源 架构 编程语言

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