Message246726
| Author |
Chris Smowton |
| Recipients |
Chris Smowton, Ingo Ruhnke, berker.peksag, christian.heimes, doko, gnarvaja, r.david.murray, rblank |
| Date |
2015年07月14日.11:01:16 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1436871677.76.0.843650475982.issue23906@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
I found the same problem retrieving mail from my ISP's (unknown) POP3 server. I was sent an HTML email as one long 50KB line, which naturally broke everything.
Instead of limiting line length, I suggest you should limit total message body size, since that's what you're actually trying to defend against here. You could also either use the +OK XXX octets line to set a more conservative limit (and fail fast if it announces intent to send more than your limit).
As above the workaround was to insert import poplib; poplib._MAXLINE = 1000000 at the top of the 'getmail' script.
A side-note: one message that is broken this way causes all future messages to fail because poplib does not flush the connection when bailing due to a 'line too long' error. If it isn't prepared to read the rest of the incoming data, it *must* hang up the connection and re-login to fetch the next message. |
|