Action Mailer allows you to send emails from your application using mailer classes and views. Mailers work very similarly to controllers. They inherit from ActionMailer::Base and live in app/mailers, and they have associated views that appear in app/views.
It is advisable to process the sending of email asynchronously so as not to tie up your web server. This can be done through various services such as delayed_job
.