我已经阅读了这两项服务的文档,但我没有看到使用Mandrill而不是Rail的ActionMailer用于事务服务的好处。我已经可以使用ActionMailer自定义电子邮件并将其发送出去。服务之间的区别是数量问题吗?如果是这样,我需要在什么时候为Mandrill切换ActionMailer?
这里的教程有点令人困惑,因为它将ActionMailer与Mandrill集成在一起。 MailChimp/Mandrill tutorial
有人可以帮我解释一下这个区别吗?为了我的真实目的,我想做的就是向人们发送电子邮件以重新验证他们的帐户,并根据我的研究,这似乎是适合MailChimp的工作。
答案 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)
对于您所描述的用途,听起来像动作邮件就好了。
但是,如果
然后我会推荐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
}
总结一下;在我看来,这不是数量,而是方便。
我希望有所帮助。