danchoi / vmail

a vim interface for gmail
http://danielchoi.com/software/vmail.html
MIT License
786 stars 59 forks source link

Work with custom gmail domains? #11

Open mhgrove opened 13 years ago

mhgrove commented 13 years ago

My email address is not "@gmail" but "kendall@clarkparsia.com" -- should vmail still work? I have it installed correctly, but when I start it I get:

DRB_URI='druby://kendall-clarks-imac.local:50144' VMAIL_CONTACTS_FILE=vmail-contacts.txt VMAIL_MAILBOX=INBOX VMAIL_QUERY=100\ ALL /usr/local/bin/mvim -S /usr/local/Cellar/ruby/1.9.2-p0/lib/ruby/gems/1.9.1/gems/vmail-0.2.3/lib/vmail.vim vmailbuffer closing imap connection bye

-- And nothing shows up in mailbuffer

danchoi commented 13 years ago

Did you enable IMAP for this gmail account?

http://mail.google.com/support/bin/answer.py?hl=en&answer=77695

mhgrove commented 13 years ago

Yes, IMAP is enabled.

mhgrove commented 13 years ago

I didn't meant to close this one; it's unsolved so far.

danchoi commented 13 years ago

Can you see if there's a vmail.log file and copy over anything that's in it?

danchoi commented 13 years ago

It looks like you generated a vmail-contacts.txt (right?), so in principle, the IMAP connection seems working. Are you using macvim or vim?

mhgrove commented 13 years ago

vmail.log isn't much help:

D, [2010-12-15T09:14:18.911492 #46516] DEBUG -- : setting window width to 316 D, [2010-12-15T09:14:18.911833 #46516] DEBUG -- : selecting mailbox "INBOX" D, [2010-12-15T09:14:19.138568 #46516] DEBUG -- : closing connection

mhgrove commented 13 years ago

And, yes, I made vmail-contacts just fine, which suggested to me it isn't an IMAP (or custom domains) issue... I'm using macvim, but this problem happens with macvim or vim... The vmailbuffer file just never gets any contents at all...

danchoi commented 13 years ago

ok I added some additional logging out that might help us figure this out. Please install the latest version of vmail (gem install vmail) and try again. It won't fix the problem, but the logging output should be more informative. Could you copy the new log output over?

mhgrove commented 13 years ago

Logfile created on 2010-12-15 12:50:05 -0500 by logger.rb/25413

D, [2010-12-15T12:50:06.091655 #47357] DEBUG -- : setting window width to 316 D, [2010-12-15T12:50:06.092027 #47357] DEBUG -- : selecting mailbox "INBOX" D, [2010-12-15T12:50:06.331028 #47357] DEBUG -- : #<struct Net::IMAP::TaggedResponse tag="RUBY0002", name="OK", data=#<struct Net::IMAP::ResponseText code=#<struct Net::IMAP::ResponseCode name="READ-WRITE", data=nil>, text=" INBOX selected. (Success)">, raw_data="RUBY0002 OK [READ-WRITE] INBOX selected. (Success)\r\n"> D, [2010-12-15T12:50:06.351252 #47357] DEBUG -- : closing connection

danchoi commented 13 years ago

OK I added yet another logging statement. Sorry this is taking so many iterations, but if you could try again and send me the output, I would be grateful.

mhgrove commented 13 years ago

No problem; I updated but I don't see any additional logging statements. I get the same output in vmail.log after updating as before (i.e., data=nil):

Logfile created on 2010-12-15 13:06:14 -0500 by logger.rb/25413

D, [2010-12-15T13:06:15.357070 #47437] DEBUG -- : setting window width to 316 D, [2010-12-15T13:06:15.357417 #47437] DEBUG -- : selecting mailbox "INBOX" D, [2010-12-15T13:06:15.653870 #47437] DEBUG -- : #<struct Net::IMAP::TaggedResponse tag="RUBY0002", name="OK", data=#<struct Net::IMAP::ResponseText code=#<struct Net::IMAP::ResponseCode name="READ-WRITE", data=nil>, text=" INBOX selected. (Success)">, raw_data="RUBY0002 OK [READ-WRITE] INBOX selected. (Success)\r\n"> D, [2010-12-15T13:06:15.729658 #47437] DEBUG -- : closing connection

danchoi commented 13 years ago

Do you have regular vim (not macvim) installed? Could you try running vmail with the regular vim and let know if it works?

danchoi commented 13 years ago

And please try the latest version. I inadvertently introduced a bug in the previous version.

danchoi commented 13 years ago

Could you try starting vmail with this command:

VMAIL_VIM=mvim vmail

(Don't use the full path to mvim)

mhgrove commented 13 years ago

Yes, I have regular vim and it doesn't work either. I get this behavior:

-> % cat vmailbuffer fetching messages. please wait...

-- never get anything else...

-> % cat vmail.log

D, [2010-12-15T13:24:59.301632 #47547] DEBUG -- : setting window width to 316 D, [2010-12-15T13:25:55.661709 #47547] DEBUG -- : closing connection

-- I forced the connection closed after 5 minutes...

mhgrove commented 13 years ago

Using the latest version and starting with "VMAIL_VIM=mvim vmail" made no difference. Very puzzled by this; it acts the same way if I use vim or mvim. I get data=nil in the logs, fetching messages in vmailbuffer, and then no activity at all...

It's definitely OSX specific, though, because 0.3.5 works fine on my Linux box w/ the same config file (and same VIM configuration, too).

danchoi commented 13 years ago

That's strange and interesting. I'm developing vmail on OS X Snow Leopard. Could you generate the vmail-contacts.txt successfully on your OS X machine as well?

mhgrove commented 13 years ago

I assume you meant to ask if I can generate contacts on my Linux box, as well. The answer is, yes, that's not a problem. I would have guessed it was something in my vim configuration; but I have my vim configuration stored in Dropbox and both my Linux & OSX boxes are using the same configuration.

mhgrove commented 13 years ago

No change with 0.3.6 -- I never get any messages in vmail.log about uid search or fetching headers, etc. vim just waits forever for some content and never gets it. So I don't think it's necessarily a problem on the vim side.

danchoi commented 13 years ago

Please disregard my last suggestion, which I deleted. I need to think about this more.

mhgrove commented 13 years ago

I tried w/ removing the check for mvim, but I see no change at all. Thanks for all the help so far! :>

severb commented 13 years ago

It's strange because it works for me and I'm also using an email ending in something else than gmail.

mhgrove commented 13 years ago

I'm using Ruby 1.9.2p0 from Cellar. FYI.

Is there any way I can easily have vmail just dump to STDOUT instead of trying to write to vmailbuffer and involve vim? That might help us figure out if it's the IMAP issue or if it's just some kind of UI issue w/ vim.

danchoi commented 13 years ago

OK let me add a tool to the vmail gem that can you pipe a text file into to send off an email. This will run outside vim so maybe it can show us what's happening here. I'll probably do implement this within the next 2 hours.

danchoi commented 13 years ago

Update your vmail gem to version 0.6.1 and try using the vmailsend command. See the vmail homepage for instructions. (Search the page for vmailsend.) Let me know how it goes. Thanks!

mhgrove commented 13 years ago

That works fine, but only if I embed my password in the .vmailrc file. If I don't, I get an error:

Enter gmail password (won't be visible & won't be persisted): stty: stdin isn't a terminal stty: stdin isn't a terminal stty: stdin isn't a terminal

...

And then the expected Ruby smtp.rb stacktrace:

/usr/local/Cellar/ruby/1.9.2-p0/lib/ruby/1.9.1/net/smtp.rb:954:in `check_auth_response': 535-5.7.1 Username and Password not accepted. Learn more at (Net::SMTPAuthenticationE

mhgrove commented 13 years ago

Dan,

Here's the latest output from 0.7.7:

-> % VMAIL_VIM=mvim vmail starting vmail 0.7.7 using config file: .vmailrc using contacts file: vmail-contacts.txt Enter gmail password (won't be visible & won't be persisted):

starting vmail imap client for kendall@clarkparsia.com starting gmail service at druby://kendall-clarks-imac.local:53858 D, [2010-12-17T16:47:48.542505 #55083] DEBUG -- : setting window width to 316 D, [2010-12-17T16:47:48.542915 #55083] DEBUG -- : selecting mailbox "INBOX" D, [2010-12-17T16:47:48.716634 #55083] DEBUG -- : #<struct Net::IMAP::TaggedResponse tag="RUBY0002", name="OK", data=#<struct Net::IMAP::ResponseText code=#<struct Net::IMAP::ResponseCode name="READ-WRITE", data=nil>, text=" INBOX selected. (Success)">, raw_data="RUBY0002 OK [READ-WRITE] INBOX selected. (Success)\r\n"> D, [2010-12-17T16:47:48.873625 #55083] DEBUG -- : mailbox status: {"MESSAGES"=>22, "RECENT"=>0, "UNSEEN"=>10} D, [2010-12-17T16:47:49.033127 #55083] DEBUG -- : HIGHEST ID: 22 mailbox: INBOX query: [100, "ALL"] using buffer file: vmailbuffer DRB_URI=druby://kendall-clarks-imac.local:53858 VMAIL_CONTACTS_FILE=vmail-contacts.txt VMAIL_MAILBOX=INBOX VMAIL_QUERY=100\ ALL mvim -S /usr/local/Cellar/ruby/1.9.2-p0/lib/ruby/gems/1.9.1/gems/vmail-0.7.7/lib/vmail.vim vmailbuffer

-- mvim just blocks/hangs waiting for something to show up in vmailbuffer...After I kill vmail, mvim is unusable (?) and I have to quit it.

danchoi commented 13 years ago

So you don't see "closing connection" printed out to the console this time around, like you did before?

danchoi commented 13 years ago

It looks like this time the process got further along before hanging. I'm still trying to figure out this puzzle...

mhgrove commented 13 years ago

Right, I don't see "closing connection"...

I wonder if it could be my version of Ruby or Ruby libs? I'm using Homebrew, so I've got 1.9.2p0 (2010-08-18 rev 29036).

Btw, thanks for sticking with me on this: you've been great! :>

danchoi commented 13 years ago

No problem! OK I added yet more logging output, this time to the vmailbuffer file on startup. Please update to 0.7.8 and let me know what you see.

danchoi commented 13 years ago

Here's something else you can try too. When you see the vmailbuffer in mvim, press CTRL-C to interrupt whatever might be hanging, then type :echo $VMAIL_MAILBOX in vim command mode. You should see INBOX echoed. Please let me know if you can do this.

danchoi commented 13 years ago

Also try typing :echo $DRB_URI and seeing what gets echoed.

mhgrove commented 13 years ago

Sorry I didn't respond to this yet; some updates:

  1. against the latest vmail (1.1.9), on Linux, using VMAIL_VIM=vim, vmail works. Yay!
  2. using VMAIL_VIM=gvim, it doesn't work, I get a Ruby stacktrace about not being able to open DRB_URI, "open: druby://k-desktop:52483 - #<Errno: ECONNREFUSED: Connection refused - connect(2)..."
  3. It still doesn't work for me on OSX (my vims on both boxes use the same config files, FYI)... I still never see anything in vmailbuffer, other than the new debug info there (vmail starting with these values...):
    • drb uri: druby://kendall-clarks-imac.local:60446
    • mailbox: INBOX
    • query: 100 ALL