dcparker / ruby-gmail

A Rubyesque interface to Gmail. Connect to Gmail via IMAP and manipulate emails and labels. Send email with your Gmail account via SMTP. Includes full support for parsing and generating MIME messages.
http://dcparker.github.com/ruby-gmail
790 stars 123 forks source link

The Next Version #58

Closed myobie closed 6 years ago

myobie commented 10 years ago

Shortly, I want to begin the next version of ruby-gmail.

This gem should live up to this description:

A Rubyesque interface to Gmail, with all the tools you'll need. Search, read and send multipart emails; archive, mark as read/unread, delete emails; and manage labels.

To get there I think these steps need to be taken:

These are very generic todos, but I think they are the path forward. Labels are super important. Also being able to peak and not mark as read will be huge.

If anyone is interested in helping or has comments on the direction please feel free to comment here.

The work for 2.0 will take place on my fork.

gabrielengel commented 10 years ago

Hey!

I think we should make it as easy to use as possible and try to remove any kind of redundancy. Also, we can use only the Gmail style search so we don't have to implement many things. What do you think of something like this?

https://gist.github.com/gabrielengel/201e9661b4f92b8f543d

johnnyshields commented 9 years ago

@myobie I'm a user/maintaner of gmailgem/gmail (formerly nu7hatch/gmail which was originally forked from this repo.) We'd be very keen to join efforts on the gmailgem fork as our goals are the same, i.e. more usable API, better testing, etc.

myobie commented 9 years ago

@johnnyshields awesome. I'd like to get some tests started so we can all get it going soon. I've added you as a collaborator.

myobie commented 9 years ago

@gabrielengel regarding your gist I do have this feedback:

I don't think we need to manage any state, instead we can just return objects from every call. An example of what this would look like from your gist would be:

Gmail.new(username, password) do |gmail|
  gmail.in('inbox').count # => 100

  gmail.search('is:unread').count # => 60

  gmail.search('is:read').count # => 40

  gmail.search('before:2010-02-20 after:2010-03-20')
  gmail.search('on:2010-04-15')
  gmail.search('from:myfriend@gmail.com')
  gmail.search('to:myfriend@gmail.com')
  gmail.search('is:read from:myboss@gmail.com "you are a great employee"')

  gmail.peek do |peek|
    peek.in('Urgent').count
  end
end
johnnyshields commented 9 years ago

@myobie, I've added you to the gmailgem organization. Come over to our side--we have an awesome team and a reliable approach to test the gem on Travis CI with specs now green. Your suggested improvements are most welcome.

simo2409 commented 9 years ago

I think it would be useful in the new version to abandon username/password auth and using Gmail's API. Until you use ruby (and ruby-gmail) on your desktop it's the same but using them on a webapp it drives to

Please log in via your web browser: http://support.google.com/mail/accounts/bin/answer.py?answer=78754 (Failure)
myobie commented 6 years ago

I'm closing this since it's so old.