Chapter 17. Mail in Rails

Rails is mostly a web application framework, but there are many connections that are better made through email. Rails includes a gem, ActionMailer, that lets your application send and receive email messages. Whether email is just something you use to confirm user accounts, or send notifications, or is at the heart of your application, ActionMailer is the key to connecting your Rails application to email.


ActionMailer was built into Rails, but it has its own way of doing things, dating back to much earlier iterations of Rails. It supports models with views but not controllers, for instance, making it difficult to see how method calls connect to results. The best way to deal with this—for Rails 2.x applications—is to accept that ActionMailer is a somewhat different part of Rails, and keep careful track of where it puts its pieces

Fortunately, Rails 3.0 pretty much tears down and rebuilds ActionMailer. Most of this chapter will, unfortunately, break in Rails 3.0, but that destruction will lead to better things.

Sending Text Mail

Text-based email is a good foundation for sending messages from Rails. Some people simply prefer text email, but in any case it’s the simplest way to get going, minimizing the already fairly large set of pieces that need to be coordinated for Rails to send email messages. Awards typically come with certificates to be handed out, so sending an email will be a good way to show Rails’ mailing functionality.


ActionMailer is only ...

Get Learning Rails: Live Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.