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 => "firstname.lastname@example.org", :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 => "email@example.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("firstname.lastname@example.org", "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: email@example.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.
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 firstname.lastname@example.org email@example.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
gem install gmail_sender
tlsmail if running Ruby 1.8.6
- Daniel Cadenas - Maintainer
- Felipe Coury