Chapter 19. Mail in Rails
Prior to email, our private correspondence was secured by a government institution called the postal service. Today, we trust AOL, Microsoft, Yahoo, Facebook, or Gmail with our private utterances.
John Battelle
Most of Rails is built around HTTP, but there will be times you also want to send or receive email messages. Thanks to the ActionMailer system, it’s almost as easy to send and receive mail messages as it is to send and receive information over HTTP. Because mail systems are separate from Rails, there’s still some difficulty in connecting Rails to mail servers, but you can at least get started pretty easily. If you would like to code along with this chapter, make a copy of ch09/students03 and start there.
Sending Mail Messages
Telling Rails to send email messages requires putting a little bit of infrastructure in place, creating views specifying what the messages should say, and telling Rails when to send what. Except that it’s an extra piece that goes outside the usual HTTP context, it’s not very difficult.
First, you need to generate a mailer:
$ rails generate mailer AwardMailer
create app/mailers/award_mailer.rb
invoke erb
create app/views/award_mailer
invoke test_unit
create test/mailers/award_mailer_test.rb
create test/mailers/previews/award_mailer_preview.rb
Alongside the assets, controllers, and models directories within the app directory, Rails has provided us with the mailers directory. Mailers aren’t really models, controllers, or ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access