Go to the latest version of this document.
search in docstrings

Search bar offers the following options:

- Term presence. The below example searches for documents that must contain “foo”, might contain “bar” and must not contain “baz”: `+foo bar -baz`
- Wildcards. The below example searches for documents with words beginning with “foo”: `foo*`
- Search in specific fields. The following search matches all objects in "twisted.mail" that matches “search”: `+qname:twisted.mail.* +search`

  Possible fields: 'name', 'qname' (fully qualified name), 'docstring', and 'kind'. Last two fields are only applicable if "search in docstrings" is enabled.

- Fuzzy matches. The following search matches all documents that have a word within 1 edit distance of “foo”: `foo~1`

Results provided by Lunr.js

# ``twisted`.`mail`.`protocols`.`VirtualPOP3``

class documentation

`class VirtualPOP3(pop3.POP3): (source)`

View In Hierarchy

A virtual hosting POP3 server.

Method | `authenticateUserAPOP` | Perform APOP authentication.
Method | `authenticateUserPASS` | Perform authentication for a username/password login.
Method | `lookupDomain` | Check whether a domain is among the virtual domains supported by the mail service.
Instance Variable | `domainSpecifier` | The character to use to split an email address into local-part and domain. The default is '@'.
Instance Variable | `service` | The email service that created this server. This must be set by the service.

Inherited from `POP3`:

Method | `connectionLost` | Clean up when the connection has been lost.
Method | `connectionMade` | Send a greeting to the client after the connection has been made.
Method | `do_APOP` | Handle an APOP command.
Method | `do_AUTH` | Handle an AUTH command.
Method | `do_CAPA` | Handle a CAPA command.
Method | `do_DELE` | Handle a DELE command.
Method | `do_LAST` | Handle a LAST command.
Method | `do_LIST` | Handle a LIST command.
Method | `do_NOOP` | Handle a NOOP command.
Method | `do_PASS` | Handle a PASS command.
Method | `do_QUIT` | Handle a QUIT command.
Method | `do_RETR` | Handle a RETR command.
Method | `do_RPOP` | Handle an RPOP command.
Method | `do_RSET` | Handle a RSET command.
Method | `do_STAT` | Handle a STAT command.
Method | `do_TOP` | Handle a TOP command.
Method | `do_UIDL` | Handle a UIDL command.
Method | `do_USER` | Handle a USER command.
Method | `failResponse` | Send a response indicating failure.
Method | `finishedFileTransfer` | Send the termination sequence.
Method | `generateMagic` | Generate an APOP challenge.
Method | `lineReceived` | Pass a received line to a state machine function.
Method | `listCapabilities` | Return a list of server capabilities suitable for use in a CAPA response.
Method | `processCommand` | Dispatch a command from the client for handling.
Method | `state_AUTH` | Handle received lines for the AUTH state in which an authentication challenge response from the client is expected.
Method | `state_COMMAND` | Handle received lines for the COMMAND state in which commands from the client are expected.
Method | `stopProducing` | Stop producing data.
Method | `successResponse` | Send a response indicating success.
Method | `transformChunk` | Transform a chunk of a message to POP3 message format.
Constant | `AUTH_CMDS` | Undocumented
Instance Variable | `blocked` | A list of blocked commands. While a response to a command is being generated by the server, other commands are blocked. When no command is outstanding, `blocked` is set to none. Otherwise, it contains a list of information about blocked commands...
Instance Variable | `factory` | A server factory which provides an interface for querying capabilities of the server.
Instance Variable | `magic` | An APOP challenge. If not set, an APOP challenge string will be generated when a connection is made.
Instance Variable | `mbox` | The mailbox for the authenticated user.
Instance Variable | `portal` | A portal for authentication.
Instance Variable | `schedule` | A callable that arranges for an iterator to be cooperatively iterated over along with all other iterators which have been passed to it such that runtime is divided between all of them. It returns a deferred which fires when the iterator finishes.
Instance Variable | `state` | The state which indicates what type of messages are expected from the client. Valid states are 'COMMAND' and 'AUTH'
Instance Variable | `timeOut` | The number of seconds to wait for a command from the client before disconnecting.
Method | `_cbMailbox` | Complete successful authentication.
Method | `_coiterate` | Direct the output of an iterator to the transport and arrange for iteration to take place.
Method | `_ebMailbox` | Handle an expected authentication failure.
Method | `_ebUnexpected` | Handle an unexpected authentication failure.
Method | `_getMessageFile` | Retrieve the size and contents of a message.
Method | `_longOperation` | Stop timeouts and block further command processing while a long operation completes.
Method | `_sendMessageContent` | Send the contents of a message.
Method | `_unblock` | Process as many blocked commands as possible.
Instance Variable | `_auth` | Authorization credentials.
Instance Variable | `_highest` | The 1-based index of the highest message retrieved.
Instance Variable | `_onLogout` | The function to be executed when the connection is lost.
Instance Variable | `_userIs` | The username sent with the USER command.

