【问题标题】:Difference between 'mandrill-api' gem and 'mandrill_mailer' gem'mandrill-api' gem 和 'mandrill_mailer' gem 之间的区别
【发布时间】:2015-01-12 04:41:52
【问题描述】:

我很难找到关于官方“mandrill-api”gem 和“mandrill_mailer”gem 之间差异的明确解释,即使在彻底阅读了他们的文档之后也是如此。

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

现在我一直在使用 ActionMailer,我发现通过使用 mandrill_mailer gem,我可以执行以下操作:

class UserMailer < MandrillMailer::TemplateMailer

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

【问题讨论】:

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


    【解决方案1】:

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

    看起来mandrill_mailer gem 是第三方 gem,它使用 ActionMailer over SMTP。因此,如果您已经在使用 ActionMailer,您将能够使用 ActionMailer 发送消息,但您将仅限于 SMTP 消息。如果您使用的是共享托管服务提供商或限制 SMTP 流量的主机,您可能需要使用 API。大多数相同的选项都可以通过 SMTP 设置,尽管模板会受到 SMTP 的更多限制,例如,由于 SMTP 标头的长度限制。 SMTP 自然也是异步的,这通常没问题,但如果您希望在较小的调用中返回 API 错误的好处,例如,API 可能是更好的选择。

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

    【讨论】:

      猜你喜欢
      • 2015-02-13
      • 2016-09-06
      • 2011-07-28
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      • 1970-01-01
      相关资源
      最近更新 更多