diff --git a/Doc/lib/libsmtplib.tex b/Doc/lib/libsmtplib.tex
index d7f0147..9d64783 100644
--- a/Doc/lib/libsmtplib.tex
+++ b/Doc/lib/libsmtplib.tex
@@ -1,9 +1,9 @@
 \section{\module{smtplib} ---
-         SMTP protocol client.}
-\declaremodule{standard}{smtplib}
-\sectionauthor{Eric S. Raymond}{esr@snark.thyrsus.com}
+         SMTP protocol client}
 
+\declaremodule{standard}{smtplib}
 \modulesynopsis{SMTP protocol client (requires sockets).}
+\sectionauthor{Eric S. Raymond}{esr@snark.thyrsus.com}
 
 \indexii{SMTP}{protocol}
 \index{Simple Mail Transfer Protocol}
@@ -28,8 +28,53 @@
 \end{classdesc}
 
 
-\subsection{SMTP Objects}
-\label{SMTP-objects}
+A nice selection of exceptions is defined as well:
+
+\begin{excdesc}{SMTPException}
+  Base exception class for all exceptions raised by this module.
+\end{excdesc}
+
+\begin{excdesc}{SMTPServerDisconnected}
+  This exception is raised when the server unexpectedly disconnects,
+  or when an attempt is made to use the \class{SMTP} instance before
+  connecting it to a server.
+\end{excdesc}
+
+\begin{excdesc}{SMTPResponseException}
+  Base class for all exceptions that include an SMTP error code.
+  These exceptions are generated in some instances when the SMTP
+  server returns an error code.  The error code is stored in the
+  \member{smtp_code} attribute of the error, and the
+  \member{smtp_error} attribute is set to the error message.
+\end{excdesc}
+
+\begin{excdesc}{SMTPSenderRefused}
+  Sender address refused.  In addition to the attributes set by on all 
+  \exception{SMTPResponseException} exceptions, this sets `sender' to
+  the string that the SMTP server refused.
+\end{excdesc}
+
+\begin{excdesc}{SMTPRecipientsRefused}
+  All recipient addresses refused.  The errors for each recipient are
+  accessable through the attribute \member{recipients}, which is a
+  dictionary of exactly the same sort as \method{SMTP.sendmail()}
+  returns.
+\end{excdesc}
+
+\begin{excdesc}{SMTPDataError}
+  The SMTP server refused to accept the message data.
+\end{excdesc}
+
+\begin{excdesc}{SMTPConnectError}
+  Error occurred during establishment of a connection  with the server.
+\end{excdesc}
+
+\begin{excdesc}{SMTPHeloError}
+  The server refused our \samp{HELO} message.
+\end{excdesc}
+
+
+\subsection{SMTP Objects \label{SMTP-objects}}
 
 An \class{SMTP} instance has the following methods:
 
@@ -64,8 +109,8 @@
 explicitly.  It is used to implement other methods and may be useful
 for testing private extensions.
 
-If the connection to the server is lost while waiting for the reply an
-\exception{SMTPServerDisconnected} exception will be raised.
+If the connection to the server is lost while waiting for the reply,
+\exception{SMTPServerDisconnected} will be raised.
 \end{methoddesc}
 
 \begin{methoddesc}{helo}{\optional{hostname}}
@@ -90,8 +135,8 @@
 \end{methoddesc}
 
 \begin{methoddesc}{has_extn}{name}
-Return \code{1} if \var{name} is in the set of SMTP service extensions returned
-by the server, \code{0} otherwise.  Case is ignored.
+Return \code{1} if \var{name} is in the set of SMTP service extensions
+returned by the server, \code{0} otherwise.  Case is ignored.
 \end{methoddesc}
 
 \begin{methoddesc}{verify}{address}
@@ -104,7 +149,7 @@
 \end{methoddesc}
 
 \begin{methoddesc}{sendmail}{from_addr, to_addrs, msg\optional{,
-mail_options, rcpt_options}}
+                             mail_options, rcpt_options}}
 Send mail.  The required arguments are an \rfc{822} from-address
 string, a list of \rfc{822} to-address strings, and a message string.
 The caller may pass a list of ESMTP options (such as \samp{8bitmime})
@@ -133,29 +178,23 @@
 This method may raise the following exceptions:
 
 \begin{itemize}
-
-\item \exception{SMTPRecipientsRefused}
-
+\item[\exception{SMTPRecipientsRefused}]
 All recipients were refused.  Nobody got the mail.  The
 \var{recipients} attribute of the exception object is a dictionary
 with information about the refused recipients (like the one returned
 when at least one recipient was accepted).
 
-\item \exception{SMTPHeloError}
-
+\item[\exception{SMTPHeloError}]
 The server didn't reply properly to
 the helo greeting.
 
-\item \exception{SMTPSenderRefused}
-
+\item[\exception{SMTPSenderRefused}]
 The server didn't accept the from_addr.
 
-\item \exception{SMTPDataError}
-
+\item[\exception{SMTPDataError}]
 The server replied with an unexpected
 error code (other than a refusal of
 a recipient).
-
 \end{itemize}
 
 Unless otherwise noted the connection will be open even after
@@ -210,9 +249,11 @@
 
 
 \begin{seealso}
-\seetext{\rfc{821}, \emph{Simple Mail Transfer Protocol}.  Available
-online at \url{http://info.internet.isi.edu/in-notes/rfc/files/rfc821.txt}.}
+  \seetext{Internet \rfc{821}, \emph{Simple Mail Transfer Protocol}.
+           Available online at
+           \url{http://info.internet.isi.edu/in-notes/rfc/files/rfc821.txt}.}
 
-\seetext{\rfc{1869}, \emph{SMTP Service Extensions}.  Available online 
-at \url{http://info.internet.isi.edu/in-notes/rfc/files/rfc1869.txt}.}
+  \seetext{Internet \rfc{1869}, \emph{SMTP Service Extensions}.
+           Available online at
+           \url{http://info.internet.isi.edu/in-notes/rfc/files/rfc1869.txt}.}
 \end{seealso}
