Part of twisted.mail.imap4 View Source View In Hierarchy
Implements interfaces: twisted.mail.imap4.IMailboxListener
Protocol implementation for an IMAP4rev1 server.
The server can be in any of four states:
Method | __init__ | Undocumented |
Method | capabilities | Undocumented |
Method | connectionMade | Called when a connection is made. |
Method | connectionLost | Called when the connection is shut down. |
Method | timeoutConnection | Called when the connection times out. |
Method | rawDataReceived | Override this for when raw data is received. |
Method | lineReceived | Override this for when each line is received. |
Method | parse_command | Undocumented |
Method | parse_pending | Undocumented |
Method | dispatchCommand | Undocumented |
Method | lookupCommand | Undocumented |
Method | arg_astring | Parse an astring from the line, return (arg, rest), possibly via a deferred (to handle literals) |
Method | arg_atom | Parse an atom from the line |
Method | arg_plist | Parse a (non-nested) parenthesised list from the line |
Method | arg_literal | Parse a literal from the line |
Method | arg_searchkeys | searchkeys |
Method | arg_seqset | sequence-set |
Method | arg_fetchatt | fetch-att |
Method | arg_flaglist | Flag part of store-att-flag |
Method | arg_line | Command line of UID command |
Method | opt_plist | Optional parenthesised list |
Method | opt_datetime | Optional date-time string |
Method | opt_charset | Optional charset of SEARCH command |
Method | sendServerGreeting | Undocumented |
Method | sendBadResponse | Undocumented |
Method | sendPositiveResponse | Undocumented |
Method | sendNegativeResponse | Undocumented |
Method | sendUntaggedResponse | Undocumented |
Method | sendContinuationRequest | Undocumented |
Method | listCapabilities | Undocumented |
Method | do_CAPABILITY | Undocumented |
Method | do_LOGOUT | Undocumented |
Method | do_NOOP | Undocumented |
Method | do_AUTHENTICATE | Undocumented |
Method | authenticate | Undocumented |
Method | do_STARTTLS | Undocumented |
Method | do_LOGIN | Undocumented |
Method | authenticateLogin | Lookup the account associated with the given parameters |
Method | do_NAMESPACE | Undocumented |
Method | do_IDLE | Undocumented |
Method | parse_idle | Undocumented |
Method | do_CREATE | Undocumented |
Method | do_DELETE | Undocumented |
Method | do_RENAME | Undocumented |
Method | do_SUBSCRIBE | Undocumented |
Method | do_UNSUBSCRIBE | Undocumented |
Method | do_STATUS | Undocumented |
Method | do_APPEND | Undocumented |
Method | do_CHECK | Undocumented |
Method | checkpoint | Called when the client issues a CHECK command. |
Method | do_CLOSE | Undocumented |
Method | do_EXPUNGE | Undocumented |
Method | do_SEARCH | Undocumented |
Method | search_ALL | Returns True if the message matches the ALL search key
(always). |
Method | search_ANSWERED | Returns True if the message has been answered. |
Method | search_BCC | Returns True if the message has a BCC address matching the
query. |
Method | search_BEFORE | Undocumented |
Method | search_BODY | Undocumented |
Method | search_CC | Undocumented |
Method | search_DELETED | Undocumented |
Method | search_DRAFT | Undocumented |
Method | search_FLAGGED | Undocumented |
Method | search_FROM | Undocumented |
Method | search_HEADER | Undocumented |
Method | search_KEYWORD | Undocumented |
Method | search_LARGER | Undocumented |
Method | search_NEW | Undocumented |
Method | search_NOT | Returns True if the message does not match the query. |
Method | search_OLD | Undocumented |
Method | search_ON | Undocumented |
Method | search_OR | Returns True if the message matches any of the first two
query items. |
Method | search_RECENT | Undocumented |
Method | search_SEEN | Undocumented |
Method | search_SENTBEFORE | Returns True if the message date is earlier than the query
date. |
Method | search_SENTON | Returns True if the message date is the same as the query
date. |
Method | search_SENTSINCE | Returns True if the message date is later than the query
date. |
Method | search_SINCE | Undocumented |
Method | search_SMALLER | Undocumented |
Method | search_SUBJECT | Undocumented |
Method | search_TEXT | Undocumented |
Method | search_TO | Undocumented |
Method | search_UID | Returns True if the message UID is in the range defined by
the search query. |
Method | search_UNANSWERED | Undocumented |
Method | search_UNDELETED | Undocumented |
Method | search_UNDRAFT | Undocumented |
Method | search_UNFLAGGED | Undocumented |
Method | search_UNKEYWORD | Undocumented |
Method | search_UNSEEN | Undocumented |
Method | do_FETCH | Undocumented |
Method | spew_envelope | Undocumented |
Method | spew_flags | Undocumented |
Method | spew_internaldate | Undocumented |
Method | spew_rfc822header | Undocumented |
Method | spew_rfc822text | Undocumented |
Method | spew_rfc822size | Undocumented |
Method | spew_rfc822 | Undocumented |
Method | spew_uid | Undocumented |
Method | spew_bodystructure | Undocumented |
Method | spew_body | Undocumented |
Method | spewMessage | Undocumented |
Method | do_STORE | Undocumented |
Method | do_COPY | Undocumented |
Method | do_UID | Undocumented |
Method | modeChanged | Indicates that the write status of a mailbox has changed. |
Method | flagsChanged | Indicates that the flags of one or more messages have changed. |
Method | newMessages | Indicates that the number of messages in a mailbox has changed. |
Method | _unblock | Undocumented |
Method | __doCommand | Undocumented |
Method | __cbDispatch | Undocumented |
Method | __ebDispatch | Undocumented |
Method | _stringLiteral | Undocumented |
Method | _fileLiteral | Undocumented |
Method | _respond | Undocumented |
Method | _setupChallenge | Undocumented |
Method | __cbAuthChunk | Undocumented |
Method | __cbAuthResp | Undocumented |
Method | __ebAuthResp | Undocumented |
Method | __ebAuthChunk | Undocumented |
Method | __cbLogin | Undocumented |
Method | __ebLogin | Undocumented |
Method | _parseMbox | Undocumented |
Method | _selectWork | Undocumented |
Method | _ebSelectWork | Undocumented |
Method | _cbSelectWork | Undocumented |
Method | _listWork | Undocumented |
Method | _cbListWork | Undocumented |
Method | _ebListWork | Undocumented |
Method | _cbStatusGotMailbox | Undocumented |
Method | _ebStatusGotMailbox | Undocumented |
Method | __cbStatus | Undocumented |
Method | __ebStatus | Undocumented |
Method | _cbAppendGotMailbox | Undocumented |
Method | _ebAppendGotMailbox | Undocumented |
Method | __cbAppend | Undocumented |
Method | __ebAppend | Undocumented |
Method | __cbCheck | Undocumented |
Method | __ebCheck | Undocumented |
Method | __cbClose | Undocumented |
Method | __ebClose | Undocumented |
Method | __cbExpunge | Undocumented |
Method | __ebExpunge | Undocumented |
Method | __cbSearch | Undocumented |
Method | __cbManualSearch | Apply the search filter to a set of messages. Send the response to the client. |
Method | _searchFilter | Pop search terms from the beginning of query until there
are none left and apply them to the given message. |
Method | _singleSearchStep | Pop one search term from the beginning of query (possibly
more than one element) and return whether it matches the given message. |
Method | __ebSearch | Undocumented |
Method | __cbFetch | Undocumented |
Method | __ebSpewMessage | Undocumented |
Method | __ebFetch | Undocumented |
Method | __cbStore | Undocumented |
Method | __ebStore | Undocumented |
Method | _cbCopySelectedMailbox | Undocumented |
Method | _ebCopySelectedMailbox | Undocumented |
Method | __cbCopy | Undocumented |
Method | __cbCopied | Undocumented |
Method | __ebCopy | Undocumented |
Inherited from LineReceiver:
Class Variable | delimiter | The line-ending delimiter to use. By default this is '\r\n'. |
Class Variable | MAX_LENGTH | The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped). Default is 16384. |
Method | clearLineBuffer | Clear buffered data. |
Method | dataReceived | Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.) |
Method | setLineMode | Sets the line-mode of this receiver. |
Method | setRawMode | Sets the raw mode of this receiver. Further data received will be sent to rawDataReceived rather than lineReceived. |
Method | sendLine | Sends a line to the other end of the connection. |
Method | lineLengthExceeded | Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way. |
Inherited from Protocol (via LineReceiver):
Method | logPrefix | Return a prefix matching the class name, to identify log messages related to this protocol instance. |
Inherited from BaseProtocol (via LineReceiver, Protocol):
Method | makeConnection | Make a connection to a transport and a server. |
Inherited from _PauseableMixin (via LineReceiver):
Method | pauseProducing | Undocumented |
Method | resumeProducing | Undocumented |
Method | stopProducing | Undocumented |
Inherited from TimeoutMixin:
Class Variable | timeOut | The number of seconds after which to timeout the connection. |
Method | callLater | Wrapper around reactor.callLater for test purpose. |
Method | resetTimeout | Reset the timeout count down. |
Method | setTimeout | Change the timeout period |
Method | __timedOut | Undocumented |
This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.
Clear any circular references here, and any external references to this Protocol. The connection has been closed.
Override to define behavior other than dropping the connection.
Parameters | line | The line which was received with the delimiter removed. (type: str ) |
Override this method to define the desired authentication behavior.
The default behavior is to defer authentication to
self.portal
if it is not None, or to deny the login
otherwise.
Parameters | user | The username to lookup (type: str ) |
passwd | The password to login with (type: str ) |
This should perform any checkpoint operations required by the server. It may be a long running operation, but may not block. If it returns a deferred, the client will only be informed of success (or failure) when the deferred's callback (or errback) is invoked.
Parameters | result | A list two tuples of messages with their sequence ids, sorted by the ids in
descending order. (type: list of tuple of (int , provider of
imap4.IMessage )) |
tag | A command tag. (type: str ) | |
mbox | The searched mailbox. (type: Provider of imap4.IMailbox ) | |
query | A list representing the parsed form of the search query. (type: list ) | |
uid | A flag indicating whether the search is over message sequence numbers or UIDs. | |
searchResults | The search results so far or None if no results yet. (type: list ) |
query
until there
are none left and apply them to the given message.Parameters | query | A list representing the parsed form of the search query. |
id | The sequence number of the message being checked. | |
msg | The message being checked. | |
lastSequenceId | The highest sequence number of any message in the mailbox being searched. (type: int ) | |
lastMessageId | The highest UID of any message in the mailbox being searched. (type: int ) | |
Returns | Boolean indicating whether all of the query terms match the message. |
query
(possibly
more than one element) and return whether it matches the given message.Parameters | query | A list representing the parsed form of the search query. |
id | The sequence number of the message being checked. | |
msg | The message being checked. | |
lastSequenceId | The highest sequence number of any message in the mailbox being searched. | |
lastMessageId | The highest UID of any message in the mailbox being searched. | |
Returns | Boolean indicating whether the query term matched the message. |
True
if the message matches the ALL search key
(always).Parameters | query | A list representing the parsed query string. (type: A list of str ) |
id | The sequence number of the message being checked. (type: int ) |
True
if the message has been answered.Parameters | query | A list representing the parsed query string. (type: A list of str ) |
id | The sequence number of the message being checked. (type: int ) |
True
if the message has a BCC address matching the
query.Parameters | query | A list whose first element is a BCC str (type: A list of str ) |
id | The sequence number of the message being checked. (type: int ) |
True
if the message does not match the query.Parameters | query | A list representing the parsed form of the search query. (type: A list of str ) |
id | The sequence number of the message being checked. (type: int ) | |
msg | The message being checked. (type: Provider of imap4.IMessage ) | |
lastSequenceId | The highest sequence number of a message in the mailbox. (type: int ) | |
lastMessageId | The highest UID of a message in the mailbox. (type: int ) |
True
if the message matches any of the first two
query items.Parameters | query | A list representing the parsed form of the search query. (type: A list of str ) |
id | The sequence number of the message being checked. (type: int ) | |
msg | The message being checked. (type: Provider of imap4.IMessage ) | |
lastSequenceId | The highest sequence number of a message in the mailbox. (type: int ) | |
lastMessageId | The highest UID of a message in the mailbox. (type: int ) |
True
if the message date is earlier than the query
date.Parameters | query | A list whose first element starts with a stringified date that is a
fragment of an imap4.Query() . The
date must be in the format 'DD-Mon-YYYY', for example '03-March-2003' or
'03-Mar-2003'. (type: A list of str ) |
id | The sequence number of the message being checked. (type: int ) |
True
if the message date is the same as the query
date.Parameters | query | A list whose first element starts with a stringified date that is a
fragment of an imap4.Query() . The
date must be in the format 'DD-Mon-YYYY', for example '03-March-2003' or
'03-Mar-2003'. (type: A list of str ) |
True
if the message date is later than the query
date.Parameters | query | A list whose first element starts with a stringified date that is a
fragment of an imap4.Query() . The
date must be in the format 'DD-Mon-YYYY', for example '03-March-2003' or
'03-Mar-2003'. (type: A list of str ) |
True
if the message UID is in the range defined by
the search query.Parameters | query | A list representing the parsed form of the search query. Its first element
should be a str that can be interpreted as a sequence range,
for example '2:4,5:*'. (type: A list of str ) |
id | The sequence number of the message being checked. (type: int ) | |
msg | The message being checked. (type: Provider of imap4.IMessage ) | |
lastSequenceId | The highest sequence number of a message in the mailbox. (type: int ) | |
lastMessageId | The highest UID of a message in the mailbox. (type: int ) |
Parameters | writeable | A true value if write is now allowed, false otherwise. (type: bool ) |
Parameters | newFlags | A mapping of message identifiers to tuples of flags now set on that
message. (type: dict ) |
Parameters | exists | The total number of messages now in this mailbox. If the total number of
messages has not changed, this should be None . (type: int or None ) |
recent | The number of messages now flagged \Recent. If the number of recent
messages has not changed, this should be None . (type: int ) |