Module poplib :: Class POP3
[show private | hide private]
[frames | no frames]

Class POP3

Known Subclasses:
POP3_TLS

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
        authorization 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.

Method Summary
  __init__(self, host, port)
  apop(self, user, secret)
Authorisation - only possible if server has supplied a timestamp in initial greeting.
  dele(self, which)
Delete message number 'which'.
  getwelcome(self)
  list(self, which)
Request listing, return result.
  noop(self)
Does nothing.
  pass_(self, pswd)
Send password, return response
  quit(self)
Signoff: commit changes on server, unlock mailbox, close connection.
  retr(self, which)
Retrieve whole message number 'which'.
  rpop(self, user)
Not sure what this does.
  rset(self)
Not sure what this does.
  set_debuglevel(self, level)
  stat(self)
Get mailbox status.
  top(self, which, howmuch)
Retrieve message header of message number 'which' and first 'howmuch' lines of message body.
  uidl(self, which)
Return message digest (unique id) list.
  user(self, user)
Send user name, return response

Class Variable Summary
SRE_Pattern timestamp = \+OK.*(<[^>]+>)

Method Details

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'.

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.

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 in the form 'response mesgnum uid', otherwise result is the list ['response', ['mesgnum uid', ...], octets]

user(self, user)

Send user name, return response

(should indicate password required).

Class Variable Details

timestamp

Type:
SRE_Pattern
Value:
\+OK.*(<[^>]+>)                                                        

Generated by Epydoc 2.0 on Mon Feb 21 21:56:53 2005 http://epydoc.sf.net