为什么我会使用Mandrill而不是内置的ActionMailer?

时间:2015-10-12 04:19:58

标签: ruby-on-rails mailchimp mandrill

我已经阅读了这两项服务的文档,但我没有看到使用Mandrill而不是Rail的ActionMailer用于事务服务的好处。我已经可以使用ActionMailer自定义电子邮件并将其发送出去。服务之间的区别是数量问题吗?如果是这样,我需要在什么时候为Mandrill切换ActionMailer?

这里的教程有点令人困惑,因为它将ActionMailer与Mandrill集成在一起。 MailChimp/Mandrill tutorial

有人可以帮我解释一下这个区别吗?为了我的真实目的,我想做的就是向人们发送电子邮件以重新验证他们的帐户,并根据我的研究,这似乎是适合MailChimp的工作。

2 个答案:

答案 0 :(得分:2)

基本上,mailchimp / mandrill是Saas的产品,它们为您提供像亚马逊SES服务这样的SMTP服务。 ActionMailer是Rails的一部分,允许与邮件系统连接。

从其文档中您可以看到以下选项:

Defines a delivery method. Possible values are:

    :smtp (default), can be configured by using config.action_mailer.smtp_settings.
    :sendmail, can be configured by using config.action_mailer.sendmail_settings.
    :file: save emails to files; can be configured by using config.action_mailer.file_settings.
    :test: save emails to ActionMailer::Base.deliveries array.

其中SMTP的默认值使用localhost(假设您自己的服务器运行SMTP服务器。

在您的情况下,您应该使用mailchimp向您发送消息,但您仍然需要使用actionMailer来创建消息/电子邮件本身。

它允许您卸载发送部件,从而降低了复杂性。

答案 1 :(得分:0)

对于您所描述的用途,听起来像动作邮件就好了。

但是,如果

  1. 您对管理邮件服务器不感兴趣
  2. 不想花时间试图弄清楚电子邮件是否实际发送(基于客户报告)
  3. 希望每位客户轻松实施邮件配额
  4. 然后我会推荐mandrill。我们已经开始使用它进行邮寄,从那以后就没有回头了。您可以获得可靠性,专家建议/邮件系统设置,并最终为我提供最大的功能:交付报告。

    Mandrill允许您通过REST API或SMTP与其系统进行交互。如果您使用的是SMTP,则仍需要使用ActionMailer来发送电子邮件。您需要做的就是将您的production.rb文件设置为指向Mandrill:

      config.action_mailer.smtp_settings = {
        :address   => "smtp.mandrillapp.com",
        :port      => 25, # ports 587 and 2525 are also supported with STARTTLS
        :enable_starttls_auto => true, # detects and uses STARTTLS
        :user_name => "username",
        :password  => "password", # SMTP password is any valid API key
        :authentication => 'login', # Mandrill supports 'plain' or 'login'
        :domain => 'example.com', # your domain to identify your server when connecting
      }
    

    总结一下;在我看来,这不是数量,而是方便。

    我希望有所帮助。