BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Node.js邮件发送组件- Nodemailer 1.0发布

| 作者 李士窑 关注 0 他的粉丝 发布于 2014年7月22日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT