Skip to content
This repository

A simple gem to send email through gmail

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .document
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 VERSION
Octocat-spinner-32 gmail_sender.gemspec
README.md

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

  • Daniel Cadenas - Maintainer
  • Felipe Coury
  • iwakura
  • saks
  • elcuervo
Something went wrong with that request. Please try again.