'mandrill-api'之间的区别宝石和' mandrill_mailer'宝石

时间:2014-11-14 17:48:04

标签: ruby-on-rails ruby actionmailer mailchimp mandrill

即使仔细阅读了他们的文档,我也很难找到关于官方“mandrill-api”宝石和“mandrill_mailer”宝石之间差异的明确解释。

如果我的目标是发送交易电子邮件(例如注册欢迎电子邮件),以及根据用户的网站活动为用户定制的每周摘要电子邮件,那么这些宝石中的一个是否有效?或者我需要两者来完成这个?我还想在Mandrill中使用MailChimp集成模板。

现在我一直在使用ActionMailer,我看到通过使用mandrill_mailer gem我可以做类似的事情:

class UserMailer < MandrillMailer::TemplateMailer

并指定我想使用的模板,我也可以在官方的mandrill-api gem中做同样的事情吗?

1 个答案:

答案 0 :(得分:1)

mandrill-api gem是官方支持的gem,它使用Mandrill API进行发送。它由Mandrill团队创建和维护,并在更新Mandrill API时更新,因为它实际上是API创建过程的一部分。由于它使用了API,因此您可以在Mandrill API Docs中找到有关使用它的所有信息,包括示例(使用右上角的语言选择器为使用gem的特定示例选择Ruby)。如果您想使用模板,请使用messages/send-template API call并将模板指定为API调用中的参数之一。

看起来mandrill_mailer gem是使用ActionMailer而不是SMTP的第三方gem。因此,如果您已经在使用ActionMailer,那么您将能够使用ActionMailer发送消息,但您将仅限于SMTP消息。如果您使用的是限制SMTP流量的共享主机提供商或主机,则可能需要使用该API。大多数相同的选项可以通过SMTP设置,但是由于SMTP标头的长度限制,因为SMTP的模板会受到更多限制。 SMTP本身也是异步的,通常很好,但是如果您希望将API错误的好处返回给您进行较小的调用,例如,API可能是更好的选择。

API还允许您访问除发送之外的其他方法,包括检索统计信息,以编程方式设置webhook和其他非发送API调用,而SMTP仅限于发送。最终,您应该能够使用任何一个发送,因此由您决定哪个适合您的特定环境和需求。

相关问题