Configuring Rails To Use Gmail's SMTP Server

computer 20 February 2007 | 23 Comments

OpenRain.com uses Google Apps For Your Domain, and all email flows throw Google’s servers. Unfortunately, Rails 1.2.2 can’t send via smtp.google.com out of the box. As originally pointed out by Anatol Pomozov there is a solution. Here’s the simple version tested with Rails 1.2.2.

  1. Save this code as lib/smtp_tls.rb within your rails app.
  2. Add this code to config/environment.rb.
  3. Use ActionMailer as normal.

Updated 2008.01.04: The original link was b0rken, so I pastied the code instead.

23 Responses on “Configuring Rails To Use Gmail's SMTP Server”

  1. Chris says:

    Just a note: if you’re copying and pasting the code from this page, know that the single- and double-quotes are being pasted as non-parsable versions. You’ll need to re-type those quotes to avoid read errors.

  2. Al Brown says:

    action_mailer_tls seems to work with the same config I used with Rails 1.1.6

  3. Paul says:

    The links to the code seem to be broken. Is the code available anywhere else?

    Thanks

  4. preston.lee says:

    The links seem to be working fine this morning. Maybe he just had some downtime yesterday.

  5. Joe says:

    The website was down for me too.
    I searched google for the link:
    http://blog.pomozov.info/posts/how-to-send-actionmailer-mails-to-gmailcom.html
    and was able to get the code via the google cache.

  6. SandyTheFire says:

    Guyz, I am trying to send multiple mails so i have to authenticate multiple times which consumes a hell lotta time, can anyone suggest a way.

  7. preston.lee says:

    @SandyTheFire

    I’m not sure how to best deal with that within Rails, but you could use your own SMTP server instead. If your sending a ton of emails you may need to do that anyway to avoid getting slapped by Google.

  8. Gmail will limit you to send 500 emails per day.
    You won’t be able to change the “from” parameter.

    Perfect for personal use.

  9. /Users/prat/lib/rubygems/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:266:in `load_missing_constant': uninitialized constant ActionMailer (NameError)

    Got this Error when starting mongrel.

  10. william says:

    gracias por tu instructivo, por el cual logre lo que necesitaba.

    saludos desde colombia

  11. liquidsun says:

    For the ‘load_missing_constant’ error, here is the fix…
    Put
    require ‘smtp_tls’
    require ‘action_mailer’
    into environment.rb.

  12. stephen says:

    Alright folks,
    great tutorial – it came in very handy today.

    I would just like to add, for anyone who cares, that the code you need to insert into environment.rb, needs to go AFTER everything else in the file. i.e. after the ‘end’ statement.

    anyway, thanks a lot for this, I really needed it.

    Cheers

  13. Pat Douglas says:

    Thank you!!!!!

Trackbacks/Pingbacks

  1. […] PrestonLee.com » Configuring Rails To Use Gmail’s SMTP Server […]

  2. […] Enjoy! Thanks to Preston Lee for pointing this out. And, of course, Anatol’s smtp_tls library can also be used directly from any other Ruby application if you like! […]

  3. […] Note: I previously wrote about how to do this for Rails 1.2.x here. […]

  4. […] 不过后来在一篇 Blog 的评论中看到说 Gmail 限制一天只能发 500 封邮件,Google 了一下貌似确有此事,还没有亲自证实。 […]

  5. […] account you need to do something special in your rails app. I highly recommend you have a look at Preston Lee’s blog post for […]

Leave a Reply