SendGrid-nodejs还是Nodemailer?

时间:2015-03-04 21:11:24

标签: node.js sendgrid nodemailer

至少有两种方法可以使用SendGrid从Nodejs发送电子邮件:

  1. Sendgrid提供名为"SendGrid-nodejs."的Nodejs库。他们积极支持Sendgrid-Nodejs(29天前的最后更新)。
  2. Nodemailer支持sendgrid,似乎非常受欢迎。 SendGrid发布了一篇关于使用此组合的文章:Sending email with Nodemailer and Sendgrid
  3. 修改2

    截至今天,SendGrid已经终止了对nodemailer-sendgrid-transport的支持。

    所以,如果您现在正在开始一个项目,我建议您使用sendgrid-nodejs。


    原始问题:

    修改以减少基于意见的问题: 每种方法的优缺点是什么?我用谷歌搜索了几天,没看到两者的比较。还有另一个StackOverflow question要求区分两者(在其他几件事情中)没有得到答复。所以对此的答案肯定会有所帮助。

    我的具体用法,以防有助于集中答案: 我想允许iPhone应用程序的用户邀请其他人使用该应用程序。他们会在应用中看到默认的邀请文字,并可以对其进行自定义。自定义文本将发送到我的Nodejs服务器并添加到作业队列。处理队列时,会发送电子邮件。我希望电子邮件看起来不错,所以我想使用HTML电子邮件模板(以及明文交替主体)。

    按比例,这将开始非常小,但如果应用程序是succssful可以迅速扩大。

2 个答案:

答案 0 :(得分:6)

嗯,sendgrid-nodejs是一个更受欢迎的存储库。

然而,Nodemailer是使用NodeJS发送电子邮件的最受欢迎的模块。我已经使用了几个月而且我非常满意。

如果您担心应用程序的未来,您应该考虑Nodemailer不仅用于Sendgrid,还用于许多其他竞争对手。因此,如果您遇到Sendgrid问题,您可以轻松切换到其他电子邮件递送服务,而无需学习其他API。

所以我建议您使用nodemailer-sendgrid-transport,如果发现错误,请使用PR修复它们:P

答案 1 :(得分:5)

你会发现你可以使用任何一个库来实现你想做的事情(nodemailer-sendgrid-transport也是由SendGrid编写的!)但是如果你建议你想使用HTML模板和纯文本替代品,你可能会想看一下使用SendGrid Node JS库,因为它可以让您更轻松地访问一些更高级的功能,例如:

Template Engine - 这使您可以在SG仪表板内而不是在代码中管理HTML和纯文本模板 - 这可以方便快速进行更改,而无需将应用程序重新部署到生产中。 / p>

Advanced Suppression Management - 允许您将用户可以取消订阅的电子邮件分组,而不是完全取消订阅。

值得注意的是,您仍然可以将这些功能与NodeMailer和nodemailer-sendgrid-transport一起使用,但SendGrid NodeJS库会直接公开这些功能的方法。

就像我说的那样,你可以实现你想要的任何东西,但我认为值得指出一些SendGrid特定的东西。