# ``twisted`.`mail`.`interfaces`.`IMailboxPOP3``

interface documentation

`class IMailboxPOP3(Interface): (source)`

Known implementations: `twisted.mail.maildir.StringListMailbox`, `twisted.mail.pop3.Mailbox`

View In Hierarchy

An interface for mailbox access.

Message indices are 0-based.

Method | `deleteMessage` | Mark a message for deletion.
Method | `getMessage` | Retrieve a file containing the contents of a message.
Method | `getUidl` | Get a unique identifier for a message.
Method | `listMessages` | Retrieve the size of a message, or, if none is specified, the size of each message in the mailbox.
Method | `sync` | Discard the contents of any message marked for deletion.
Method | `undeleteMessages` | Undelete all messages marked for deletion.
Instance Variable | `loginDelay` | The number of seconds between allowed logins for the user associated with this mailbox.
Instance Variable | `messageExpiration` | The number of days messages in this mailbox will remain on the server before being deleted.

def deleteMessage(index): (source)

Mark a message for deletion.

This must not change the number of messages in this mailbox. Further requests for the size of the deleted message should return 0. Further requests for the message itself may raise an exception.

Parameters
index:`int` | The 0-based index of a message.
Raises
`ValueError or IndexError` | When the index does not correspond to a message in the mailbox. The use of ValueError is preferred.

def getMessage(index): (source)
Retrieve a file containing the contents of a message.

Parameters
index:`int` | The 0-based index of a message.
Returns
file-like object | A file containing the message.
Raises
`ValueError or IndexError` | When the index does not correspond to a message in the mailbox. The use of ValueError is preferred.

def getUidl(index): (source)
Get a unique identifier for a message.

Parameters
index:`int` | The 0-based index of a message.
Returns
`bytes` | A string of printable characters uniquely identifying the message for all time.
Raises
`ValueError or IndexError` | When the index does not correspond to a message in the mailbox. The use of ValueError is preferred.

def listMessages(index=None): (source)
Retrieve the size of a message, or, if none is specified, the size of each message in the mailbox.

Parameters
index:`int` or `None` | The 0-based index of the message.
Returns
`int`, sequence of `int`, or `Deferred` | The number of octets in the specified message, or, if an index is not specified, a sequence of the number of octets for all messages in the mailbox or a deferred which fires with one of those. Any value which corresponds to a deleted message is set to 0.
Raises
`ValueError or IndexError` | When the index does not correspond to a message in the mailbox. The use of ValueError is preferred.

def sync(): (source)
Discard the contents of any message marked for deletion.
def undeleteMessages(): (source)

Undelete all messages marked for deletion.

Any message which can be undeleted should be returned to its original position in the message sequence and retain its original UID.

loginDelay: `int` = (source)
The number of seconds between allowed logins for the user associated with this mailbox.
messageExpiration: `int` = (source)
The number of days messages in this mailbox will remain on the server before being deleted.