diff --git a/.idea/django-mailbox.iml b/.idea/django-mailbox.iml new file mode 100644 index 0000000..a34a857 --- /dev/null +++ b/.idea/django-mailbox.iml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..e206d70 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..81ce6c1 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..8a21327 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml new file mode 100644 index 0000000..922003b --- /dev/null +++ b/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..c80f219 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/django_mailbox/models.py b/django_mailbox/models.py index f6e938b..ff89c13 100644 --- a/django_mailbox/models.py +++ b/django_mailbox/models.py @@ -12,7 +12,9 @@ import uuid try: import urllib.parse as urlparse + from urllib.parse import unquote except ImportError: + from urllib import unquote import urlparse from django.conf import settings @@ -130,11 +132,11 @@ class Mailbox(models.Model): @property def username(self): - return urllib.unquote(self._protocol_info.username) + return unquote(self._protocol_info.username) @property def password(self): - return urllib.unquote(self._protocol_info.password) + return unquote(self._protocol_info.password) @property def location(self): diff --git a/django_mailbox/transports/imap.py b/django_mailbox/transports/imap.py index 2ba3db2..484f435 100644 --- a/django_mailbox/transports/imap.py +++ b/django_mailbox/transports/imap.py @@ -29,9 +29,9 @@ class ImapTransport(object): for key in inbox[0].split(): try: typ, msg_contents = self.server.fetch(key, '(RFC822)') - message = email.message_from_string(msg_contents[0][1]) + message = email.message_from_bytes(msg_contents[0][1]) yield message - except email.Errors.MessageParseError: + except email.errors.MessageParseError: continue self.server.store(key, "+FLAGS", "\\Deleted") self.server.expunge()