我在开发环境中,我想通过我的控制台发送测试电子邮件。我让控制台运行良好,但它没有发送。
我去Spree的邮件方法设置,这是我得到的:
我已经仔细检查了密码。我用谷歌搜索了它。我无法弄清楚如何让这件事发挥作用。
关键问题:如何从开发环境中获取Spree中的电子邮件?
答案 0 :(得分:7)
问题是您需要一台可以接收电子邮件的本地电子邮件服务器。要在开发中测试设置,请安装mailcatcher gem,它将用作开发中的SMTP服务器,捕获所有传入的邮件并在http://localhost:1080/:
上显示它们
只需在终端
中运行gem install mailcatcher
然后在控制台中运行mailcatcher
。玩具SMTP服务器将在端口1025上运行,捕获电子邮件并在HTTP端口1080上替换它们。
然后转到spree管理面板并进行配置。以下设置对我来说非常有效,无需任何代码编写。
点击send test mail
后,我在本地主机上收到了以下电子邮件:
答案 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