Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
IMAP support for yahoo mail
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  9 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Bijan  
View profile  
 More options Sep 7 2009, 3:08 am
Newsgroups: mozilla.dev.apps.thunderbird
From: Bijan <bi...@psq.com>
Date: Mon, 7 Sep 2009 00:08:37 -0700 (PDT)
Local: Mon, Sep 7 2009 3:08 am
Subject: IMAP support for yahoo mail
Hi,

It is possible to access yahoo mail accounts through
imap.mail.yahoo.com. The problem is that it is necessary to send the
command:
ID ("GUID" "1")

before the LOGIN command. So to get it to work in thunderbird it would
be necessary to have thunderbird send this command.

I downloaded the source for thunderbird-2.0.0.22 and successfully
compiled it. Then I tried to add some code to get it to send that
command. I thought it would make sense to add it to the file mailnews/
imap/src/nsImapProtocol.cpp and specifically the function
nsImapProtocol::InsecureLogin(), which is where it seems the LOGIN
command is being sent.

I tried adding the following code:
  IncrementCommandTagNumber();
  nsCString command_guid (GetServerCommandTag());
  command_guid.Append(" id (\"GUID\" \"1\")"CRLF);

  nsresult rv_guid = SendData(command_guid.get(), PR_TRUE /* suppress
logging */);
  if (NS_SUCCEEDED(rv_guid)){
        printf("Success in sending id!\n");
  }

but it doesn't seem to work. Thunderbird says something like can't
connect to server and asks for the password again. Looking at the
packets that are sent I can see that the ID command is sent. But it
seems the LOGIN command is not. Although the response to the LOGIN
command says LOGIN OK (indicating a successful login).

Anyways I tested downloading a message manually using the following
sequence of commands through "telnet imap.mail.yahoo.com 143":
1 capability
2 id ("GUID" "1")
3 login "usern...@yahoo.com" "password"
4 list *
5 examine Inbox
6 fetch 1 all
7 fetch 1 body[text]
8 logout

and I was also able to get it working in mutt. I explain how to do it
on my website at:
http://www.crasseux.com/linux/

Anyways any help would be appreciated.

Best regards,
Bijan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Bienvenu  
View profile  
 More options Sep 7 2009, 10:34 am
Newsgroups: mozilla.dev.apps.thunderbird
From: David Bienvenu <bienv...@nventure.com>
Date: Mon, 07 Sep 2009 07:34:57 -0700
Local: Mon, Sep 7 2009 10:34 am
Subject: Re: IMAP support for yahoo mail
Hi Bijan,
   First of all, I would not suppress logging, so then you can generate
an imap protocol log and see what the server is responding.

https://wiki.mozilla.org/MailNews:Logging

My guess is that you're not parsing the response of the command, and
confusing our parser in general, because it probably sees the response
from the ID command after sending the LOGIN command and tries to parse
it. So you need to somehow consume the response of your ID command
first, before sending the login command. Usually we use
ParseIMAPandCheckForNewMail() to parse the server response. I don't know
what the server is returning in this case, so I have no idea if our
parser as it is now will be happy with the response.

- David

On 9/7/2009 12:08 AM, Bijan wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bijan Soleymani  
View profile  
 More options Sep 7 2009, 4:05 pm
Newsgroups: mozilla.dev.apps.thunderbird
From: Bijan Soleymani <bi...@psq.com>
Date: Mon, 07 Sep 2009 16:05:14 -0400
Local: Mon, Sep 7 2009 4:05 pm
Subject: Re: IMAP support for yahoo mail
Thanks David,

I enabled imap logging and removed the code to suppress logging when
sending the id command and I also made a call to
ParseIMAPandCheckForNewMail().
Here is what the log says:
-1299633264[89925a8]: 8991978:imap.mail.yahoo.com:NA:SendData: 2 id
("GUID" "1")^M
-1299633264[89925a8]: ReadNextLine [stream=8992e54 nb=84 needmore=0]
-1299633264[89925a8]:
8991978:imap.mail.yahoo.com:NA:CreateNewLineFromSocket: * ID ("name"
"imapgate" "support-url" "http://mail.yahoo.com/" "version" "3.5.55")^M
-1299633264[89925a8]: ###!!! ASSERTION: syntax error in generic parser:
'!error', file nsIMAPGenericParser.cpp, line 92
-1299633264[89925a8]: ###!!! Break: at file nsIMAPGenericParser.cpp, line 92
-1299633264[89925a8]: 8991978:imap.mail.yahoo.com:NA:PARSER:Internal
Syntax Error on line: %s: * ID ("name" "imapgate" "support-url"
"http://mail.yahoo.com/" "version" "3.5.55")^M

So it seems thunderbird is having trouble parsing the response to the id
command which is:
* ID ("name" "imapgate" "support-url" "http://mail.yahoo.com/" "version"
"3.5.55")^M

On the positive side this is the log of the imap packets sent and
received (according to tshark):
   5.111712 98.136.166.105 -> 96.20.133.9  IMAP Response: * OK IMAP4rev1
server ready (3.5.55)
   5.112920  96.20.133.9 -> 98.136.166.105 IMAP Request: 1 capability
   5.200712 98.136.166.105 -> 96.20.133.9  IMAP Response: * CAPABILITY
IMAP4rev1 LOGIN-REFERRALS AUTH=XYMCOOKIE AUTH=XYMCOOKIEB64 AUTH=XYMPKI
AUTH=XYMECOOKIE ID NAMESPACE
   8.807688  96.20.133.9 -> 98.136.166.105 IMAP Request: 2 id ("GUID" "1")
   8.896215 98.136.166.105 -> 96.20.133.9  IMAP Response: * ID ("name"
"imapgate" "support-url" "http://mail.yahoo.com/" "version" "3.5.55")
   8.897354  96.20.133.9 -> 98.136.166.105 IMAP Request: 3 login
"rsoleym...@yahoo.com" "rosa123"
   9.291807 98.136.166.105 -> 96.20.133.9  IMAP Response: 3 OK LOGIN
completed

which indicates that thunderbird is now sending the LOGIN command at least.

I will try looking into the parser and see what is wrong.

Thanks again,
Bijan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bijan Soleymani  
View profile  
 More options Sep 7 2009, 4:33 pm
Newsgroups: mozilla.dev.apps.thunderbird
From: Bijan Soleymani <bi...@psq.com>
Date: Mon, 07 Sep 2009 16:33:57 -0400
Local: Mon, Sep 7 2009 4:33 pm
Subject: Re: IMAP support for yahoo mail
I managed to get it to work. The problem was in:
nsImapServerResponseParser.cpp

Specifically the function:
nsImapServerResponseParser::response_data()

This is the function that figures out what the response is. It has a
switch that deals with each possible command. It didn't know about the
id command so flagged it as an error.
All I had to do was add:
case 'I':
       if (toupper(fNextToken[1]) == 'D')
         id_data();
       else SetSyntaxError(PR_TRUE);
       break;

where id_data() is a function to process the rest of the data relating
to the id command. Here is the code for that (I copied it from the one
for the language command, language_data()):
void nsImapServerResponseParser::id_data()
{
   // for now, just eat the id data....
   do
   {
     // eat each language returned to us
     AdvanceToNextToken();
   } while (fNextToken && !fAtEndOfLine && ContinueParse());

}

I think this would be really useful to a lot of people using yahoo mail,
because the imap access works really well. The only problem I can see is
if a lot of people start using this yahoo might block it. But I don't
think that is that likely as both freepops and YPOPs use this method to
download mail form yahoo. So yeah maybe incorporate this into
thunderbird, or make it an extension.

Thanks again,
Bijan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "IMAP support for yahoo mail (binaries)" by Bijan Soleymani
Bijan Soleymani  
View profile  
 More options Oct 7 2009, 12:52 am
Newsgroups: mozilla.dev.apps.thunderbird
From: Bijan Soleymani <bi...@psq.com>
Date: Wed, 07 Oct 2009 00:52:34 -0400
Local: Wed, Oct 7 2009 12:52 am
Subject: Re: IMAP support for yahoo mail (binaries)
I have uploaded binaries for Thunderbird 2 with yahoo IMAP support
compiled for Ubuntu (which might work on other Linux distributions) to
my site:
http://www.crasseux.com/linux/

