Yahoo! Mail IMAP Proxy


UPDATE: It was fun, but this proxy is no longer needed. You can connect directly to Yahoo! via IMAP with the following servers:

imap.mail.yahoo.com port 993 (SSL)
smtp.mail.yahoo.com port 465 (SSL)


There are a few Yahoo! Mail IMAP proxies out there (YPOPS!, FreePOPs), but to be honest, I haven’t had much luck with either of them.  Additionally, switching webmail interfaces to Asia or Classic or whatever can be a bit of a hassle.


Yahoo! supports IMAP on some mobile devices, and now also allows it for anyone using the Zimbra mail client.  Unfortunately, I’m not too fond of that client and much prefer my Thunderbird; too bad it isn’t natively supported.


Luckily, Yahoo’s IMAP implementation isn’t too far off from what other clients recognize; it simply requires a "ID ("GUID" "1")"  to be issued before logging in.  No clients do that (except for these hacked up versions of Thunderbird), so my workaround was to create a simple IMAP proxy.


This proxy simply takes the commands sent to it by your mail client, passes them on to Yahoo, and relays them back to your client.  It all the while looks for your client to issue a "login" command so that it can inject the "id" command to unlock IMAP access.


This program is written in C and has been tested on Linux and Windows (via Cygwin). Read the release notes in the source for more information.  I haven’t written in C for a while, and I know that this program can be improved.  If anyone does so, I’d like to hear from you.


Connection settings:
Username: yahoo_username@yahoo.com
Hostname: localhost
Port: 3490
SSL: off

Download latest source


Download Windows Cygwin version


View Google Code Homepage

Posted in Tech Corner
59 comments on “Yahoo! Mail IMAP Proxy
  1. Ameir Abdeldayem says:

    Hi Vlad,

    You actually don’t need to use this proxy anymore; Yahoo now allows IMAP without any tricks necessary. See the top of the blog entry for details.

    Thanks,
    Ameir

  2. Vlad S says:

    Thanks Ameir, actually I’ve solved this problem one or two days after posting this message. the problem was whit my password. Somehow imap didn’t accept my last password which included even spaces. After changing the password, everything was great.
    Again, thank you for your help and keep up the good work.

  3. SckuffyWolf says:

    Hey, you guys dont need to do all that hacking, if you just set up using the given settings using opera mail ( http://www.opera.com/ ) i am did change my location to yahoo china so if that helps. See, there is a client that supports yahoo IMAP for free!

  4. TS says:

    I had the same issue as Vlad S. The new server didn’t work for me until I change my password to one that doesn’t have spaces. You may want to add that to the update at the top of the page. Thanks for posting this information!

  5. David says:

    few days ago i switched to yahoo mail beta preview and found that i can no longer access yahoo mail imap. can somebody confirm this? thanks

  6. Joe says:

    @David, I’m using Yahoo Mail Beta, and can still access IMAP; don’t know your location, but maybe that has something to do with it.

    - Are you using the IMAP Proxy application or the new settings at the top of this thread?

    - If you switch back to the non-beta system, can you use IMAP again?

  7. Ameir Abdeldayem says:

    I just switched to the beta a few moments ago to test out IMAP, and it appears to work fine. If they’re indeed implementing restrictions, maybe some time needs to pass. If I run into any problems with their IMAP servers I’ll post back.

  8. David says:

    it’s solved after i change my password. thanks.

  9. Ralph says:

    I am running Tbird 3.1 on a linux box. I am using the Tbird webmail 1.3.13 plugin and
    the webmail – yahoo plugin 1.5.6
    the webmail is set to IMAP port 1119 and activated
    my yahoo account is set to port 993
    imap-ssl.mail.yahoo.com
    security SSL/TLS
    normal password
    been working great for about a year
    using normal yahoo login and password

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">