X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=man%2Fsend.man;h=0c65f5acd4975926fad5a284615215ead149c016;hp=33f5b3d8da1d70128786476691792580b5fbf604;hb=ac33b2e9c3632537b93fc4755a925c682d1eb82e;hpb=b36e2ab7892cdf30a8b33d02e00af70398013b5d diff --git a/man/send.man b/man/send.man index 33f5b3d..0c65f5a 100644 --- a/man/send.man +++ b/man/send.man @@ -2,200 +2,408 @@ .\" %nmhwarning% .\" $Id$ .\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" .TH SEND %manext1% "%nmhdate%" MH.6.8 [%nmhversion%] .SH NAME send \- send a message .SH SYNOPSIS -.in +.5i -.ti -.5i -send -\%[\-alias\ aliasfile] -\%[\-draft] -\%[\-draftfolder\ +folder] -.br -\%[\-draftmessage\ msg] \%[\-nodraftfolder] -.br -\%[\-filter\ filterfile] \%[\-nofilter] -\%[\-format] \%[\-noformat] -.br -\%[\-forward] \%[\-noforward] -\%[\-mime] \%[\-nomime] -\%[\-msgid] -.br -\%[\-nomsgid] -\%[\-push] \%[\-nopush] -\%[\-split\ seconds] -.br -\%[\-verbose] \%[\-noverbose] -\%[\-watch] \%[\-nowatch] -\%[\-sasl] \%[\-saslmech\ mechanism] \%[\-user\ username] -.br -\%[\-width\ columns] -\%[file\ ...] -\%[\-version] -\%[\-help] -.in -.5i +.HP 5 +.na +.B send +.RB [ \-alias +.IR aliasfile ] +.RB [ \-draft ] +.RB [ \-draftfolder +.IR +folder ] +.RB [ \-draftmessage +.IR msg ] +.RB [ \-nodraftfolder ] +.RB [ \-filter +.IR filterfile ] +.RB [ \-nofilter ] +.RB [ \-format " | " \-noformat ] +.RB [ \-forward " | " \-noforward ] +.RB [ \-mime " | " \-nomime ] +.RB [ \-msgid " | " \-nomsgid ] +.RB [ \-push " | " \-nopush ] +.RB [ \-split +.IR seconds ] +.RB [ \-verbose " | " \-noverbose ] +.RB [ \-watch " | " \-nowatch ] +.RB [ \-sasl ] +.RB [ \-saslmech +.IR mechanism ] +.RB [ \-user +.IR username ] +.RB [ \-width +.IR columns ] +.RB [ file +\&...] +.RB [ \-version ] +.RB [ \-help ] +.RB [ \-attach +.IR header-field-name ] +.RB [ \-attachformat +.IR 0 " | " 1 " | " 2 ] +.ad .SH DESCRIPTION -\fISend\fR will cause each of the specified files to be delivered +.B Send +will cause each of the specified files to be delivered to each of the destinations in the \*(lqTo:\*(rq, \*(lqcc:\*(rq, -\*(lqBcc:\*(rq, and \*(lqFcc:\*(rq fields of the message. If \fIsend\fR -is re\-distributing a message, as invoked from \fIdist\fR, then the +\*(lqBcc:\*(rq, \*(lqDcc:\*(rq, and \*(lqFcc:\*(rq fields of the message. If +.B send +is re\-distributing a message, as invoked from +.BR dist , +then the corresponding \*(lqResent\-xxx\*(rq fields are examined instead. - -By default, \fIsend\fR uses the program \fIpost\fR(8) to do the actual +.PP +By default, +.B send +uses the program +.B post +to do the actual delivery of the messages, although this can be changed by defining the -\fIpostproc\fR profile component. Most of the features attributed to -\fIsend\fR are actually performed by \fIpost\fR. +.I postproc +profile component. Most of the features attributed to +.B send +are actually performed by +.BR post . -If `\-push' is specified, \fIsend\fR will detach itself from the user's -terminal and perform its actions in the background. If \fIpush\fR\0'd -and the draft can't be sent, then an error message will be sent (using -the mailproc) back to the user. If `\-forward' is given, then a copy -of the draft will be attached to this failure notice. Using `\-push' -differs from putting \fIsend\fR in the background because the output is -trapped and analyzed by \fInmh\fR. +.PP +If a +.I header-field-name +is supplied using the +.B -attach +option, the draft is scanned for a header whose field name matches the +supplied +.IR header-field-name . +The draft is converted to a MIME message if one or more matches are found. +This conversion occurs before all other processing. +.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 +part in the MIME message. +.PP +For file names with dot suffixes, the context is scanned for a +.I mhshow-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 +if it contains characters outside of the ASCII range. +.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, +the default, +includes the +.I x-unix-mode +attribute as noted above. A value of +.B 1 +suppresses both that and 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 each of the +.B -attachformat +values: +.PP +.nf +-attachformat 0: +Content-Type: text/plain; name="VERSION"; x-unix-mode="0644"; + charset="us-ascii" +Content-Description: ASCII text -If `\-verbose' is specified, \fIsend\fR will indicate the interactions +-attachformat 1: +Content-Type: text/plain; charset="us-ascii" +Content-Disposition: attachment; filename="VERSION" + +-attachformat 2: +Content-Type: text/plain; charset="us-ascii" +Content-Disposition: attachment; filename="VERSION"; modification-date="Mon, 19 Dec 2005 22:39:51 -0600" +.fi +.PP +If +.B \-push +is specified, +.B send +will detach itself from the user's +terminal and perform its actions in the background. If +.BR push 'd +and the draft can't be sent, then an error message will be sent (using +the mailproc) back to the user. If +.B \-forward +is given, then a copy +of the draft will be attached to this failure notice. Using +.B \-push +differs from putting +.B send +in the background because the output is +trapped and analyzed by +.BR nmh . +.PP +If +.B \-verbose +is specified, +.B send +will indicate the interactions occurring with the transport system, prior to actual delivery. -If `\-watch' is specified \fIsend\fR will monitor the delivery of local +If +.B \-watch +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. - -The `\-draftfolder\ +folder' and `\-draftmessage\ msg' switches invoke -the \fInmh\fR draft folder facility. This is an advanced (and highly -useful) feature. Consult the \fImh-draft\fR(5) man page for more +.PP +The +.B \-draftfolder +.I +folder +and +.B \-draftmessage +.I msg +switches invoke +the +.B nmh +draft folder facility. This is an advanced (and highly +useful) feature. Consult the +.BR mh-draft (5) +man page for more information. - -If `\-split' is specified, \fIsend\fR will split the draft into one +.PP +If +.B \-split +is specified, +.B send +will split the draft into one or more partial messages prior to sending. This makes use of the -MIME features in nmh. Note however that if \fIsend\fR is -invoked under \fIdist\fR\0(1), then this switch is ignored\0--\0it makes +MIME features in +.BR nmh . +Note however that if +.B send +is +invoked under +.BR dist , +then this switch is ignored\0--\0it makes no sense to redistribute a message in this fashion. Sometimes you want -\fIsend\fR to pause after posting a partial message. This is usually -the case when you are running \fIsendmail\fR and expect to generate a -lot of partial messages. The argument to `\-split' tells it how long +.B send +to pause after posting a partial message. This is usually +the case when you are running +.B sendmail +and expect to generate a +lot of partial messages. The argument to +.B \-split +tells it how long to pause between postings. - -\fISend\fR with no \fIfile\fR argument will query whether the draft -is the intended file, whereas `\-draft' will suppress this question. +.PP +.B Send +with no +.I file +argument will query whether the draft +is the intended file, whereas +.B \-draft +will suppress this question. Once the transport system has successfully accepted custody of the message, the file 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, \fIsend\fR will abort with a +errors in the formatting of the message, +.B send +will abort with a (hopefully) helpful error message. - +.PP If a \*(lqBcc:\*(rq field is encountered, its addresses will be used for delivery, and the \*(lqBcc:\*(rq field will be removed from the message sent to sighted recipients. The blind recipients will receive an entirely new message with a minimal set of headers. Included in the body of the message will be a copy of the message sent to the sighted recipients. -If `\-filter\ filterfile' is specified, then this copy is filtered -(re\-formatted) by \fImhl\fR prior to being sent to the blind recipients. -Alternately, if you specify the `-mime' switch, then \fIsend\fR will +.PP +If a \*(lqDcc:\*(rq field is encountered, its addresses will be used for +delivery, and the \*(lqDcc:\*(rq field will be removed from the message. The +blind recipients will receive the same message sent to the sighted +recipients. *WARNING* Recipients listed in the \*(lqDcc:\*(rq field receive no +explicit indication that they have received a \*(lqblind copy\*(rq. +This can cause blind recipients to +inadvertently reply to all of the sighted recipients of the +original message, revealing that they received a blind copy. +On the other hand, since a normal reply to a message sent +via a \*(lqBcc:\*(rq field +will generate a reply only to the sender of the original message, +it takes extra effort in most mailers to reply to the included +message, and so would usually only be done deliberately, rather +than by accident. +.PP +If +.B \-filter +.I filterfile +is specified, then this copy is filtered +(re\-formatted) by +.B mhl +prior to being sent to the blind recipients. +Alternately, if you specify the +.B -mime +switch, then +.B send +will use the MIME rules for encapsulation. - +.PP Prior to sending the message, the fields \*(lqFrom:\ user@local\*(rq, and \*(lqDate:\ now\*(rq will be appended to the headers in the message. -If the environment variable \fB$SIGNATURE\fR is set, then its value +If the environment variable +.B $SIGNATURE +is set, then its value is used as your personal name when constructing the \*(lqFrom:\*(rq line of the message. If this environment variable is not set, then -\fIsend\fR will consult the profile entry \*(lqSignature\*(rq for -this information. On hosts where \fInmh\fR was configured with the UCI -option, if \fB$SIGNATURE\fR is not set and the \*(lqSignature\*(rq profile -entry is not present, then the file \fB$HOME\fR/.signature is consulted. -If `\-msgid' is specified, then a \*(lqMessage\-ID:\*(rq field will also +.B send +will consult the profile entry \*(lqSignature\*(rq for +this information. +If +.B \-msgid +is specified, then a \*(lqMessage\-ID:\*(rq field will also be added to the message. - -If \fIsend\fR is re\-distributing a message (when invoked by -\fIdist\fR\0), then \*(lqResent\-\*(rq will be prepended to each of these +.PP +If +.B send +is re\-distributing a message (when invoked by +.BR dist ), +then \*(lqResent\-\*(rq will be prepended to each of these fields: \*(lqFrom:\*(rq, \*(lqDate:\*(rq, and \*(lqMessage\-ID:\*(rq. If the message already contains a \*(lqFrom:\*(rq field, then a \*(lqSender: user@local\*(rq field will be added as well. (An already existing \*(lqSender:\*(rq field is an error!) - -By using the `\-format' switch, each of the entries in the \*(lqTo:\*(rq +.PP +By using the +.B \-format +switch, each of the entries in the \*(lqTo:\*(rq and \*(lqcc:\*(rq fields will be replaced with \*(lqstandard\*(rq format entries. This standard format is designed to be usable by all of the message handlers on the various systems around the Internet. -If `\-noformat' is given, then headers are output exactly as they appear +If +.B \-noformat +is given, then headers are output exactly as they appear in the message draft. - +.PP If an \*(lqFcc:\ folder\*(rq is encountered, the message will be copied to the specified folder for the sender in the format in which it will appear to any non\-Bcc receivers of the message. That is, it will have the appended fields and field reformatting. The \*(lqFcc:\*(rq fields will be removed from all outgoing copies of the message. - -By using the `\-width\ columns' switch, the user can direct \fIsend\fR +.PP +By using the +.B \-width +.I columns +switch, the user can direct +.B send as to how long it should make header lines containing addresses. - -If nmh has been compiled with SASL support, the `\-sasl' switch will enable +.PP +If +.B nmh +has been compiled with SASL support, the +.B \-sasl +switch will enable the use of SASL authentication with the SMTP MTA. Depending on the SASL mechanism used, this may require an additional password prompt from the -user (but the \*(lq.netrc\*(rq file can be used to store this password). -`\-saslmech' switch can be used to select a particular SASL mechanism, -and the the `\-user' switch can be used to select a authorization userid +user (but the +.RI \*(lq \&.netrc \*(rq +file can be used to store this password). +.B \-saslmech +switch can be used to select a particular SASL mechanism, +and the the +.B \-user +switch can be used to select a authorization userid to provide to SASL other than the default. - -Currently SASL security layers are not supported for SMTP. nmh's SMTP SASL code +.PP +Currently SASL security layers are not supported for SMTP. +.BR nmh 's +SMTP SASL code will always negotiate an unencrypted connection. This means that while the SMTP authentication can be encrypted, the subsequent data stream can not. This is in -contrast to nmh's POP3 SASL support, where encryption is supported for both the +contrast to +.BR nmh 's +POP3 SASL support, where encryption is supported for both the authentication and the data stream. - +.PP The files specified by the profile entry \*(lqAliasfile:\*(rq and any -additional alias files given by the `\-alias aliasfile' switch will be -read (more than one file, each preceded by `\-alias', can be named). -See \fImh\-alias\fR\0(5) for more information. -.Fi +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). +See +.BR mh\-alias (5) +for more information. + +.SH FILES +.fc ^ ~ +.nf +.ta \w'%etcdir%/ExtraBigFileName 'u ^$HOME/\&.mh\(ruprofile~^The user profile -.Pr +.fi + +.SH "PROFILE COMPONENTS" +.fc ^ ~ +.nf +.ta 2.4i +.ta \w'ExtraBigProfileName 'u ^Path:~^To determine the user's nmh directory -.Ps ^Draft\-Folder:~^To find the default draft\-folder -.Ps ^Aliasfile:~^For a default alias file -.Ps ^Signature:~^To determine the user's mail signature -.Ps ^mailproc:~^Program to post failure notices -.Ps ^postproc:~^Program to post the message -.Sa +.fi + +.SH "SEE ALSO" comp(1), dist(1), forw(1), repl(1), mh\-alias(5), post(8) -.De -`file' defaults to /draft -.Ds -`\-alias %etcdir%/MailAliases' -.Ds -`\-nodraftfolder' -.Ds -`\-nofilter' -.Ds -`\-format' -.Ds -`\-forward' -.Ds -`\-nomime' -.Ds -`\-nomsgid' -.Ds -`\-nopush' -.Ds -`\-noverbose' -.Ds -`\-nowatch' -.Ds -`\-width\ 72' -.Co + +.SH DEFAULTS +.nf +.RB ` file "' defaults to /draft" +.RB ` \-alias "' defaults to %etcdir%/MailAliases" +.RB ` \-nodraftfolder ' +.RB ` \-nofilter ' +.RB ` \-format ' +.RB ` \-forward ' +.RB ` \-nomime ' +.RB ` \-nomsgid ' +.RB ` \-nopush ' +.RB ` \-noverbose ' +.RB ` \-nowatch ' +.RB ` "\-width\ 72" ' +.RB ` "\-attachformat\ 0" ' +.fi + +.SH CONTEXT None -.Bu + +.SH BUGS Under some configurations, it is not possible to monitor the mail delivery -transaction; `\-watch' is a no-op on those systems. -.sp -Using `\-split\00' doesn't work correctly. -.En +transaction; +.B \-watch +is a no-op on those systems. +.PP +Using +.B \-split +.I 0 +doesn't work correctly.