sudo apt-get install libopenssl-ruby
gem install GMailer
It also req. Python library
You can use as : foo = GMailer.connect("cpjolicoeur", "mypassword")
or
This is procedure :
require 'gmailer'
GMailer.connect(name,pwd) do |g|
#fetch
g.messages(:label=>"my_label") do |ml|
puts "Total # of conversations of my_label = " + ml.total.to_s
end
#get contact
g.fetch(:contact=>"freq").each do |item|
puts "Name: #{item['name']} Email: #{item['email']}"
end
#send message
# 'From' default
gmail.com account
g.send(
:to => "
w...@what.com,
my_friend@his_company.com,
g...@heaven.org",
:cc => "
f...@bar.com",
:subject => "Hello There!",
:body => "Hi...\n\nBlah blah blah~~...",
:files => ["./my_pic.jpg", "./my_cv.txt"])
# multiple verified email addresses and choose one 'From:' email
address
g.send(
:from => "
verif...@email.com",
:to => "
w...@what.com,
my_friend@his_company.com,
g...@heaven.org",
:cc => "
f...@bar.com",
:subject => "Hello There!",
:body => "Hi...\n\nBlah blah blah~~...",
:files => ["./my_pic.jpg", "./my_cv.txt"])
# update_preference
g.update_preference(:max_page_size=>50,
:keyboard_shortcuts=>true,
:indicators=>true,
:display_language=>'en',
:signature=>'This is a signature',
:reply_to=>'ret...@foo.bar',
:snippets=>true,
:display_name=>'Display Name')
# get preference
pref = g.preference
puts "Language:#{pref['display_language']}, Page
Size:#{pref['max_page_size']}"
#creating new labels
g.create_label('label_name')
#renaming existing labels
g.rename_label('label_name','renamed_label')
#deleting labels
g.delete_label('label_name')
#applying a label to a message
g.apply_label(msgid,'label_name')
#removing a label from a message
g.remove_label(msgid,'label_name')
#apply star to a message
g.apply_star(msgid)
#remove star from a message
g.remove_star(msgid)
#archive a message
g.archive(msgid)
#unarchive a message
g.unarchive(msgid)
#mark a message as read
g.mark_read(msgid)
#mark a message as unread
g.mark_unread(msgid)
#report a message as not spam
g.report_spam(msgid)
#report a message as not spam
g.report_not_spam(msgid)
#move a message to trash
g.trash(msgid)
#move a message from trash to inbox
g.untrash(msgid)
#delete a trash message forever
g.delete_trash(msgid)
#delete a spam message forever
g.delete_spam(msgid)
#delete a message forever
g.delete_message(msgid)
#show original message
g.show original(msgid)
#get labels
labels = g.labels
#get messages
g.messages(:label=>labels[0]).each {|m|
puts "Subject: #{m.subject} / Snippet: #{m.snippet}"
}
#get inbox messages
g.messages(:standard=>'inbox').each {|m|
puts "Subject: #{m.subject} / Snippet: #{m.snippet}"
}
# fetch with filter :read or :star
g.messages(:standard=>'all',:read=>false).each {|msg|
# operations on the message
msg.apply_star
msg.apply_label(label)
msg.trash
puts "subject: " + msg.subject
puts "from: " + msg.sender
puts msg.body
puts msg.original
}
end
On Feb 8, 11:37 am, Shweta Kadam <
rails-mailing-l...@andreas-s.net>
wrote: