Home

Awesome

Build Status Code Climate endorse

gmail_sender

A simple gem to send email through gmail

require 'gmail_sender'

g = GmailSender.new("gmail_account_user_name", "gmail_account_password")
# you can attach any number of files, but there are limits for total attachments size
g.attach('/path/to/document.hz')
g.send(:to => "someone@domain.com",
       :subject => "The subject",
       :content => "The mail body")

Notice that the :to key accepts an email array so you can send the message to many receivers. You can specify the content type which is text/plain by default.

g.send(:to => "someone@domain.com",
       :subject => "The subject",
       :content => "<img src='http://upload.wikimedia.org/wikipedia/en/0/0d/Simpsons_FamilyPicture.png'/>",
       :content_type => 'text/html')

To use your google apps domain instead of gmail.com include the complete sender email instead of just the user name:

g = GmailSender.new("gmail_account_user_name@yourdomain.com", "gmail_account_password")

Command line usage

You can also use gmail_sender from the command line. First you need to create ~/.gmail with this content (YAML):

receiver_email: default_receiver@gmail.com
sender_user: gmail_account_user_name
sender_password: gmail_account_password

Is advisable to use a different sender account than your main email address so that it's not so bad if someone reads your configuration file and gets your password.

Examples

To send your directory list to the default receiver:

ls | gmail

You can specify some parameters like in this example which doesn't use pipes:

gmail -t hansel@gmail.com gretel@hotmail.com -s "the subject" -c "the content"

You can send attachments by using the -a option (this example assumes that you have a receiver_email set in the ~/.gmail file so the -t is not needed):

gmail -c "the attachments" -a ./VERSION ./gmail_sender.gemspec

To send html content use the ct option

gmail -c "<img src='http://host/image.png'/>" -ct text/html

Installation

gem install gmail_sender

Requirements

tlsmail if running Ruby 1.8.6

Major contributors