| |
- exceptions.Exception
-
- error_proto
- POP3
class POP3 |
|
This class supports both the minimal and optional command sets.
Arguments can be strings or integers (where appropriate)
(e.g.: retr(1) and retr('1') both work equally well.
Minimal Command Set:
USER name user(name)
PASS string pass_(string)
STAT stat()
LIST [msg] list(msg = None)
RETR msg retr(msg)
DELE msg dele(msg)
NOOP noop()
RSET rset()
QUIT quit()
Optional Commands (some servers support these):
RPOP name rpop(name)
APOP name digest apop(name, digest)
TOP msg n top(msg, n)
UIDL [msg] uidl(msg = None)
Raises one exception: 'error_proto'.
Instantiate with:
POP3(hostname, port=110)
NB: the POP protocol locks the mailbox from user
authorisation until QUIT, so be sure to get in, suck
the messages, and quit, each time you access the
mailbox.
POP is a line-based protocol, which means large mail
messages consume lots of python cycles reading them
line-by-line.
If it's available on your mail server, use IMAP4
instead, it doesn't suffer from the two problems
above.
|
| |
- __init__(self, host, port=110)
- no doc string
- _getline(self)
- # Internal: return one line from the server, stripping CRLF.
- # This is where all the CPU time of this module is consumed.
- # Raise error_proto('-ERR EOF') if the connection is closed.
- _getlongresp(self)
- # Internal: get a response plus following text from the server.
- _getresp(self)
- # Internal: get a response from the server.
- # Raise 'error_proto' if the response doesn't start with '+'.
- _longcmd(self, line)
- # Internal: send a command and get the response plus following text
- _putcmd(self, line)
- # Internal: send one command to the server (through _putline())
- _putline(self, line)
- no doc string
- _shortcmd(self, line)
- # Internal: send a command and get the response
- apop(self, user, secret)
- Authorisation
- - only possible if server has supplied a timestamp in initial greeting.
- Args:
- user - mailbox user;
- secret - secret shared between client and server.
- NB: mailbox is locked by server from here to 'quit()'
- dele(self, which)
- Delete message number 'which'.
- Result is 'response'.
- getwelcome(self)
- # These can be useful:
- list(self, which=None)
- Request listing, return result.
- Result without a message number argument is in form
- ['response', ['mesg_num octets', ...]].
- Result when a message number argument is given is a
- single response: the "scan listing" for that message.
- noop(self)
- Does nothing.
- One supposes the response indicates the server is alive.
- pass_(self, pswd)
- Send password, return response
- (response includes message count, mailbox size).
- NB: mailbox is locked by server from here to 'quit()'
- quit(self)
- Signoff: commit changes on server, unlock mailbox, close connection.
- retr(self, which)
- Retrieve whole message number 'which'.
- Result is in form ['response', ['line', ...], octets].
- rpop(self, user)
- Not sure what this does.
- rset(self)
- Not sure what this does.
- set_debuglevel(self, level)
- no doc string
- stat(self)
- Get mailbox status.
- Result is tuple of 2 ints (message count, mailbox size)
- top(self, which, howmuch)
- Retrieve message header of message number 'which'
- and first 'howmuch' lines of message body.
- Result is in form ['response', ['line', ...], octets].
- uidl(self, which=None)
- Return message digest (unique id) list.
- If 'which', result contains unique id for that message,
- otherwise result is list ['response', ['mesgnum uid', ...], octets]
- user(self, user)
- Send user name, return response
- (should indicate password required).
|
|