I am now trying to compile a windows version. It should be up eventually.

There is also a binary for mutt with similar support for yahoo IMAP.

Bijan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "IMAP support for yahoo mail (windows version)" by Bijan Soleymani
Bijan Soleymani  
View profile  
 More options Oct 7 2009, 5:14 am
Newsgroups: mozilla.dev.apps.thunderbird
From: Bijan Soleymani <bi...@psq.com>
Date: Wed, 07 Oct 2009 05:14:36 -0400
Local: Wed, Oct 7 2009 5:14 am
Subject: Re: IMAP support for yahoo mail (windows version)
The windows version is now available:
http://www.crasseux.com/linux/thunderbird-2.0.0.22.en-US.win32.instal...

Also not only is it possible to receive mail through IMAP from
imap.mail.yahoo.com but it is also possible to send mail through SMTPs
through smtp.mail.yahoo.com. All that is necessary is to choose SSL and
port 465. You can then use your yahoo email address as username along
with your normal webmail password. This also applies to the IMAP, except
that the IMAP does not run over SSL.

Again you can read about it on my site:
http://www.crasseux.com/linux/

and it's also on wikipedia (though who knows for how long):
http://en.wikipedia.org/wiki/Yahoo!_Mail#Free_IMAP_and_SMTPs_access

I hope yahoo doesn't disable this. I mean if Gmail can offer IMAP why
not Yahoo?

Enjoy,
Bijan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "IMAP support for yahoo mail (binaries)" by Dan
Dan  
View profile  
 More options Oct 11 2009, 7:08 am
Newsgroups: mozilla.dev.apps.thunderbird
From: Dan <d...@nospam.com>
Date: Sun, 11 Oct 2009 06:08:07 -0500
Local: Sun, Oct 11 2009 7:08 am
Subject: Re: IMAP support for yahoo mail (binaries)
Does TB work better with Yahoo IMAP vs Google IMAP???

on 10/6/09 11:52 PM Bijan Soleymani said the following:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bijan Soleymani  
View profile  
 More options Oct 12 2009, 1:23 am
Newsgroups: mozilla.dev.apps.thunderbird
From: Bijan Soleymani <bi...@psq.com>
Date: Mon, 12 Oct 2009 01:23:52 -0400
Local: Mon, Oct 12 2009 1:23 am
Subject: Re: IMAP support for yahoo mail (binaries)
Hey Dan,

Dan wrote:
> Does TB work better with Yahoo IMAP vs Google IMAP???

No, I would say not. It probably works better with Google. Mainly
because of the following two issues with Yahoo IMAP:
1. Folders can't have subfolders on Yahoo. Although you can create
folders with a . in them, when Thunderbird requests the list of folders
the Yahoo IMAP server returns the (\HasNoChildren) flag for every
folder. I think this makes Thunderbird display them as separate folders.
I could probably check if the user is accessing Yahoo IMAP and alter
this behaviour in that case, but I don't know if that's the right thing
to do...

2. If you have lots of messages in a folder downloading headers is slow
on Yahoo. Of course this is only a problem the first time you open that
folder, because Thunderbird caches the headers, so the next time it will
only have to download the new headers. I'm assuming GMail is faster at
this, however I don't have many messages in my GMail account so I don't
know how fast it is for sure.

Bijan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Discussion subject changed to "IMAP support for yahoo mail (windows version)" by djcristi
djcristi  
View profile  
 More options Nov 26 2009, 7:40 am
Newsgroups: mozilla.dev.apps.thunderbird
From: djcristi <djcrist...@gmail.com>
Date: Thu, 26 Nov 2009 04:40:45 -0800 (PST)
Local: Thurs, Nov 26 2009 7:40 am
Subject: Re: IMAP support for yahoo mail (windows version)
On Oct 7, 11:14 am, Bijan Soleymani <bi...@psq.com> wrote:

can you modify and compile thunderbird 2.0.0.23 pls?

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »