gmail-oauth

Implements Gmail OAuth access methods for Net::IMAP and Net::SMTP

Fully working examples (including fetching the access_token) for smtp and imap are in examples/

IMAP Usage

require 'gmail-oauth'
imap = Net::IMAP.new('imap.gmail.com',993,true)

# For 3legged oauth provide an OAuth::AcessToken
imap.authenticate('XOAUTH', "[email protected]", :access_token => access_token)

# For 2legged oauth just provide the OAuth::Consumer
#imap.authenticate('XOAUTH', "[email protected]", :consumer => consumer)

imap.list("*","*").each do |folder|
  puts folder.name
end

SMTP Usage

require 'gmail-oauth'

raw_email = generate_email()  

smtp = Net::SMTP.new('smtp.gmail.com')
smtp.enable_starttls
smtp.start('gmail.com', "[email protected]", {:access_token => access_token}, :xoauth)
smtp.send_message raw_email, "[email protected]", "[email protected]"
smtp.finish

Copyright (c) 2010 Bob Potter. See LICENSE for details.