Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Send Email in Development with Spree

I'm in the development environment and I want to send out test emails via my console. I got the console going nice, but its not sending.

I go to Spree's Mail Method Settings and here's what I got:

Spree Mail Method Settings for BenMorganIO

I've double checked the password. I've Googled the hell out of it. I can't figure out how to get this thing to work.

Key Question: How does one get email working in Spree from the development environment?

Things I Tried: Spree Mail Method is not working?

like image 548
BenMorganIO Avatar asked Dec 04 '25 11:12

BenMorganIO


2 Answers

The problem is that you need a local email server that can receive your emails. To test the setup in development install the mailcatcher gem, that you will use as a SMTP server in development, catching all incoming mails and displaying them on http://localhost:1080/:

Just run in the terminal

gem install mailcatcher

then run mailcatcher in the console. A toy SMTP server will be running on port 1025 catching emails and displaing them on HTTP port 1080.

Then just goto the spree admin panel and configure it. The following settings work perfectly for me without any code writing.

enter image description here

After I clicked on send test mail I got the following email on my localhost:

enter image description here

like image 158
Vedant Agarwala Avatar answered Dec 06 '25 02:12

Vedant Agarwala


Spree actually overrides the ActionMailer settings with the settings input in the graphical interface using the Spree::MailMethod class. On the plus side, you can set things in the admin interface, with a downside of several unexpected behaviours.

We maintain many Spree stores and we always run with the settings:

Spree.config do |config|
  config.override_actionmailer_config = false
  config.mails_from = "[email protected]"
end

This will allow you to configure ActionMailer as you would in any other Rails application: http://guides.rubyonrails.org/action_mailer_basics.html#example-action-mailer-configuration

This is being adopted as standard procedure for the next release of Spree after 2.2.x.

https://github.com/spree/spree/pull/4377 has extracted the web configuration to its own gem to maintain backwards compatibility.

like image 28
gmacdougall Avatar answered Dec 06 '25 02:12

gmacdougall



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!