X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/30d2bc627c8010e4fbe4774d86bed189a57210e2..9cc2510:/man/mhbuild.man?ds=inline diff --git a/man/mhbuild.man b/man/mhbuild.man index 2f0e8ee7..4b261f33 100644 --- a/man/mhbuild.man +++ b/man/mhbuild.man @@ -1,4 +1,4 @@ -.TH MHBUILD %manext1% "March 21, 2013" "%nmhversion%" +.TH MHBUILD %manext1% "March 13, 2014" "%nmhversion%" .\" .\" %nmhwarning% .\" @@ -17,10 +17,14 @@ 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 ] .ad @@ -33,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 @@ -78,6 +82,43 @@ 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 +will scan the composition file for \*(lqAttach\*(rq headers. An +\*(lqAttach\*(rq header contains a filename that will be appended to the +message using normal MIME encapsulation rules. One filename is allowed +per \*(lqAttach\*(rq header, but multiple \*(lqAttach\*(rq headers are +allowed ber composition file. +.PP +These files will be appended after any other MIME content, including any +content specified by +.B mhbuild +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-/ +.RE +or +.RS 5 +mhbuild-disposition- +.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 @@ -282,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 @@ -385,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 @@ -448,13 +501,22 @@ If a text content contains any 8\-bit characters (characters with the high bit set) and the character set is not specified as above, then .B mhbuild will assume the character set is of the type given by the -environment variable MM_CHARSET. If this environment variable is not +standard +.IR locale (1) +environment variables. If these environment variables are not set, then the character set will be labeled as \*(lqx-unknown\*(rq. .PP 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 @@ -553,20 +615,11 @@ on file that already in MIME format. The switch will cause .B mhbuild to exit without error if the input file already has valid MIME headers. -.PP -It is also possible to have the -.B whatnow -program invoke -.B mhbuild -automatically when a message is sent. To do this, you must add the line -.PP -.RS 5 -automimeproc: 1 -.RE -.PP -to your -.I \&.mh\(ruprofile -file. +The use of +.B \-auto +also enables the +.B \-nodirectives +switch. .PP Finally, you should consider adding this line to your profile: .PP @@ -585,6 +638,14 @@ What now? list .RE .PP will work as you expect. +.PP +The +.B \-dist +switch is intended to be used by +.BR dist . +It will cause mhbuild to not generate any MIME headers in the composition +file (such as \*(lqMIME-Version\*(rq or \*(lqContent-Type\*(rq), but it +will still encode message headers according to RFC 2047. .SS "User Environment" Because the environment in which .B mhbuild @@ -600,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 @@ -626,6 +689,7 @@ directive ::= "#" type "/" subtype [ "<" id ">" ] [ "[" description "]" ] [ "{" disposition "}" ] + [ "*8bit" | "*qp" | "*b64" ] [ filename ] EOL @@ -635,6 +699,7 @@ directive ::= "#" type "/" subtype [ "<" id ">" ] [ "[" description "]" ] [ "{" disposition "}" ] + [ "*8bit" | "*qp" | "*b64" ] external-parameters EOL @@ -666,6 +731,7 @@ plaintext ::= [ "Content-Description:" [ "(" comment ")" ] [ "[" description "]" ] [ "{" disposition "}" ] + [ "*8bit" | "*qp" | "*b64" ] EOL 1*line [ "#" EOL ] @@ -682,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 ^ ~ @@ -725,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 ' @@ -736,5 +806,7 @@ is checked. .RB ` \-contentid ' .RB ` \-nocheck ' .RB ` \-noverbose ' +.RB ` \-nodisposition ' .RB ` \-autoheaderencoding ' +.RB ` "\-maxunencoded\ 78"' .fi