diff options
Diffstat (limited to 'Doc/lib/libpoplib.tex')
-rw-r--r-- | Doc/lib/libpoplib.tex | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/Doc/lib/libpoplib.tex b/Doc/lib/libpoplib.tex deleted file mode 100644 index 9ca5bbd..0000000 --- a/Doc/lib/libpoplib.tex +++ /dev/null @@ -1,187 +0,0 @@ -\section{\module{poplib} --- - POP3 protocol client} - -\declaremodule{standard}{poplib} -\modulesynopsis{POP3 protocol client (requires sockets).} - -%By Andrew T. Csillag -%Even though I put it into LaTeX, I cannot really claim that I wrote -%it since I just stole most of it from the poplib.py source code and -%the imaplib ``chapter''. -%Revised by ESR, January 2000 - -\indexii{POP3}{protocol} - -This module defines a class, \class{POP3}, which encapsulates a -connection to a POP3 server and implements the protocol as defined in -\rfc{1725}. The \class{POP3} class supports both the minimal and -optional command sets. Additionally, this module provides a class -\class{POP3_SSL}, which provides support for connecting to POP3 -servers that use SSL as an underlying protocol layer. - - -Note that POP3, though widely supported, is obsolescent. The -implementation quality of POP3 servers varies widely, and too many are -quite poor. If your mailserver supports IMAP, you would be better off -using the \class{\refmodule{imaplib}.IMAP4} class, as IMAP -servers tend to be better implemented. - -A single class is provided by the \module{poplib} module: - -\begin{classdesc}{POP3}{host\optional{, port\optional{, timeout}}} -This class implements the actual POP3 protocol. The connection is -created when the instance is initialized. -If \var{port} is omitted, the standard POP3 port (110) is used. -The optional \var{timeout} parameter specifies a timeout in seconds for the -connection attempt (if not specified, or passed as None, the global default -timeout setting will be used). - -\versionchanged[\var{timeout} was added]{2.6} -\end{classdesc} - -\begin{classdesc}{POP3_SSL}{host\optional{, port\optional{, keyfile\optional{, certfile}}}} -This is a subclass of \class{POP3} that connects to the server over an -SSL encrypted socket. If \var{port} is not specified, 995, the -standard POP3-over-SSL port is used. \var{keyfile} and \var{certfile} -are also optional - they can contain a PEM formatted private key and -certificate chain file for the SSL connection. - -\versionadded{2.4} -\end{classdesc} - -One exception is defined as an attribute of the \module{poplib} module: - -\begin{excdesc}{error_proto} -Exception raised on any errors from this module (errors from -\module{socket} module are not caught). The reason for the exception -is passed to the constructor as a string. -\end{excdesc} - -\begin{seealso} - \seemodule{imaplib}{The standard Python IMAP module.} - \seetitle[http://www.catb.org/\~{}esr/fetchmail/fetchmail-FAQ.html] - {Frequently Asked Questions About Fetchmail} - {The FAQ for the \program{fetchmail} POP/IMAP client collects - information on POP3 server variations and RFC noncompliance - that may be useful if you need to write an application based - on the POP protocol.} -\end{seealso} - - -\subsection{POP3 Objects \label{pop3-objects}} - -All POP3 commands are represented by methods of the same name, -in lower-case; most return the response text sent by the server. - -An \class{POP3} instance has the following methods: - - -\begin{methoddesc}[POP3]{set_debuglevel}{level} -Set the instance's debugging level. This controls the amount of -debugging output printed. The default, \code{0}, produces no -debugging output. A value of \code{1} produces a moderate amount of -debugging output, generally a single line per request. A value of -\code{2} or higher produces the maximum amount of debugging output, -logging each line sent and received on the control connection. -\end{methoddesc} - -\begin{methoddesc}[POP3]{getwelcome}{} -Returns the greeting string sent by the POP3 server. -\end{methoddesc} - -\begin{methoddesc}[POP3]{user}{username} -Send user command, response should indicate that a password is required. -\end{methoddesc} - -\begin{methoddesc}[POP3]{pass_}{password} -Send password, response includes message count and mailbox size. -Note: the mailbox on the server is locked until \method{quit()} is -called. -\end{methoddesc} - -\begin{methoddesc}[POP3]{apop}{user, secret} -Use the more secure APOP authentication to log into the POP3 server. -\end{methoddesc} - -\begin{methoddesc}[POP3]{rpop}{user} -Use RPOP authentication (similar to UNIX r-commands) to log into POP3 server. -\end{methoddesc} - -\begin{methoddesc}[POP3]{stat}{} -Get mailbox status. The result is a tuple of 2 integers: -\code{(\var{message count}, \var{mailbox size})}. -\end{methoddesc} - -\begin{methoddesc}[POP3]{list}{\optional{which}} -Request message list, result is in the form -\code{(\var{response}, ['mesg_num octets', ...], \var{octets})}. -If \var{which} is set, it is the message to list. -\end{methoddesc} - -\begin{methoddesc}[POP3]{retr}{which} -Retrieve whole message number \var{which}, and set its seen flag. -Result is in form \code{(\var{response}, ['line', ...], \var{octets})}. -\end{methoddesc} - -\begin{methoddesc}[POP3]{dele}{which} -Flag message number \var{which} for deletion. On most servers -deletions are not actually performed until QUIT (the major exception is -Eudora QPOP, which deliberately violates the RFCs by doing pending -deletes on any disconnect). -\end{methoddesc} - -\begin{methoddesc}[POP3]{rset}{} -Remove any deletion marks for the mailbox. -\end{methoddesc} - -\begin{methoddesc}[POP3]{noop}{} -Do nothing. Might be used as a keep-alive. -\end{methoddesc} - -\begin{methoddesc}[POP3]{quit}{} -Signoff: commit changes, unlock mailbox, drop connection. -\end{methoddesc} - -\begin{methoddesc}[POP3]{top}{which, howmuch} -Retrieves the message header plus \var{howmuch} lines of the message -after the header of message number \var{which}. Result is in form -\code{(\var{response}, ['line', ...], \var{octets})}. - -The POP3 TOP command this method uses, unlike the RETR command, -doesn't set the message's seen flag; unfortunately, TOP is poorly -specified in the RFCs and is frequently broken in off-brand servers. -Test this method by hand against the POP3 servers you will use before -trusting it. -\end{methoddesc} - -\begin{methoddesc}[POP3]{uidl}{\optional{which}} -Return message digest (unique id) list. -If \var{which} is specified, result contains the unique id for that -message in the form \code{'\var{response}\ \var{mesgnum}\ \var{uid}}, -otherwise result is list \code{(\var{response}, ['mesgnum uid', ...], -\var{octets})}. -\end{methoddesc} - -Instances of \class{POP3_SSL} have no additional methods. The -interface of this subclass is identical to its parent. - - -\subsection{POP3 Example \label{pop3-example}} - -Here is a minimal example (without error checking) that opens a -mailbox and retrieves and prints all messages: - -\begin{verbatim} -import getpass, poplib - -M = poplib.POP3('localhost') -M.user(getpass.getuser()) -M.pass_(getpass.getpass()) -numMessages = len(M.list()[1]) -for i in range(numMessages): - for j in M.retr(i+1)[1]: - print j -\end{verbatim} - -At the end of the module, there is a test section that contains a more -extensive example of usage. |