]> diplodocus.org Git - nmh/blobdiff - man/mhbuild.man
Clarified description in comments of context_find_by_type().
[nmh] / man / mhbuild.man
index e4bd793334dd463bee8855d0d28bda8d6c15207d..dc47b63c5e9898bd1d884874614754668edefdae 100644 (file)
@@ -1,4 +1,4 @@
-.TH MHBUILD %manext1% "January 23, 2014" "%nmhversion%"
+.TH MHBUILD %manext1% "March 13, 2014" "%nmhversion%"
 .\"
 .\" %nmhwarning%
 .\"
@@ -17,10 +17,13 @@ mhbuild \- translate MIME composition draft
 .RB [ \-rfc934mode " | " \-norfc934mode ]
 .RB [ \-contentid " | " \-nocontentid ]
 .RB [ \-verbose " | " \-noverbose ]
+.RB [ \-disposition " | " \-nodisposition ]
 .RB [ \-check " | " \-nocheck ]
 .RB [ \-headerencoding 
 .IR encoding\-algorithm
 .RB " | " \-autoheaderencoding ]
+.RB [ \-maxunencoded
+.IR line\-length ]
 .RB [ \-dist ]
 .RB [ \-version ]
 .RB [ \-help ]
@@ -34,7 +37,7 @@ a valid MIME message.
 .B mhbuild
 creates multi-media messages as specified in RFC 2045
 to RFC 2049.  This includes the encoding of message headers as specified
-by RFC 2047.
+by RFC 2047, and the encoding of MIME parameters as specified in RFC 2231.
 .PP
 If you specify the name of the composition file as \*(lq-\*(rq,
 then
@@ -79,6 +82,11 @@ switch
 is present, then the listing will show any \*(lqextra\*(rq information
 that is present in the message, such as comments in the
 \*(lqContent-Type\*(rq header.
+.PP
+If the
+.B \-disposition
+switch is present, then the listing will show any relevant information from
+the \*(lqContent-Disposition\*(rq header.
 .SS "Simplified Attachment Interface"
 For users who wish to simply attach files to text content,
 .B mhbuild
@@ -94,6 +102,23 @@ content specified by
 directives (see below).  See
 .IR send (1)
 for more details.
+.PP
+By default, the Content-Disposition will be \*(lqattachment\*(rq.
+.B mhbuild
+looks for user profile and mhn.defaults entries of the form
+.PP
+.RS 5
+mhbuild-disposition-<type>/<subtype>
+.RE
+or
+.RS 5
+mhbuild-disposition-<type>
+.RE
+.PP
+to supply the disposition value.  The only supported values are
+.I attachment
+and
+.IR inline.
 .SS "Translating the Composition File"
 .B mhbuild
 is essentially a filter to aid in the composition of MIME
@@ -298,7 +323,7 @@ would be as follows:
 .fi
 .RE
 .PP
-Any long URLs will be wrapped according to RFC 2017 rules.
+Any long URLs will be wrapped according to RFC 2231 rules.
 .PP
 The \*(lqmessage\*(rq directive (#forw) is used to specify a message or
 group of messages to include.  You may optionally specify the name of
@@ -401,6 +426,18 @@ characters.  The
 switch suppresses creation of all \*(lqContent-ID:\*(rq headers,
 even in the top level of the message.
 .PP
+Normally
+.B mhbuild
+will choose an appropriate Content\-Transfer\-Encoding based on the content
+and the MIME Content\-Type.  However, you can override that in an
+.B mhbuild
+directive by specifying \*(lq*\*(rq and the encoding.  Acceptable encoding
+values are \*(lq8bit\*(rq, \*(lqqp\(*rq (for quoted\-printable), and
+\*(lqb64\*(rq (for base64 encoding).  It should be noted that undesired
+results may occur if 8bit or quoted\-printable is selected for binary
+content, due to the translation between Unix line endings and the line
+endings use by the mail transport system.
+.PP
 In addition to the various directives, plaintext can be present.
 Plaintext is gathered, until a directive is found or the draft is
 exhausted, and this is made to form a text content.  If the plaintext
@@ -473,6 +510,13 @@ If a text content contains only 7\-bit characters and the character set
 is not specified as above, then the character set will be labeled as
 \*(lqus-ascii\*(rq.
 .PP
+By default text content with the high bit set is encoded with a 8bit
+Content\-Transfer\-Encoding.  If the text has lines longer than the value
+of
+.B \-maxunencoded
+(which defaults to 78) then the text is encoded using the quoted\-printable
+encoding.
+.PP
 The
 .B \-headerencoding
 switch will indicate which algorithm to use when encoding any message headers
@@ -617,15 +661,17 @@ definitions useful for that machine.
 .PP
 Finally,
 .B mhbuild
-will attempt to consult a global
-.B mhbuild
-user profile, e.g.,
+will attempt to consult
 .PP
 .RS 5
 %etcdir%/mhn.defaults
 .RE
 .PP
 if it exists.
+.PP
+See "Profile Lookup" in
+.IR mh-profile (5)
+for the profile search order, and for how duplicate entries are treated.
 .SS "Syntax of Composition Files"
 The following is the formal syntax of a
 .B mhbuild
@@ -643,6 +689,7 @@ directive    ::=     "#" type "/" subtype
                          [ "<" id ">" ]
                          [ "[" description "]" ]
                          [ "{" disposition "}" ]
+                        [ "*8bit" | "*qp" | "*b64" ]
                          [ filename ]
                          EOL
 
@@ -652,6 +699,7 @@ directive    ::=     "#" type "/" subtype
                          [ "<" id ">" ]
                          [ "[" description "]" ]
                          [ "{" disposition "}" ]
+                        [ "*8bit" | "*qp" | "*b64" ]
                          external-parameters
                          EOL
 
@@ -683,6 +731,7 @@ plaintext    ::=     [ "Content-Description:"
                          [ "(" comment ")" ]
                          [ "[" description "]" ]
                          [ "{" disposition "}" ]
+                        [ "*8bit" | "*qp" | "*b64" ]
                          EOL
                          1*line
                      [ "#" EOL ]
@@ -742,9 +791,13 @@ is checked.
 (RFC 2048),
 .PP
 .I "Multipurpose Internet Mail Extensions (MIME) Part Five: Conformance Criteria and Examples"
-(RFC 2049)
+(RFC 2049),
+.PP
 .I "Definition of the URL MIME External-Body Access-Type"
-(RFC 2017)
+(RFC 2017),
+.PP
+.I "MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations"
+(RFC 2231)
 .SH DEFAULTS
 .nf
 .RB ` \-headers '
@@ -753,5 +806,7 @@ is checked.
 .RB ` \-contentid '
 .RB ` \-nocheck '
 .RB ` \-noverbose '
+.RB ` \-nodisposition '
 .RB ` \-autoheaderencoding '
+.RB ` "\-maxunencoded\ 78"'
 .fi