如何使用Spree在开发中发送电子邮件
我在开发环境中,我想通过我的控制台发送测试电子邮件。 我让控制台运行良好,但它没有发送。
我去Spree的邮件方法设置,这是我得到的:
我已经仔细检查了密码。 我用谷歌搜索了它。 我无法弄清楚如何使这个东西工作。
关键问题:如何从开发环境中获取Spree中的电子邮件?
我尝试的事情 : 狂欢邮件方法不起作用?
问题是您需要一个可以接收电子邮件的本地电子邮件服务器。 要在开发中测试设置,请安装mailcatcher gem,它将用作开发中的SMTP服务器,捕获所有传入的邮件并在http://localhost:1080/:
上显示它们http://localhost:1080/:
只需在终端运行
gem安装mailcatcher
然后在控制台中运行mailcatcher
。 玩具SMTP服务器将在端口1025上运行,捕获电子邮件并在HTTP端口1080上替换它们。
然后转到spree管理面板并进行配置。 以下设置适用于我,无需任何代码编写。
点击send test mail
我在本地主机上收到了以下电子邮件:
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,以保持向后兼容性。
出现此问题是因为您没有本地电子邮件服务器来接收您的电子邮件。
步骤1:第一步是安装mailcatcher gem以测试开发中的设置。
您将使用它作为SMTP服务器来捕获所有传入的邮件并将其显示在http:// localhost:1080 / :
第2步:在控制台中运行终端“ gem install mailcatcher ”。
您将在端口1025上运行SMTP服务器,捕获电子邮件并在HTTP端口1080上显示它们
步骤3:您将在端口1025上运行一个SMTP服务器,捕获电子邮件并在HTTP端口1080上显示它们
添加行: gem’spree_mail_settings’,github:’spree-contrib / spree_mail_settings’,分支:’master’
然后运行: bundle
第4步:进一步,转到“Spree管理面板”并进行配置。 无需任何代码编写,这些设置将完美适合您。
然后单击“ 发送测试邮件 ”
第5步:
您将在本地主机上收到一封电子邮件。
现在你的问题解决了。
狂欢商务使用ActionMailer发送电子邮件。 如果要在开发模式下发送电子邮件,则应在config/enviranments/development.rb
文件中启用delivery_method
。
只需设置此变量config.action_mailer.delivery_method = :smtp