From 19cc19e2d6b0ae9fa05d52b53b12d2a4e454a89c Mon Sep 17 00:00:00 2001 From: Adam Coddington Date: Mon, 15 Feb 2016 19:22:26 -0800 Subject: [PATCH] Bumping maxlines to 10^6 to support large mailboxes. Fixes #81. --- django_mailbox/transports/imap.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/django_mailbox/transports/imap.py b/django_mailbox/transports/imap.py index 82f7530..6f0f5d1 100644 --- a/django_mailbox/transports/imap.py +++ b/django_mailbox/transports/imap.py @@ -1,4 +1,4 @@ -from imaplib import IMAP4, IMAP4_SSL +import imaplib import logging from django.conf import settings @@ -6,6 +6,13 @@ from django.conf import settings from .base import EmailTransport, MessageParseError +# By default, imaplib will raise an exception if it encounters more +# than 10k bytes; sometimes users attempt to consume mailboxes that +# have a more, and modern computers are skookum-enough to handle just +# a *few* more messages without causing any sort of problem. +imaplib._MAXLINE = 1000000 + + logger = logging.getLogger(__name__) @@ -28,11 +35,11 @@ class ImapTransport(EmailTransport): self.archive = archive self.folder = folder if ssl: - self.transport = IMAP4_SSL + self.transport = imaplib.IMAP4_SSL if not self.port: self.port = 993 else: - self.transport = IMAP4 + self.transport = imaplib.IMAP4 if not self.port: self.port = 143