1
0
Fork 0

Adding gmail to the mailbox types

and adding the type to models.py
This commit is contained in:
Alex Lovell-Troy 2014-05-28 21:24:46 -06:00
parent cc4e72305d
commit 677e420dec
2 changed files with 23 additions and 1 deletions

View file

@ -15,7 +15,7 @@ from django.core.files.base import ContentFile
from django.db import models from django.db import models
from django_mailbox.transports import Pop3Transport, ImapTransport,\ from django_mailbox.transports import Pop3Transport, ImapTransport,\
MaildirTransport, MboxTransport, BabylTransport, MHTransport, \ MaildirTransport, MboxTransport, BabylTransport, MHTransport, \
MMDFTransport MMDFTransport, GmailImapTransport
from django_mailbox.signals import message_received from django_mailbox.signals import message_received
import six import six
from six.moves.urllib.parse import parse_qs, unquote, urlparse from six.moves.urllib.parse import parse_qs, unquote, urlparse
@ -168,6 +168,14 @@ class Mailbox(models.Model):
archive=self.archive archive=self.archive
) )
conn.connect(self.username, self.password) conn.connect(self.username, self.password)
elif self.type == 'gmail':
conn = GmailImapTransport(
self.location,
port=self.port if self.port else None,
ssl=True,
archive=self.archive
)
conn.connect(self.username, self.password)
elif self.type == 'pop3': elif self.type == 'pop3':
conn = Pop3Transport( conn = Pop3Transport(
self.location, self.location,

View file

@ -61,6 +61,20 @@ would enter the following as your URI::
imap+ssl://youremailaddress%40gmail.com:1234@imap.gmail.com?archive=Archived imap+ssl://youremailaddress%40gmail.com:1234@imap.gmail.com?archive=Archived
Gmail IMAP with Oauth2 authentication
-------------------------------------
Gmail supports using oauth2 for authentication_ which is more secure.
To handle the handshake and storing the credentials, use python-social-auth_.
.. _authentication: https://developers.google.com/gmail/xoauth2_protocol
.. _python-social-auth: http://psa.matiasaguirre.net/
The Gmail Mailbox is also a regular IMAP mailbox, but the password will be ignored if oauth2 succeeds. It can fall back to password as needed.
Build your URI accordingly::
gmail+ssl://youremailaddress%40gmail.com:oauth2@imap.gmail.com?archive=Archived
Local File-based Mailboxes Local File-based Mailboxes
-------------------------- --------------------------