O'Reilly logo

Learning Rails: Live Edition by Edd Dumbill, Simon St. Laurent

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Receiving Mail

While sending email out is probably a more common scenario in most web development, there will also be times when you want your application to process incoming email messages. ActionMailer also supports this, after a setup process that may be more difficult than the Rails-specific part of the work.

Setup

Retrieving email is harder than sending it, because so much depends on the details of how your server delivers it. Servers could use dovecot, getmail, or any of a variety of tools to take mail out of the incoming queue and put it in specific mailboxes. Unfortunately, there’s no way for this book to explain configuring mail servers to pass mail to Rails without growing much larger. Instead, you should check out and explore http://wiki.rubyonrails.com/rails/pages/HowToReceiveEmailsWithActionMailer, which offers configuration directions for working with the Postfix, Sendmail, and Qmail servers, as well as regular POP-3 and IMAP connections.

POP-3 and IMAP offer a key advantage—your Rails application is in charge of when and how often it checks mail. That lets you process messages in bulk, making it easier to develop more efficient handling.

All of the setup variations, though, collect incoming messages and send them directly to a class in the Rails application. While Rails does its own routing for incoming HTTP requests, the mail server configuration handles the question of which Rails method will get to receive which email message.

Processing Messages

Once the servers are ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required