Part of twisted.mail View Source
Author | Jp Calderone
To do: Suspend idle timeout while server is processing Use an async message parser instead of buffering in memory Figure out a way to not queue multi-message client requests (Flow? A simple callback?) Clarify some API docs (Query, etc) Make APPEND recognize (again) non-existent mailboxes before accepting the literal |
Class | MessageSet | Essentially an infinite bitfield, with some extra features. |
Class | LiteralString | No class docstring; 1/3 methods documented |
Class | LiteralFile | No class docstring; 1/3 methods documented |
Class | WriteBuffer | Buffer up a bunch of writes before sending them all to a transport at once. |
Class | Command | Undocumented |
Class | LOGINCredentials | Undocumented |
Class | PLAINCredentials | Undocumented |
Class | IMAP4Exception | Undocumented |
Class | IllegalClientResponse | Undocumented |
Class | IllegalOperation | Undocumented |
Class | IllegalMailboxEncoding | Undocumented |
Interface | IMailboxListener | Interface for objects interested in mailbox events |
Class | IMAP4Server | Protocol implementation for an IMAP4rev1 server. |
Class | UnhandledResponse | Undocumented |
Class | NegativeResponse | Undocumented |
Class | NoSupportedAuthentication | Undocumented |
Class | IllegalServerResponse | Undocumented |
Class | IMAP4Client | IMAP4 client protocol implementation |
Class | IllegalIdentifierError | Undocumented |
Function | parseIdList | Parse a message set search key into a MessageSet . |
Class | IllegalQueryError | Undocumented |
Function | Query | Create a query string |
Function | Or | The disjunction of two or more queries |
Function | Not | The negation of a query |
Class | MismatchedNesting | Undocumented |
Class | MismatchedQuoting | Undocumented |
Function | wildcardToRegexp | Undocumented |
Function | splitQuoted | Split a string into whitespace delimited tokens |
Function | splitOn | Undocumented |
Function | collapseStrings | Turns a list of length-one strings and lists into a list of longer strings and lists. For example, |
Function | parseNestedParens | Parse an s-exp-like string into a more useful data structure. |
Class | DontQuoteMe | Undocumented |
Function | collapseNestedLists | Turn a nested list structure into an s-exp-like string. |
Interface | IClientAuthentication | No interface docstring; 2/2 methods documented |
Class | CramMD5ClientAuthenticator | Undocumented |
Class | LOGINAuthenticator | Undocumented |
Class | PLAINAuthenticator | Undocumented |
Class | MailboxException | Undocumented |
Class | MailboxCollision | Undocumented |
Class | NoSuchMailbox | Undocumented |
Class | ReadOnlyMailbox | Undocumented |
Interface | IAccount | Interface for Account classes |
Interface | INamespacePresenter | No interface docstring; 3/3 methods documented |
Class | MemoryAccount | Undocumented |
Function | statusRequestHelper | Undocumented |
Function | parseAddr | Undocumented |
Function | getEnvelope | Undocumented |
Function | getLineCount | Undocumented |
Function | unquote | Undocumented |
Function | getBodyStructure | Undocumented |
Interface | IMessagePart | No interface docstring; 5/5 methods documented |
Interface | IMessage | No interface docstring; 3/3 methods documented |
Interface | IMessageFile | Optional message interface for representing messages as files. |
Interface | ISearchableMailbox | No interface docstring; 1/1 methods documented |
Interface | IMessageCopier | No interface docstring; 1/1 methods documented |
Interface | IMailboxInfo | Interface specifying only the methods required for
listMailboxes . |
Interface | IMailbox | No interface docstring; 15/15 methods documented |
Interface | ICloseableMailbox | A supplementary interface for mailboxes which require cleanup on close. |
Function | subparts | Undocumented |
Function | iterateInReactor | Consume an interator at most a single iteration per reactor iteration. |
Class | MessageProducer | No class docstring; 1/3 methods documented |
Class | FileProducer | Undocumented |
Function | parseTime | Undocumented |
Function | modified_base64 | Undocumented |
Function | modified_unbase64 | Undocumented |
Function | encoder | Encode the given unicode string using the IMAP4 specific
variation of UTF-7. |
Function | decoder | Decode the given str using the IMAP4 specific variation of
UTF-7. |
Class | StreamReader | Undocumented |
Class | StreamWriter | Undocumented |
Function | imap4_utf_7 | Undocumented |
Function | _quote | Undocumented |
Function | _literal | Undocumented |
Function | _needsQuote | Undocumented |
Function | _prepareMailboxName | Undocumented |
Function | _needsLiteral | Undocumented |
Function | _formatHeaders | Undocumented |
Class | _FetchParser | Undocumented |
MessageSet
.Parameters | s | A string description of a id list, for example "1:3, 4:*" (type: str ) |
lastMessageId | The last message sequence id or UID, depending on whether we are parsing
the list in UID or sequence id context. The caller should pass in the
correct value. (type: int ) | |
Returns | A MessageSet that contains the ids defined in the list (type: MessageSet ) |
Create a query string
Among the accepted keywords are:
all : If set to a true value, search all messages in the current mailbox answered : If set to a true value, search messages flagged with \Answered bcc : A substring to search the BCC header field for before : Search messages with an internal date before this value. The given date should be a string in the format of 'DD-Mon-YYYY'. For example, '03-Mar-2003'. body : A substring to search the body of the messages for cc : A substring to search the CC header field for deleted : If set to a true value, search messages flagged with \Deleted draft : If set to a true value, search messages flagged with \Draft flagged : If set to a true value, search messages flagged with \Flagged from : A substring to search the From header field for header : A two-tuple of a header name and substring to search for in that header keyword : Search for messages with the given keyword set larger : Search for messages larger than this number of octets messages : Search only the given message sequence set. new : If set to a true value, search messages flagged with \Recent but not \Seen old : If set to a true value, search messages not flagged with \Recent on : Search messages with an internal date which is on this date. The given date should be a string in the format of 'DD-Mon-YYYY'. For example, '03-Mar-2003'. recent : If set to a true value, search for messages flagged with \Recent seen : If set to a true value, search for messages flagged with \Seen sentbefore : Search for messages with an RFC822 'Date' header before this date. The given date should be a string in the format of 'DD-Mon-YYYY'. For example, '03-Mar-2003'. senton : Search for messages with an RFC822 'Date' header which is on this date The given date should be a string in the format of 'DD-Mon-YYYY'. For example, '03-Mar-2003'. sentsince : Search for messages with an RFC822 'Date' header which is after this date. The given date should be a string in the format of 'DD-Mon-YYYY'. For example, '03-Mar-2003'. since : Search for messages with an internal date that is after this date.. The given date should be a string in the format of 'DD-Mon-YYYY'. For example, '03-Mar-2003'. smaller : Search for messages smaller than this number of octets subject : A substring to search the 'subject' header for text : A substring to search the entire message for to : A substring to search the 'to' header for uid : Search only the messages in the given message set unanswered : If set to a true value, search for messages not flagged with \Answered undeleted : If set to a true value, search for messages not flagged with \Deleted undraft : If set to a true value, search for messages not flagged with \Draft unflagged : If set to a true value, search for messages not flagged with \Flagged unkeyword : Search for messages without the given keyword set unseen : If set to a true value, search for messages not flagged with \Seen
Parameters | sorted | If true, the output will be sorted, alphabetically. The standard does not
require it, but it makes testing this function easier. The default is
zero, and this should be acceptable for any application. (type: bool ) |
Returns | The formatted query string (type: str ) |
Tokens that would otherwise be separated but are surrounded by "
remain as a single token. Any token that is not quoted and is equal to
"NIL" is tokenized as None
.
Parameters | s | The string to be split (type: str ) |
Returns | A list of the resulting tokens (type: list of str ) | |
Raises | MismatchedQuoting | Raised if an odd number of quotes are present |
['a', 'b', ['c', 'd']] is returned as ['ab', ['cd']]
Parameters | results | The list to be collapsed (type: list of str and list ) |
Returns | A new list which is the collapsed form of results (type: list of str and list ) |
Parameters | s | The s-exp-like string to parse (type: str ) |
Returns | A list containing the tokens present in the input. (type: list of str and list ) | |
Raises | MismatchedNesting | Raised if the number or placement of opening or closing parenthesis is invalid. |
Strings in items
will be sent as literals if they contain
CR or LF, otherwise they will be quoted. References to None in
items
will be translated to the atom NIL. Objects with a
'read' attribute will have it called on them with no arguments and the
returned string will be inserted into the output as a literal. Integers
will be converted to strings and inserted into the output unquoted.
Instances of DontQuoteMe
will be converted to strings and
inserted into the output unquoted.
This function used to be much nicer, and only quote things that really
needed to be quoted (and DontQuoteMe
did not exist), however,
many broken IMAP4 clients were unable to deal with this level of
sophistication, forcing the current behavior to be adopted for practical
reasons.
Returns | (type: str ) |
If the iterator produces a Deferred, the next iteration will not occur until the Deferred fires, otherwise the next iteration will be taken in the next reactor iteration.
Returns | A deferred which fires (with None) when the iterator is exhausted or whose
errback is called if there is an exception. (type: Deferred ) |
unicode
string using the IMAP4 specific
variation of UTF-7.Parameters | s | The text to encode. (type: unicode ) |
errors | Policy for handling encoding errors. Currently ignored. | |
Returns | tuple of a str giving the encoded bytes and an
int giving the number of code units consumed from the input. |
str
using the IMAP4 specific variation of
UTF-7.Parameters | s | The bytes to decode. (type: str ) |
errors | Policy for handling decoding errors. Currently ignored. | |
Returns | a tuple of a unicode string giving the text which
was decoded and an int giving the number of bytes consumed
from the input. |