80 lines · 3.4 KB · TeX
RawDownload
\section{\module{MimeWriter} ---         Generic MIME file writer} \declaremodule{standard}{MimeWriter} \modulesynopsis{Generic MIME file writer.}\sectionauthor{Christopher G. Petrilli}{petrilli@amber.org} \deprecated{2.3}{The \refmodule{email} package should be used in                 preference to the \module{MimeWriter} module.  This                 module is present only to maintain backward                 compatibility.} This module defines the class \class{MimeWriter}.  The\class{MimeWriter} class implements a basic formatter for creatingMIME multi-part files.  It doesn't seek around the output file nordoes it use large amounts of buffer space. You must write the partsout in the order that they should occur in the finalfile. \class{MimeWriter} does buffer the headers you add, allowing you to rearrange their order. \begin{classdesc}{MimeWriter}{fp}Return a new instance of the \class{MimeWriter} class.  The onlyargument passed, \var{fp}, is a file object to be used forwriting. Note that a \class{StringIO} object could also be used.\end{classdesc}  \subsection{MimeWriter Objects \label{MimeWriter-objects}}  \class{MimeWriter} instances have the following methods: \begin{methoddesc}{addheader}{key, value\optional{, prefix}}Add a header line to the MIME message. The \var{key} is the name ofthe header, where the \var{value} obviously provides the value of theheader. The optional argument \var{prefix} determines where the header is inserted; \samp{0} means append at the end, \samp{1} is insert atthe start. The default is to append.\end{methoddesc} \begin{methoddesc}{flushheaders}{}Causes all headers accumulated so far to be written out (andforgotten). This is useful if you don't need a body part at all,e.g.\ for a subpart of type \mimetype{message/rfc822} that's (mis)usedto store some header-like information.\end{methoddesc} \begin{methoddesc}{startbody}{ctype\optional{, plist\optional{, prefix}}}Returns a file-like object which can be used to write to thebody of the message.  The content-type is set to the provided\var{ctype}, and the optional parameter \var{plist} providesadditional parameters for the content-type declaration. \var{prefix}functions as in \method{addheader()} except that the default is toinsert at the start.\end{methoddesc} \begin{methoddesc}{startmultipartbody}{subtype\optional{,                   boundary\optional{, plist\optional{, prefix}}}}Returns a file-like object which can be used to write to thebody of the message.  Additionally, this method initializes themulti-part code, where \var{subtype} provides the multipart subtype,\var{boundary} may provide a user-defined boundary specification, and\var{plist} provides optional parameters for the subtype.\var{prefix} functions as in \method{startbody()}.  Subparts should becreated using \method{nextpart()}.\end{methoddesc} \begin{methoddesc}{nextpart}{}Returns a new instance of \class{MimeWriter} which represents anindividual part in a multipart message.  This may be used to write the part as well as used for creating recursively complex multipartmessages. The message must first be initialized with\method{startmultipartbody()} before using \method{nextpart()}.\end{methoddesc} \begin{methoddesc}{lastpart}{}This is used to designate the last part of a multipart message, andshould \emph{always} be used when writing multipart messages.\end{methoddesc}