From: Ken Hornstein Date: Thu, 23 Jan 2014 18:35:03 +0000 (-0500) Subject: Document changes to mhbuild and send. X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/18a36943f2466ed70feacbe7f239f4cade7b5168?ds=sidebyside;hp=--cc Document changes to mhbuild and send. --- 18a36943f2466ed70feacbe7f239f4cade7b5168 diff --git a/docs/README-ATTACHMENTS b/docs/README-ATTACHMENTS index dc04662d..db096d66 100644 --- a/docs/README-ATTACHMENTS +++ b/docs/README-ATTACHMENTS @@ -1,3 +1,10 @@ +This document describes the previous attach interface. The attach +interface has changes for nmh 1.6 and later. The interface is +documented in send(1), whatnow(1), and mhbuild(1). No configuration +is required, and the same commands exist in whatnow; the two main +differences are that the header is now named "Attach", and mhbuild takes +care of the actual header processing. + Jon Steinhart's (jon@fourwinds.com) Attachment Handling Mods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/man/mhbuild.man b/man/mhbuild.man index abd9dcbc..8cf59898 100644 --- a/man/mhbuild.man +++ b/man/mhbuild.man @@ -1,4 +1,4 @@ -.TH MHBUILD %manext1% "March 21, 2013" "%nmhversion%" +.TH MHBUILD %manext1% "January 23, 2014" "%nmhversion%" .\" .\" %nmhwarning% .\" @@ -79,6 +79,21 @@ 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. +.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. .SS "Translating the Composition File" .B mhbuild is essentially a filter to aid in the composition of MIME @@ -554,6 +569,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. +The use of +.B \-auto +also enables the +.B \-nodirectives +switch. .PP Finally, you should consider adding this line to your profile: .PP diff --git a/man/send.man b/man/send.man index b7016a41..c83a74fe 100644 --- a/man/send.man +++ b/man/send.man @@ -1,7 +1,7 @@ .\" .\" %nmhwarning% .\" -.TH SEND %manext1% "December 22, 2013" "%nmhversion%" +.TH SEND %manext1% "January 23, 2014" "%nmhversion%" .SH NAME send \- send a message .SH SYNOPSIS @@ -78,24 +78,39 @@ profile component. Most of the features attributed to are actually performed by .BR post . .PP -By default the draft is scanned for a header named -.IR Nmh-Attachment . +Before +.B send +gives the message to +.B post +for delivery, the message is processed by +.B mhbuild +to perform any necessary MIME encoding of the outgoing message. This +can be changed by the +.I buildmimeproc +profile component. +.B mhbuild +is invoked with the +.B \-auto +switch, so +.B mhbuild +directives are not processed by default. See +.IR mhbuild (1) +for more information. +.PP +.B mhbuild +will scan the message draft for a header named +.IR Attach . The draft is converted to a MIME message if one or more matches are found. -This conversion occurs before all other processing. The header name -can be changed with the -.B \-attach -option. This behavior can be disabled completely with the -.B \-noattach -option. The -.B whatnow +This conversion occurs before all other processing. The +.IR whatnow (1) man page describes the user interface for managing MIME attachments via this mechanism. .PP The first part of the MIME message is the draft body if that body contains any non-blank characters. -The body of each header field whose name matches the -.I header-field-name -is interpreted as a file name, and each file named is included as a separate +The body of each +.I Attach +header field is interpreted as a file name, and each file named is included as a separate part in the MIME message. .PP Determination of the content MIME type inserted into the Content-Type @@ -104,9 +119,9 @@ header for each part depends on how the installation was configured. If a program, such as .B file with a -.B --mime +.B \-\-mime or -.B -i +.B \-i option, was found that can specify the type of a file as a MIME type string, then that will be used. To determine if your .B nmh @@ -130,54 +145,15 @@ if it contains characters outside of the ASCII range. See .IR mhshow (1) for more details and example syntax. .PP -Each part contains a name attribute that is the last component of the path name. -A -.I x-unix-mode -attribute containing the file mode accompanies each part. -Finally, a description attribute is generated by running the -.I file -command on the file. -.PP -The -.B -attachformat -option specifies the MIME header field formats: a value of -.B 0 -includes the -.I x-unix-mode -attribute as noted above. A value of -.BR 1 , -the default, -suppresses that, puts the file name in the -\*(lqContent-Description\*(rq header, and -adds a \*(lqContent-Disposition\*(rq header. A value of -.B 2 -adds the file -.I modification-date -parameter to the \*(lqContent-Disposition\*(rq header. You can -specify one value in your profile, and override it for individual -messages at the -.I whatnow -prompt. -.PP -Here are example message part headers, for an attachment, for each of the -.B -attachformat -values: +Each attached MIME part contains a +\*(lqContent-Description\*(rq header that includes the filename, and +adds a \*(lqContent-Disposition\*(rq header. +Here is an example of MIME part headers for an attachment: .PP .nf --attachformat 0: -Content-Type: text/plain; name="VERSION"; x-unix-mode="0644"; - charset="us-ascii" -Content-Description: ASCII text - --attachformat 1: Content-Type: text/plain; name="VERSION"; charset="us-ascii" Content-Description: VERSION Content-Disposition: attachment; filename="VERSION" - --attachformat 2: -Content-Type: text/plain; name="VERSION"; charset="us-ascii" -Content-Description: VERSION -Content-Disposition: attachment; filename="VERSION"; modification-date="Mon, 19 Dec 2005 22:39:51 -0600" .fi .PP If @@ -512,8 +488,6 @@ for more information. .RB ` \-noverbose ' .RB ` \-nowatch ' .RB ` "\-width\ 72" ' -.RB ` "\-attach\ Nmh-Attachment" ' -.RB ` "\-attachformat\ 1" ' .fi .SH CONTEXT None