Question

I'm using SendGrid to send emails on Heroku...

The problem so far is while it works great on Heroku, on my local host it fails.

Right now I have SendGrig install here, config/setup_mail.rb:

ActionMailer::Base.smtp_settings = {
  :address        => "smtp.sendgrid.net",
  :port           => "25",
  :authentication => :plain,
  :user_name      => ENV['SENDGRID_USERNAME'],
  :password       => ENV['SENDGRID_PASSWORD'],
  :domain         => ENV['SENDGRID_DOMAIN']
}

What's a Heroku/SendGrid way to allow me to make sure my mailers work in DEV. Is this setup_mail.rb file a good thing? Should it be in the env file? Any other thoughts?

Thanks

Was it helpful?

Solution

Using config/environments/[development.rb | production.rb] as tfe mentioned above sounds like its the way to go. Just put the ActionMailer configuration in either of those files and change it to suit the development|production environment.

You can also find your SendGrid credentials used by Heroku by issuing the following command:

heroku config --long

These credentials are used for all SendGrid authentication (SMTP Auth, Website login to view stats, etc., API access)

-- Joe

SendGrid

OTHER TIPS

Just set environment variables on your development environment for SENDGRID_USERNAME, SENDGRID_PASSWORD, and SENDGRID_DOMAIN. Then it will work.

You can get the correct values for these from your Heroku app. Open heroku console and get the values of ENV['SENDGRID_USERNAME'] and so on.

Or just use a different set of SMTP settings locally. Or use sendmail or something.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top