# Basic email

**URL:** <https://www.ruby-forum.com/t/basic-email/182982>\
**Category:** Rails\
**Created:** [February 5, 2010, 4:03pm UTC](https://www.ruby-forum.com/t/basic-email/182982 "2010-02-05T16:03:16Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![craigrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c2a13f/32.png) [@craigrails](https://www.ruby-forum.com/u/craigrails)\
**Post date:** [February 5, 2010, 4:03pm UTC](https://www.ruby-forum.com/t/basic-email/182982/1 "2010-02-05T16:03:16Z")

</div>

Hi There,

Anyone know of a nice basic way to send an email in ruby on rails?

I’m thinking of allowing my site members to reccomend/invite friends  
by entering their email address and hitting send.

At a guess, to begin with I think i’d need:

def message(mail)  
subject mail[:message].subject  
from ‘someone’  
recipients mail[:recipient].email  
body mail  
end

then a message page, which is displayed to the user in the email  
invitation they receive: similar to:

\<%= @user.name %\> at site ABC123 thinks you should check out this  
site:

site name and url here…

Is there a way to implement this in a nice easy way, ensuring that a  
user can log in, enter a friend’s email address, send it and their  
friend recieve the invite?

cheers

---

<div class="post-metadata">

**Author:** ![craigrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c2a13f/32.png) [@craigrails](https://www.ruby-forum.com/u/craigrails)\
**Post date:** [February 5, 2010, 4:19pm UTC](https://www.ruby-forum.com/t/basic-email/182982/2 "2010-02-05T16:19:34Z")

</div>

A framework for sending emails is already built into Rails. Its called  
ActionMailer.  
[http://wiki.rubyonrails.org/howtos/mailers](http://wiki.rubyonrails.org/howtos/mailers)

---

<div class="post-metadata">

**Author:** ![craigrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c2a13f/32.png) [@craigrails](https://www.ruby-forum.com/u/craigrails)\
**Post date:** [February 15, 2010, 9:13pm UTC](https://www.ruby-forum.com/t/basic-email/182982/3 "2010-02-15T21:13:37Z")

</div>

I recommend [Action Mailer Basics — Ruby on Rails Guides](http://guides.rubyonrails.org/action_mailer_basics.html) it  
is a good place to get started.

If you had a mailer named CraigMailer and you had the message defined  
like above

class CraigMailer \< ActionMailer::Base

def message(mail)  
subject mail[:message].subject  
from ‘someone’  
recipients mail[:recipient].email  
body mail  
end

end

Then you can send your email by calling  
CraigMailer.deliver\_message(mail) which will send your email provided  
you have smtp settings setup in your production.rb file.

–  
Richard S.  
[http://whyspam.me](http://whyspam.me)
