twisted.mail.imap4.IMAP4Server(basic.LineReceiver, policies.TimeoutMixin)
class documentationtwisted.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 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 |
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 |
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 |
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 |
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 |
Called when a connection is made.
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.
Called when the connection is shut down.
Clear any circular references here, and any external references to this Protocol. The connection has been closed.
Called when the connection times out.
Override to define behavior other than dropping the connection.
Override this for when each line is received.
Parameters | line | The line which was received with the delimiter removed. (type: bytes ) |
Parse an astring from the line, return (arg, rest), possibly via a deferred (to handle literals)
Lookup the account associated with the given parameters
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 ) |
Called when the client issues a CHECK command.
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.
Apply the search filter to a set of messages. Send the response to the client.
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 ) |
Pop search terms from the beginning of 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. |
Pop one search term from the beginning of 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. |
Returns 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 ) |
Returns 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 ) |
Returns 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 ) |
Returns 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 ) |
Returns 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 ) |
Returns 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 ) |
Returns 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 ) |
Returns 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 ) |
Returns 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 ) |
Indicates that the write status of a mailbox has changed.
Parameters | writeable | A true value if write is now allowed, false otherwise. (type: bool ) |
Indicates that the flags of one or more messages have changed.
Parameters | newFlags | A mapping of message identifiers to tuples of flags now set on that
message. (type: dict ) |
Indicates that the number of messages in a mailbox has changed.
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 ) |