至少有两种方法可以使用SendGrid从Nodejs发送电子邮件:
修改2
所以,如果您现在正在开始一个项目,我建议您使用sendgrid-nodejs。
原始问题:
修改以减少基于意见的问题: 每种方法的优缺点是什么?我用谷歌搜索了几天,没看到两者的比较。还有另一个StackOverflow question要求区分两者(在其他几件事情中)没有得到答复。所以对此的答案肯定会有所帮助。
我的具体用法,以防有助于集中答案: 我想允许iPhone应用程序的用户邀请其他人使用该应用程序。他们会在应用中看到默认的邀请文字,并可以对其进行自定义。自定义文本将发送到我的Nodejs服务器并添加到作业队列。处理队列时,会发送电子邮件。我希望电子邮件看起来不错,所以我想使用HTML电子邮件模板(以及明文交替主体)。
按比例,这将开始非常小,但如果应用程序是succssful可以迅速扩大。
答案 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特定的东西。