module grabber.mailboximap
¶
Short summary¶
module pymmails.grabber.mailboximap
Defines a mailbox using IMAP
Classes¶
class |
truncated documentation |
---|---|
Defines a mail box with :epkg:`IMAP` interface. |
Methods¶
method |
truncated documentation |
---|---|
Enumerates all mails in folder folder. |
|
Enumerates all mails in folder folder from a user or sent to a user. |
|
Enumerates all mails in folder folder with a subject verifying a regular expression. |
|
Returns the list of folder of the mail box. |
|
login |
|
logout |
Documentation¶
Defines a mailbox using IMAP
- class pymmails.grabber.mailboximap.MailBoxImap(user, pwd, server, ssl=False, fLOG=<function noLOG>)¶
Bases:
object
Defines a mail box with :epkg:`IMAP` interface.
Fetch mails from a gmail account
user = "address no domain" pwd = "password" server = "imap.gmail.com" box = MailBoxImap(user, pwd, server, ssl=True) box.login() # ... fetch emails box.logout()
- Parameters:
user – user
pwd – password
server – server something like
imap.domain.ext
ssl – select
IMPA_SSL
orIMAP
fLOG – logging function
For gmail, it is
imap.gmail.com
and ssl must be true.- __init__(user, pwd, server, ssl=False, fLOG=<function noLOG>)¶
- Parameters:
user – user
pwd – password
server – server something like
imap.domain.ext
ssl – select
IMPA_SSL
orIMAP
fLOG – logging function
For gmail, it is
imap.gmail.com
and ssl must be true.
- enumerate_mails_in_folder(folder, skip_function=None, date=None, pattern='ALL', body=True)¶
Enumerates all mails in folder folder.
- Parameters:
folder – folder name
skip_function – if not None, use this function on the header/body to avoid loading the entire message (and skip it)
pattern – search pattern (see below)
date – add a date to the pattern
body – add body
- Returns:
iterator on (message)
The search pattern can be used to look for a subset of email. It follows these specifications. If a folder is a subfolder, the syntax should be
folder/subfolder
.Search pattern
pattern='FROM "xavier" SINCE 1-Feb-2013' pattern='FROM "xavier" SINCE 1-Feb-2013 BEFORE 5-May-2013' pattern='FROM "xavier" SINCE 1-Feb-2013 BEFORE 5-May-2013 (UNANSWERED)' pattern='CC "jacques" FROM "xavier" (DELETED)' pattern='TEXT "github"' pattern='LARGER 10000 SMALLER 1000000' pattern='SUBJECT "programmation"' pattern='TO "student" (FLAGGED)' pattern='(UNSEEN)'
If the function generates an error such as:
imaplib.error: command: SEARCH => got more than 10000 bytes
The keyword RECENT will be added to the search pattern in order to retreive the newest mails.
- enumerate_search_person(person, folder, skip_function=None, date=None, max_dest=5, body=True)¶
Enumerates all mails in folder folder from a user or sent to a user.
- Parameters:
person – person to look for or persons to look for
folder – folder name
skip_function – if not None, use this function on the header/body to avoid loading the entire message (and skip it)
pattern – search pattern (see below)
max_dest – maximum number of receivers
body – get the body
- Returns:
iterator on (message)
If person is a list, the function iterates on the list of persons to look for. It returns only unique mails.
- enumerate_search_subject(subject, folder, skip_function=None, date=None, max_dest=5)¶
Enumerates all mails in folder folder with a subject verifying a regular expression.
- Parameters:
subject – subject to look for
folder – folder name
skip_function – if not None, use this function on the header/body to avoid loading the entire message (and skip it)
pattern – search pattern (see below)
max_dest – maximum number of receivers
- Returns:
iterator on (message)
- folders()¶
Returns the list of folder of the mail box.
- login()¶
- logout()¶