Grabs unread emails from Gmail, marks them as read, applies a Transferred
label and archives them.
Add this line to your application's Gemfile:
gem 'gmailish', '~> 0.0.1'
And then execute:
$ bundle
Or install it yourself as:
$ gem install gmailish
See Mail documentation here.
account = Gmailish::Account.process(username, password)
#=> #<Gmailish::Account:0x007f89dcaa7950>
messages = account.messages
#=> [#<Mail::Message:70337520506800>, #<Mail::Message:70337520506801>]
message = messages.first
message.envelope.from #=> '[email protected]'
message.from.addresses #=> ['[email protected]', '[email protected]']
message.sender.address #=> '[email protected]'
message.to #=> '[email protected]'
message.cc #=> '[email protected]'
message.subject #=> "This is the subject"
message.date.to_s #=> '15 Aug 2013 09:55:06 -1100'
message.message_id #=> '<[email protected]>'
message.body.decoded #=> 'This is the body of the email..
GmailService.retrieve
#=> [#<Mail::Message:70337520506800>, #<Mail::Message:70337520506801>]
class GmailService
def self.retrieve
new.messages
end
def messages
mailer.messages
end
private
def mailer
Gmailish::Account.process(username, password)
end
def username
ENV['GMAIL_EMAIL']
end
def password
ENV['GMAIL_PASSWORD']
end
end
- ruby > 1.9.x
- net/imap
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request