Inherited from `LineOnlyReceiver` (via `POP3`):

Method | `dataReceived` | Translates bytes into lines, and calls lineReceived.
Method | `lineLengthExceeded` | Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way.
Method | `sendLine` | Sends a line to the other end of the connection.
Constant | `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.
Class Variable | `delimiter` | The line-ending delimiter to use. By default this is `b'\r\n'`.
Instance Variable | `_buffer` | Undocumented

Inherited from `Protocol` (via `POP3`, `LineOnlyReceiver`):

Method | `logPrefix` | Return a prefix matching the class name, to identify log messages related to this protocol instance.

Inherited from `BaseProtocol` (via `POP3`, `LineOnlyReceiver`, `Protocol`):

Method | `makeConnection` | Make a connection to a transport and a server.
Instance Variable | `connected` | Undocumented
Instance Variable | `transport` | Undocumented

Inherited from `TimeoutMixin` (via `POP3`, `LineOnlyReceiver`, `Protocol`, `BaseProtocol`):

Method | `callLater` | Wrapper around `reactor.callLater` for test purpose.
Method | `resetTimeout` | Reset the timeout count down.
Method | `setTimeout` | Change the timeout period
Method | `timeoutConnection` | Called when the connection times out.
Method | `__timedOut` | Undocumented
Instance Variable | `__timeoutCall` | Undocumented

def authenticateUserAPOP(self, user, digest): (source)
overrides `twisted.mail.pop3.POP3.authenticateUserAPOP`

Perform APOP authentication.

Override the default lookup scheme to allow virtual domains.

Parameters
user:`bytes` | The name of the user attempting to log in.
digest:`bytes` | The challenge response.
Returns
`Deferred` which successfully results in 3-`tuple` of (`IMailbox`, `IMailbox` provider, no-argument callable) | A deferred which fires when authentication is complete. If successful, it returns an `IMailbox` interface, a mailbox and a logout function. If authentication fails, the deferred fails with an `UnauthorizedLogin` error.

def authenticateUserPASS(self, user, password): (source)
overrides `twisted.mail.pop3.POP3.authenticateUserPASS`

Perform authentication for a username/password login.

Override the default lookup scheme to allow virtual domains.

Parameters
user:`bytes` | The name of the user attempting to log in.
password:`bytes` | The password to authenticate with.
Returns
`Deferred` which successfully results in 3-`tuple` of (`IMailbox`, `IMailbox` provider, no-argument callable) | A deferred which fires when authentication is complete. If successful, it returns an `IMailbox` interface, a mailbox and a logout function. If authentication fails, the deferred fails with an `UnauthorizedLogin` error.

def lookupDomain(self, user): (source)

Check whether a domain is among the virtual domains supported by the mail service.

Parameters
user:`bytes` | An email address.
Returns
2-`tuple` of (`bytes`, `bytes`) | The local part and the domain part of the email address if the domain is supported.
Raises
`POP3Error` | When the domain is not supported by the mail service.

domainSpecifier: `bytes` = (source)

The character to use to split an email address into local-part and domain. The default is '@'.

service: `MailService` = (source)

The email service that created this server. This must be set by the service.