Removed the MTS and post; now we always use /usr/sbin/sendmail -t
[mmh] / man / post.man
1 .\"
2 .\" %nmhwarning%
3 .\"
4 .TH POST %manext8% "%nmhdate%" MH.6.8 [%nmhversion%]
5 .SH NAME
6 post \- deliver a message
7 .SH SYNOPSIS
8 .HP 5
9 .na
10 .B %libdir%/post 
11 .RB [ \-alias
12 .IR aliasfile ]
13 .RB [ \-filter
14 .IR filterfile ]
15 .RB [ \-nofilter ]
16 .RB [ \-format " | " \-noformat ]
17 .RB [ \-mime " | " \-nomime ]
18 .RB [ \-msgid " | " \-nomsgid ]
19 .RB [ \-verbose " | " \-noverbose ]
20 .RB [ \-watch " | " \-nowatch ]
21 .RB [ \-width
22 .IR columns ]
23 .RB [ \-sasl ]
24 .RB [ \-saslmech
25 .IR mechanism ]
26 .RB [ \-user
27 .IR username ]
28 .I file
29 .RB [ \-version ]
30 .RB [ \-help ]
31 .ad
32 .SH DESCRIPTION
33 .B Post
34 is the default program called by
35 .B send
36 to deliver
37 the message in
38 .I file
39 to local and remote users.  In fact, most of
40 the features attributed to
41 .B send
42 in its manual page are performed by
43 .BR post ,
44 with
45 .B send
46 acting as a relatively simple preprocessor.
47 Thus, it is
48 .B post
49 which parses the various header fields, appends
50 \*(lqFrom:\*(rq and \*(lqDate:\*(rq lines, and interacts with the mail transport system.
51 .B Post
52 will not normally be called directly by the user.
53 .PP
54 .B Post
55 searches the \*(lqTo:\*(rq, \*(lqcc:\*(rq, \*(lqBcc:\*(rq,
56 \*(lqFcc:\*(rq, and \*(lqResent\-xxx:\*(rq header lines of the specified
57 message for destination addresses, checks these addresses for validity,
58 and formats them so as to conform to ARPAnet Internet Message Format
59 protocol, unless the
60 .B \-noformat
61 flag is set.  This will normally cause
62 \*(lq@\fIlocal\-site\fR\*(rq to be appended to each local destination
63 address, as well as any local return addresses.  The
64 .B \-width
65 .I columns
66 switch can be used to indicate the preferred length of the header
67 components that contain addresses.
68 .PP
69 If a \*(lqBcc:\*(rq field is encountered, its addresses will be used for
70 delivery, and the \*(lqBcc:\*(rq field will be removed from the message
71 sent to sighted recipients.  The blind recipients will receive an entirely
72 new message with a minimal set of headers.  Included in the body of the
73 message will be a copy of the message sent to the sighted recipients.
74 If
75 .B \-filter
76 .I filterfile
77 is specified, then this copy is filtered
78 (re\-formatted) by
79 .B mhl
80 prior to being sent to the blind recipients.
81 Alternately, if the
82 .B \-mime
83 switch is given, then
84 .B post
85 will use
86 the MIME rules for encapsulation.
87 .PP
88 The
89 .B \-alias
90 .I aliasfile
91 switch can be used to specify a file that post
92 should take aliases from.  More than one file can be specified, each
93 being preceded with
94 .BR \-alias .
95 In any event, the primary alias file is
96 read first.
97 .PP
98 The
99 .B \-msgid
100 switch indicates that a \*(lqMessage\-ID:\*(rq or
101 \*(lqResent\-Message\-ID:\*(rq field should be added to the header.
102 .PP
103 The
104 .B \-verbose
105 switch indicates that the user should be informed of
106 each step of the posting/filing process.
107 .PP
108 The
109 .B \-watch
110 switch indicates that the user would like to watch the
111 transport system's handling of the message (e.g., local and \*(lqfast\*(rq
112 delivery).
113 .PP
114 Under normal circumstances,
115 .B post
116 constructs the \*(lqFrom:\*(rq line of the
117 message from the user's login name, the full name from the GECOS field of the
118 passwd file, and the fully\-qualified name of the local machine.
119 An example is \*(lqFrom: Dan Harkless
120 <dan@machine.company.com>\*(rq.  There are four ways to override these values,
121 however.  Note that they apply equally to \*(lqResent\-From:\*(rq lines in messages sent
122 with
123 .BR dist .
124 .PP
125 The first way is GECOS\-based username masquerading.  If the \*(lqmasquerade:\*(rq line
126 in
127 .I mts.conf
128 contains \*(lqmmailid\*(rq, this processing is activated.  If a user's GECOS
129 field in the passwd file is of the form \*(lqFull Name <fakename>\*(rq then \*(lqfakename\*(rq
130 will be used in place of the real username.  For instance, a GECOS field of \*(lqDan
131 Harkless <Dan.Harkless>\*(rq would result in \*(lqFrom: Dan Harkless
132 <Dan.Harkless@machine.company.com>\*(rq.  Naturally if you were doing something like
133 this you'd want to set up an MTA alias (e.g. in /etc/aliases) from, for
134 instance, \*(lqDan.Harkless\*(rq to \*(lqdan\*(rq.
135 .PP
136 The second way to override default construction of \*(lqFrom:\*(rq is to set the
137 .B $SIGNATURE
138 environment variable.  This variable overrides the full name
139 from the GECOS field, even if GECOS\-based masquerading is being done.  This
140 processing is always active, and does not need to be enabled from
141 .IR mts.conf .
142 .PP
143 The third way is controlled by the \*(lquser_extension\*(rq value of \*(lqmasquerade:\*(rq line
144 of
145 .IR mts.conf .
146 When that's turned on, setting the
147 .B $USERNAME_EXTENSION
148 environment variable will result in its value being appended the user's login
149 name.  For instance, if I set
150 .B $USERNAME_EXTENSION
151 to \*(lq+www\*(rq, my \*(lqFrom:\*(rq
152 line will contain \*(lqDan Harkless <dan+www@machine.company.com>\*(rq (or
153 \*(lqDan.Harkless+www\*(rq if I'm using mmailid masquerading as well).  Recent versions
154 of
155 .B sendmail
156 automatically deliver all mail sent to
157 .IR user + string
158 to
159 .IR user .
160 .B qmail
161 has a similar feature which uses '\-' as the delimiter by
162 default, but can use other characters as well.
163 .PP
164 The fourth method of address masquerading is to specify a \*(lqFrom:\*(rq line manually
165 in the message draft.  It will be used as provided (after alias substitution),
166 but normally, to discourage email forgery, the user's
167 .B real
168 address will be
169 used in the SMTP envelope \*(lqFrom:\*(rq and in a \*(lqSender:\*(rq header.  However, if the
170 \*(lqmasquerade:\*(rq line of
171 .I mts.conf
172 contains \*(lqdraft_from\*(rq, the SMTP envelope \*(lqFrom:\*(rq
173 will use the address given in the draft \*(lqFrom:\*(rq, and there will be no \*(lqSender:\*(rq
174 header.  This is useful in pretending to send mail \*(lqdirectly\*(rq from a remote POP3
175 account, or when remote email robots give improper precedence to the envelope
176 \*(lqFrom:\*(rq.  Note that your MTA may still reveal your real identity (e.g.
177 .BR sendmail 's
178 \*(lqX\-Authentication\-Warning:\*(rq header). 
179 .PP
180 If nmh is using the SMTP MTA, the
181 .B \-server
182 and the
183 .B \-port
184 switches can be used to override the default mail server (defined by the
185 .RI servers
186 entry in
187 .I %etcdir%/mts.conf
188 ).
189 .PP
190 If
191 .B nmh
192 has been compiled with SASL support, the
193 .B \-sasl
194 switch will enable
195 the use of SASL authentication with the SMTP MTA.  Depending on the
196 SASL mechanism used, this may require an additional password prompt from the
197 user (but the
198 .RI \*(lq \&.netrc \*(rq
199 file can be used to store this password).
200 .B \-saslmech
201 switch can be used to select a particular SASL mechanism,
202 and the the
203 .B \-user
204 switch can be used to select a authorization userid
205 to provide to SASL other than the default.
206 .PP
207 If SASL authentication is successful, 
208 .BR nmh
209 will attempt to negotiate a security layer for session encryption.
210 Encrypted data is labelled with `(sasl-encrypted)' and `(sasl-decrypted)' when
211 viewing the SMTP transaction with the
212 .B \-snoop
213 switch.
214 .PP
215 If
216 .B nmh
217 has been compiled with TLS support, the
218 .B \-tls
219 switch will require the negotiation of TLS support when connecting to the
220 SMTP MTA.  Encrypted data is labelled with `(tls-encrypted)' and
221 `(tls-decrypted)' when viewing the SMTP transction with the
222 .B \-snoop
223 switch.
224
225 .SH FILES
226 .fc ^ ~
227 .nf
228 .ta \w'%etcdir%/ExtraBigFileName  'u
229 ^%etcdir%/mts.conf~^nmh mts configuration file
230 ^%etcdir%/MailAliases~^global nmh alias file
231 ^%bindir%/refile~^Program to process Fcc:s
232 ^%libdir%/mhl~^Program to process Bcc:s
233 .fi
234
235 .SH "PROFILE COMPONENTS"
236 .B post
237 does
238 .B NOT
239 consult the user's
240 .I \&.mh\(ruprofile
241
242 .SH "SEE ALSO"
243 mhmail(1), send(1), mh\-mail(5), mh\-alias(5), mh\-tailor(5),
244 .I "Standard for the Format of ARPA Internet Text Messages"
245 (RFC\-822)
246
247 .SH DEFAULTS
248 .nf
249 .RB ` \-alias "' defaults to %etcdir%/MailAliases"
250 .RB ` \-format '
251 .RB ` \-nomime '
252 .RB ` \-nomsgid '
253 .RB ` \-noverbose '
254 .RB ` \-nowatch '
255 .RB ` "\-width\ 72" '
256 .RB ` \-nofilter '
257 .fi
258
259 .SH CONTEXT
260 None
261
262 .SH BUGS
263 \*(lqReply\-To:\*(rq fields are allowed to have groups in them according
264 to the 822 specification, but
265 .B post
266 won't let you use them.