How to send a non-standard IMAP command?

Xianwen Chen xianwen.chen at gmail.com
Fri Jun 25 04:06:24 EDT 2010


On Jun 24, 2:25 pm, Tim Chase <python.l... at tim.thechases.com> wrote:
> On 06/24/2010 04:47 AM, Xianwen Chen wrote:
>
>
>
> > Thanks a lot for your reply! I thought it would be simpler if the
> > problem was presented in a brief way. Unfortunately, not for this
> > case.
>
> > Here is the detail. Free Yahoo! mail accounts can be accsessed via
> > IMAP protocal, however, a non-standard shake hand code is needed
> > before log in [1]:
>
> > ID ("GUID" "1")
>
> > . This is what I'm now working for. I tried:
>
> > IMAP4.xatom('','ID ("GUID" "1")','',)
>
> > and
>
> > dest_srv.xatom('ID ("GUID" "1")')
>
> > , but I got error messages. Any hint please?
>
> In general, it would be helpful to include the error-message(s)
> you get.  However, I tried it with a junk Yahoo account I set up:
>
>    from imaplib import IMAP4
>    i = IMAP4("imap.mail.yahoo.com")
>    USER = 'yourusern... at yahoo.com'
>    PASS = 'your secret goes here'
>    # per the Wikipedia page you gave
>    # the ID has to happen before login
>    i.xatom('ID ("GUID" "1")')
>
>    i.login(USER, PASS)
>    i.select()
>    typ, data = i.search(None, 'ALL')
>    for num in data[0].split():
>      typ, data = i.fetch(num, '(RFC822)')
>      message = data[0][1].splitlines()
>      subject = [line
>        for line in message
>        if line.lower().startswith('subject: ')
>        ][0]
>      print num, subject
>    i.close()
>    i.logout()
>
> and it worked.
>
> -tkc

Hi Tim,

The problem was the password. I was careless. Thanks for your advice.
Next time I'll have error codes posted.

And thanks a lot for your constructive example!

I have a strange problem that

"M = imaplib.IMAP4_SSL(M_addr)
M.debug = 2"

doesn't work. No verbose output at all. Any hint please?

Best regards,

Xianwen



More information about the Python-list mailing list