Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [ANN] gmailer 0.0.9

Reply
Thread Tools

[ANN] gmailer 0.0.9

 
 
Park Heesob
Guest
Posts: n/a
 
      09-08-2005

GMailer 0.0.9 Released
=======================

This is the 0.0.9 release of GMailer by Park Heesob.
This is a class library for interface to Google's webmail service.

What is GMailer?
-----------------

GMailer can fetch mails, save attachements, get cotact lists, invite someone
or send message with file attachments. It provides edit methods for labels,
preferece settings, starring and archiving message.


What's new in this release?
---------------------------

Fix fetch message body bug
Fix encode, decode bug
Rename some methods like trash_in -> trash, trash_out -> untrash
Add new class for messagelist and message.
Add support for the new feature show origianl.
Thanks Daniel Schierbeck and blair christensen!

How to use GMailer?
-----------------------
Sample usage:

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 => ", my_friend@his_company.com, ",
:cc => "",
: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 => "",
:to => ", my_friend@his_company.com, ",
:cc => "",
: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=>'',
: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


Project:: http://rubyforge.org/projects/gmailutils/
Bugs:: http://rubyforge.org/tracker/?group_id=869
Document:: http://rubyforge.org/docman/?group_id=869
Download:: http://rubyforge.org/frs/?group_id=869

How do I get GMailer?
----------------------

If you have RubyGems installed:

$ sudo gem install gmailer # in *NIX

> gem install gmailer # in Windows


Or not, download the latest release from
http://rubyforge.org/frs/?group_id=869
and run install.rb


Regards,

Park Heesob









 
Reply With Quote
 
 
 
 
Daniel Schierbeck
Guest
Posts: n/a
 
      09-08-2005
This just keeps on getting better
 
Reply With Quote
 
 
 
 
gsinclair@gmail.com
Guest
Posts: n/a
 
      09-10-2005
Looks excellent, and Austin's kudos for it gave me an idea of what to
do with it. However, browsing the documentation, I couldn't help
thinking that a Message object is in order. i.e. instead of

g.report_spam(msgid)

you'd have

g.msg(msgid).report_spam

etc. (There are heaps of GMailer methods that take a msgid argument).

Also, instead of returning hashes from various methods (preferences,
for example), a "real" object would be nice. i.e.
"pref.display_language" instead of "pref['display_language']".

Please take these as suggestion to think about, not a complaint that
they haven't been implemented. Like I say, I'm looking forward to
using it.

Cheers,
Gavin

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[ANN] gmailer-0.0.7 Park Heesob Ruby 2 08-30-2005 06:35 PM
[ANN] gmailer-0.0.5 Park Heesob Ruby 0 08-28-2005 06:27 AM
[ANN] gmailer 0.0.3 Park Heesob Ruby 3 08-25-2005 01:49 PM
[ANN] gmailer-0.0.2 Park Heesob Ruby 2 08-24-2005 12:45 AM
[ANN] gmailer 0.0.1 (plain text) Park Heesob Ruby 5 08-19-2005 02:53 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57