如何使用Spree在开发中发送电子邮件

时间:2014-03-25 23:10:22

标签: ruby-on-rails ruby-on-rails-3 email spree

我在开发环境中,我想通过我的控制台发送测试电子邮件。我让控制台运行良好,但它没有发送。

我去Spree的邮件方法设置,这是我得到的:

Spree Mail Method Settings for BenMorganIO

我已经仔细检查了密码。我用谷歌搜索了它。我无法弄清楚如何让这件事发挥作用。

关键问题:如何从开发环境中获取Spree中的电子邮件?

我尝试的事情Spree Mail Method is not working?

3 个答案:

答案 0 :(得分:7)

问题是您需要一台可以接收电子邮件的本地电子邮件服务器。要在开发中测试设置,请安装mailcatcher gem,它将用作开发中的SMTP服务器,捕获所有传入的邮件并在http://localhost:1080/:上显示它们

只需在终端

中运行
  

gem install mailcatcher

然后在控制台中运行mailcatcher。玩具SMTP服务器将在端口1025上运行,捕获电子邮件并在HTTP端口1080上替换它们。

然后转到spree管理面板并进行配置。以下设置对我来说非常有效,无需任何代码编写。

enter image description here

点击send test mail后,我在本地主机上收到了以下电子邮件:

enter image description here

答案 1 :(得分:3)

Spree实际上使用Spree :: MailMethod类使用图形界面中的设置输入覆盖ActionMailer设置。从好的方面来说,您可以在管理界面中设置内容,但有一些意外行为的缺点。

我们维护许多Spree商店,并且我们始终使用以下设置运行:

Spree.config do |config|
  config.override_actionmailer_config = false
  config.mails_from = "no-reply@yourdomain.com"
end

这将允许您像在任何其他Rails应用程序中一样配置ActionMailer: http://guides.rubyonrails.org/action_mailer_basics.html#example-action-mailer-configuration

这是在2.2.x之后下一版Spree的标准程序。

https://github.com/spree/spree/pull/4377已将Web配置解压缩到自己的gem中,以保持向后兼容性。

答案 2 :(得分:0)

狂欢商务使用ActionMailer发送电子邮件。如果您想在开发模式下发送电子邮件,则应在delivery_method文件中启用config/enviranments/development.rb

只需设置此变量config.action_mailer.delivery_method = :smtp

即可