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 is 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 now—is to accept that ActionMailer is a somewhat different part of Rails, and keep careful track of where it puts its pieces.

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 one of the components you need to send email to and from Rails. Unfortunately, it’s the only part that this book can explain in depth, because every mail setup on every server has its structure and its ...

Get Learning Rails now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.