Skip to content

Instantly share code, notes, and snippets.

@edelbalso
Created June 28, 2011 15:08
Show Gist options
  • Save edelbalso/1051342 to your computer and use it in GitHub Desktop.
Save edelbalso/1051342 to your computer and use it in GitHub Desktop.
Cleaning your inbox, the ruby way.
#!/usr/bin/ruby
require 'rubygems'
require 'gmail'
def mailinate(label,emails, delete_email = false)
puts "#{label} [#{emails.count}]"
emails.each do |email|
puts " #{delete_email ? 'assasinating' : 'mailinating'} => [#{email.subject}]"
email.mark(:read)
email.label('mailinated')
if delete_email
email.delete!
else
email.archive!
end
end
end
print "enter email: "
user = gets.strip
print "enter password: "
pw = gets.strip
Gmail.new(user,pw) do |gmail|
mailinate('Groupon',gmail.inbox.emails(:from => 'mail@e.groupon.com') )
mailinate('Living Social', gmail.inbox.emails(:from => 'deals@livingsocial.com') )
mailinate('AppSumo', gmail.inbox.emails(:from => 'appsumo@email.appsumo.com') )
mailinate('Facebook', gmail.inbox.emails(:from => 'facebook') )
mailinate('Google Calendar Notifications', gmail.inbox.emails(:from => 'calendar-notification@google.com') )
mailinate('New Relic', gmail.inbox.emails(:from => 'noreply@newrelic.com') )
mailinate('Homerun', gmail.inbox.emails(:from => 'notification@homerunmail.com') )
mailinate('Twitter', gmail.inbox.emails(:from => 'twitter') )
# mailinate('', gmail.inbox.emails(:from => '') )
# ... etc ...
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment