]> diplodocus.org Git - nmh/blobdiff - man/mhbuild.man
no-op to force check the buildbots.
[nmh] / man / mhbuild.man
index e4bd793334dd463bee8855d0d28bda8d6c15207d..4b261f33def3d05d61551ca2901f9d8d7ac6d1b4 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
+%nmhetcdir%/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 ]
@@ -699,15 +748,15 @@ locations: absolute pathnames are accessed directly, tilde expansion
 is done on usernames, and files are searched for in the user's
 .I Mail
 directory as specified in their profile.  If not found there, the directory
-.RI \*(lq %etcdir% \*(rq
+.RI \*(lq %nmhetcdir% \*(rq
 is checked.
 .PP
 .fc ^ ~
 .nf
-.ta \w'%etcdir%/ExtraBigFileName  'u
+.ta \w'%nmhetcdir%/ExtraBigFileName  'u
 ^$HOME/\&.mh\(ruprofile~^The user profile
 ^$MHBUILD~^Additional profile entries
-^%etcdir%/mhn.defaults~^System default MIME profile entries
+^%nmhetcdir%/mhn.defaults~^System default MIME profile entries
 .fi
 .SH "PROFILE COMPONENTS"
 .fc ^ ~
@@ -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