472,127 Members | 1,502 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,127 software developers and data experts.

imaplib & Received: header(s)???

Hello,

Is there a way to get at the "Received" header(s) or is there something
in imaplib or imap server implementations that hides these? If not, what
IMAP FETCH command should be used? I've used for example
"BODY[HEADER.FIELDS (RECEIVED)]" and it always returns empty ("\r\n").
Despite the Received - header existing, as demonstrated by taking a look
at message sources via desktop email clients.

I need to get at the Received-for header to figure out at which address
we received an email. We subscribe to a number of mailing lists using
per-mailing-list addresses, and often, To: field contains something else
than our address, thus the need for Received-for.

Any help would be much appreciated - this is baffling me and I've not
found anything recent that would help.

Thanks,

Petri

Aug 19 '07 #1
2 2235
Quoth Petri Savolainen <pe**************@iki.fi>:

| Is there a way to get at the "Received" header(s) or is there something
| in imaplib or imap server implementations that hides these? If not, what
| IMAP FETCH command should be used? I've used for example
| "BODY[HEADER.FIELDS (RECEIVED)]" and it always returns empty ("\r\n").
| Despite the Received - header existing, as demonstrated by taking a look
| at message sources via desktop email clients.
|
| I need to get at the Received-for header to figure out at which address
| we received an email. We subscribe to a number of mailing lists using
| per-mailing-list addresses, and often, To: field contains something else
| than our address, thus the need for Received-for.
|
| Any help would be much appreciated - this is baffling me and I've not
| found anything recent that would help.

"Anything recent"? If you're getting IMAP advice from comp.lang.python,
I think it's fair to say you will need to be more resourceful. The
RFC for IMAP4rev1 should be helpful. I don't know the IMAP to get a
single header field, but my guess is that your error is there. Can you
retrieve other fields that way? Does the one you're looking for appear
in the data if you get the whole header, for example with 'RFC822.HEADER'?
It certainly does in my Python IMAP client, and this would have at least
helped you refine your question.

Donn Cave
Aug 19 '07 #2
Donn Cave wrote:
| I need to get at the Received-for header to figure out at which address
| we received an email. We subscribe to a number of mailing lists using
| per-mailing-list addresses, and often, To: field contains something else
| than our address, thus the need for Received-for.
|

"Anything recent"? If you're getting IMAP advice from comp.lang.python,
I think it's fair to say you will need to be more resourceful. The
RFC for IMAP4rev1 should be helpful. I don't know the IMAP to get a
single header field, but my guess is that your error is there. Can you
retrieve other fields that way? Does the one you're looking for appear
in the data if you get the whole header, for example with 'RFC822.HEADER'?
It certainly does in my Python IMAP client, and this would have at least
helped you refine your question.
Thanks Donn,

I had already checked everything relevant, including what you suggested.
The only examples that I found including the Received header utilized
the now-obsoleted rfc822 library in python from many years and versions
back. Thus nothing recent.

However, you mentioning "RFC822.HEADER" working for you prompted me to
try another mail server... to my surprise, everything worked. It appears
some imap servers do not allow programmatic fetching of Received:
information. Should've done this check sooner :-(

Thanks,

Petri


Aug 20 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.