Factor trim format function out
[mmh] / man / send.man1
index d8e1886..7367610 100644 (file)
@@ -8,12 +8,9 @@ send \- send a message
 .HP 5
 .na
 .B send
-.RB [ \-alias
-.IR aliasfile ]
+.RI [ +folder ]
+.RI [ msgs ]
 .RB [ \-verbose " | " \-noverbose ]
-.RB [ \-watch " | " \-nowatch ]
-.RB [ msg
-\&...]
 .RB [ \-Version ]
 .RB [ \-help ]
 .ad
@@ -37,68 +34,87 @@ Most of the features attributed to
 are actually performed by
 .BR spost .
 .PP
-The draft is scanned for attachment header fields.
+Unless a
+.I MIME-Version
+header is already present, the message is converted to a MIME message.
+In this process, the draft is scanned for attachment header fields.
 Their name defaults to ``Attach'', but may be changed by the value of the
 .I Attachment-Header
 profile entry.
-If such header fields are found, or the body contains non-ASCII characters,
-the message is converted to a MIME message.
-This conversion occurs before all other processing.
+If such header fields are found, the body of each is interpreted as a
+file name (or a message specification), and each of these files or
+messages is included as a separate part in the MIME message.
+(The first part of the MIME message is the draft body.)
 .PP
-The first part of the MIME message is the draft body if the body is non-empty.
-The body of each attachment header field is interpreted as a file name,
-and each file named is included as a separate part in the MIME message.
 .PP
-For file names with dot suffixes, the context is scanned for a
-.I show-suffix-
-entry for that suffix.
-The content-type for the part is taken from that context entry if a match is
-found.
-If no match is found or the file does not have a dot suffix, the content-type
-is text/plain if the file contains only ASCII characters or
-application/octet-stream otherwise.
+The MIME type of each file is determined by the MIME type query program,
+as defined by the
+.I Mime-Type-Query
+profile entry.
+Mmh distributes the program
+.BR print-mimetype ,
+in case no better alternative is available on the system.
 .PP
 The last component of the path name is taken as the name of the MIME parts.
 A message part header for an attachment might be:
 .PP
 .nf
-Content-Type: text/plain; name="VERSION"; charset="us-ascii"
-Content-Description: VERSION
-Content-Disposition: attachment; filename="VERSION"
+Content-Type: text/plain; name="README"; charset="us-ascii"
+Content-Description: README
+Content-Disposition: attachment; filename="README"
 .fi
 .PP
+This conversion occurs before all other processing.
+.PP
+If, however, a
+.I MIME-Version
+header field is already present in the draft, no such conversion
+will be done. This way, it is possible to access the full
+capabilities of
+.B mhbuild
+to create elaborate MIME structures, which reach way beyond the
+attachment system's capabilities.
 If
-.B \-verbose
-is specified,
+.B mhbuild
+was invoked on the draft beforehand (e.g. at the Whatnow prompt),
+then
 .B send
-will indicate the interactions
-occurring with the transport system, prior to actual delivery.
+will use this already MIMEified draft as is.
+.PP
+As a second conversion step,
+.B send
+searches for
+.I Sign
+and
+.I Enc
+header fields, and if found, invokes
+.B mhsign
+to sign and encrypt the message. Signing and encrypting is done
+independently of the MIME conversion.
+.PP
 If
-.B \-watch
-is specified
+.B \-verbose
+is specified,
 .B send
-will monitor the delivery of local
-and network mail.  Hence, by specifying both switches, a large detail
-of information can be gathered about each step of the message's entry
-into the transport system.
+will request verbose information of the transport system.
 .PP
 .B Send
 with no
-.I msg
-argument will send the current message in the draft folder.
+.I +folder
+and
+.I msgs
+arguments will send the current message in the draft folder.
 .B Send
-always takes messages from the draft folder.
-(But, a
+sends messages from the draft folder, unless
 .I +folder
-argument might be added in the future.)
+is given.
 Consult the
 .BR mh-draft (7)
 man page for more information.
 .PP
 Once the transport system has successfully accepted custody of the
-message, the message will be renamed with a leading comma, which allows
-it to be retrieved until the next draft message is sent.  If there are
-errors in the formatting of the message,
+message, the message will be moved into the trash folder.
+If there are errors in the formatting of the message,
 .B send
 will abort with a
 (hopefully) helpful error message.
@@ -151,14 +167,7 @@ appear to any non\-Bcc receivers of the message.  That is, it will have
 the appended fields and field reformatting.  The `Fcc:' fields
 will be removed from all outgoing copies of the message.
 .PP
-The files specified by the profile entry `Aliasfile:' and any
-additional alias files given by the
-.B \-alias
-.I aliasfile
-switch will be
-read (more than one file, each preceded by
-.BR \-alias ,
-can be named).
+The files specified by the profile entry `Aliasfile:' will be read.
 See
 .BR mh\-alias (5)
 for more information.
@@ -180,24 +189,25 @@ for more information.
 ^Draft\-Folder:~^To set the default draft\-folder
 ^Aliasfile:~^For a default alias file
 ^Signature:~^To determine the user's mail signature
-^Attachment\-Header:~^To set the name of the attachment header field
+^Attachment\-Header:~^The name of the attachment header field
+^Sign\-Header:~^The name of the sign request header field
+^Enc\-Header:~^The name of the encryption request header field
+^Mime\-Type\-Query:~^Program to determine the MIME types of files
 .fi
 
 .SH "SEE ALSO"
-comp(1), dist(1), forw(1), repl(1), mh\-alias(5), spost(8)
+comp(1), dist(1), forw(1), repl(1), mh\-alias(5), mhbuild(1),
+mhsign(1), spost(8)
 
 .SH DEFAULTS
 .nf
-.RB ` msg "' defaults to the current message in the draft folder"
+.RB ` msgs "' defaults to the current message"
+.RB ` +folder "' defaults to the draft folder"
 .RB ` \-noverbose '
-.RB ` \-nowatch '
 .fi
 
 .SH CONTEXT
 None
 
 .SH BUGS
-Under some configurations, it is not possible to monitor the mail delivery
-transaction;
-.B \-watch
-is a no-op on those systems.
+None