1 | SENDMAIL(8) BSD System Manager's Manual SENDMAIL(8) |
---|
2 | |
---|
3 | NNAAMMEE |
---|
4 | sseennddmmaaiill - an electronic mail transport agent |
---|
5 | |
---|
6 | SSYYNNOOPPSSIISS |
---|
7 | sseennddmmaaiill [_f_l_a_g_s] [_a_d_d_r_e_s_s _._._.] |
---|
8 | nneewwaalliiaasseess |
---|
9 | mmaaiillqq [--vv] |
---|
10 | |
---|
11 | DDEESSCCRRIIPPTTIIOONN |
---|
12 | SSeennddmmaaiill sends a message to one or more _r_e_c_i_p_i_e_n_t_s, routing the message |
---|
13 | over whatever networks are necessary. SSeennddmmaaiill does internetwork for- |
---|
14 | warding as necessary to deliver the message to the correct place. |
---|
15 | |
---|
16 | SSeennddmmaaiill is not intended as a user interface routine; other programs pro- |
---|
17 | vide user-friendly front ends; sseennddmmaaiill is used only to deliver pre-for- |
---|
18 | matted messages. |
---|
19 | |
---|
20 | With no flags, sseennddmmaaiill reads its standard input up to an end-of-file or |
---|
21 | a line consisting only of a single dot and sends a copy of the message |
---|
22 | found there to all of the addresses listed. It determines the network(s) |
---|
23 | to use based on the syntax and contents of the addresses. |
---|
24 | |
---|
25 | Local addresses are looked up in a file and aliased appropriately. |
---|
26 | Aliasing can be prevented by preceding the address with a backslash. |
---|
27 | Normally the sender is not included in any alias expansions, e.g., if |
---|
28 | `john' sends to `group', and `group' includes `john' in the expansion, |
---|
29 | then the letter will not be delivered to `john'. |
---|
30 | |
---|
31 | PPaarraammeetteerrss |
---|
32 | |
---|
33 | --BB_t_y_p_e Set the body type to _t_y_p_e. Current legal values 7BIT or |
---|
34 | 8BITMIME. |
---|
35 | |
---|
36 | --bbaa Go into ARPANET mode. All input lines must end with a CR-LF, |
---|
37 | and all messages will be generated with a CR-LF at the end. |
---|
38 | Also, the ``From:'' and ``Sender:'' fields are examined for |
---|
39 | the name of the sender. |
---|
40 | |
---|
41 | --bbdd Run as a daemon. This requires Berkeley IPC. SSeennddmmaaiill will |
---|
42 | fork and run in background listening on socket 25 for incom- |
---|
43 | ing SMTP connections. This is normally run from _/_e_t_c_/_r_c. |
---|
44 | |
---|
45 | --bbDD Same as --bbdd except runs in foreground. |
---|
46 | |
---|
47 | --bbhh Print the persistent host status database. |
---|
48 | |
---|
49 | --bbHH Purge the persistent host status database. |
---|
50 | |
---|
51 | --bbii Initialize the alias database. |
---|
52 | |
---|
53 | --bbmm Deliver mail in the usual way (default). |
---|
54 | |
---|
55 | --bbpp Print a listing of the queue. |
---|
56 | |
---|
57 | --bbss Use the SMTP protocol as described in RFC821 on standard in- |
---|
58 | put and output. This flag implies all the operations of the |
---|
59 | --bbaa flag that are compatible with SMTP. |
---|
60 | |
---|
61 | --bbtt Run in address test mode. This mode reads addresses and |
---|
62 | shows the steps in parsing; it is used for debugging configu- |
---|
63 | ration tables. |
---|
64 | |
---|
65 | --bbvv Verify names only - do not try to collect or deliver a mes- |
---|
66 | sage. Verify mode is normally used for validating users or |
---|
67 | mailing lists. |
---|
68 | |
---|
69 | --CC_f_i_l_e Use alternate configuration file. SSeennddmmaaiill refuses to run as |
---|
70 | root if an alternate configuration file is specified. |
---|
71 | |
---|
72 | --dd_X Set debugging value to _X. |
---|
73 | |
---|
74 | --FF_f_u_l_l_n_a_m_e Set the full name of the sender. |
---|
75 | |
---|
76 | --ff_n_a_m_e Sets the name of the ``from'' person (i.e., the sender of the |
---|
77 | mail). --ff can only be used by ``trusted'' users (normally |
---|
78 | _r_o_o_t, _d_a_e_m_o_n, and _n_e_t_w_o_r_k) or if the person you are trying to |
---|
79 | become is the same as the person you are. |
---|
80 | |
---|
81 | --hh_N Set the hop count to _N. The hop count is incremented every |
---|
82 | time the mail is processed. When it reaches a limit, the |
---|
83 | mail is returned with an error message, the victim of an |
---|
84 | aliasing loop. If not specified, ``Received:'' lines in the |
---|
85 | message are counted. |
---|
86 | |
---|
87 | --ii Ignore dots alone on lines by themselves in incoming mes- |
---|
88 | sages. This should be set if you are reading data from a |
---|
89 | file. |
---|
90 | |
---|
91 | --NN _d_s_n Set delivery status notification conditions to _d_s_n_, which can |
---|
92 | be `never' for no notifications or a comma separated list of |
---|
93 | the values `failure' to be notified if delivery failed, |
---|
94 | `delay' to be notified if delivery is delayed, and `success' |
---|
95 | to be notified when the message is successfully delivered. |
---|
96 | |
---|
97 | --nn Don't do aliasing. |
---|
98 | |
---|
99 | --OO _o_p_t_i_o_n=_v_a_l_u_e |
---|
100 | Set option _o_p_t_i_o_n to the specified _v_a_l_u_e. This form uses long |
---|
101 | names. See below for more details. |
---|
102 | |
---|
103 | --oo_x _v_a_l_u_e Set option _x to the specified _v_a_l_u_e. This form uses single |
---|
104 | character names only. The short names are not described in |
---|
105 | this manual page; see the _S_e_n_d_m_a_i_l _I_n_s_t_a_l_l_a_t_i_o_n _a_n_d _O_p_e_r_a_t_i_o_n |
---|
106 | _G_u_i_d_e for details. |
---|
107 | |
---|
108 | --pp_p_r_o_t_o_c_o_l Set the name of the protocol used to receive the message. |
---|
109 | This can be a simple protocol name such as ``UUCP'' or a pro- |
---|
110 | tocol and hostname, such as ``UUCP:ucbvax''. |
---|
111 | |
---|
112 | --qq[_t_i_m_e] Processed saved messages in the queue at given intervals. If |
---|
113 | _t_i_m_e is omitted, process the queue once. Time is given as a |
---|
114 | tagged number, with `s' being seconds, `m' being minutes, `h' |
---|
115 | being hours, `d' being days, and `w' being weeks. For exam- |
---|
116 | ple, `-q1h30m' or `-q90m' would both set the timeout to one |
---|
117 | hour thirty minutes. If _t_i_m_e is specified, sseennddmmaaiill will run |
---|
118 | in background. This option can be used safely with --bbdd. |
---|
119 | |
---|
120 | --qqII_s_u_b_s_t_r Limit processed jobs to those containing _s_u_b_s_t_r as a sub- |
---|
121 | string of the queue id. |
---|
122 | |
---|
123 | --qqRR_s_u_b_s_t_r Limit processed jobs to those containing _s_u_b_s_t_r as a sub- |
---|
124 | string of one of the recipients. |
---|
125 | |
---|
126 | --qqSS_s_u_b_s_t_r Limit processed jobs to those containing _s_u_b_s_t_r as a sub- |
---|
127 | string of the sender. |
---|
128 | |
---|
129 | --RR _r_e_t_u_r_n Set the amount of the message to be returned if the message |
---|
130 | bounces. The _r_e_t_u_r_n parameter can be `full' to return the |
---|
131 | |
---|
132 | entire message or `hdrs' to return only the headers. |
---|
133 | |
---|
134 | --rr_n_a_m_e An alternate and obsolete form of the --ff flag. |
---|
135 | |
---|
136 | --tt Read message for recipients. To:, Cc:, and Bcc: lines will |
---|
137 | be scanned for recipient addresses. The Bcc: line will be |
---|
138 | deleted before transmission. |
---|
139 | |
---|
140 | --UU Initial (user) submission. This should _a_l_w_a_y_s be set when |
---|
141 | called from a user agent such as MMaaiill or eexxmmhh and _n_e_v_e_r be |
---|
142 | set when called by a network delivery agent such as rrmmaaiill. |
---|
143 | |
---|
144 | --VV _e_n_v_i_d Set the original envelope id. This is propagated across SMTP |
---|
145 | to servers that support DSNs and is returned in DSN-compliant |
---|
146 | error messages. |
---|
147 | |
---|
148 | --vv Go into verbose mode. Alias expansions will be announced, |
---|
149 | etc. |
---|
150 | |
---|
151 | --XX _l_o_g_f_i_l_e Log all traffic in and out of mailers in the indicated log |
---|
152 | file. This should only be used as a last resort for debug- |
---|
153 | ging mailer bugs. It will log a lot of data very quickly. |
---|
154 | |
---|
155 | ---- Stop processing command flags and use the rest of the argu- |
---|
156 | ments as addresses. |
---|
157 | |
---|
158 | OOppttiioonnss |
---|
159 | There are also a number of processing options that may be set. Normally |
---|
160 | these will only be used by a system administrator. Options may be set |
---|
161 | either on the command line using the --oo flag (for short names), the --OO |
---|
162 | flag (for long names), or in the configuration file. This is a partial |
---|
163 | list limited to those options that are likely to be useful on the command |
---|
164 | line and only shows the long names; for a complete list (and details), |
---|
165 | consult the _S_e_n_d_m_a_i_l _I_n_s_t_a_l_l_a_t_i_o_n _a_n_d _O_p_e_r_a_t_i_o_n _G_u_i_d_e. The options are: |
---|
166 | |
---|
167 | AliasFile=_f_i_l_e |
---|
168 | Use alternate alias file. |
---|
169 | |
---|
170 | HoldExpensive |
---|
171 | On mailers that are considered ``expensive'' to connect to, |
---|
172 | don't initiate immediate connection. This requires queueing. |
---|
173 | |
---|
174 | CheckpointInterval=_N |
---|
175 | Checkpoint the queue file after every _N successful deliveries |
---|
176 | (default 10). This avoids excessive duplicate deliveries |
---|
177 | when sending to long mailing lists interrupted by system |
---|
178 | crashes. |
---|
179 | |
---|
180 | DeliveryMode=_x |
---|
181 | Set the delivery mode to _x. Delivery modes are `i' for inter- |
---|
182 | active (synchronous) delivery, `b' for background (asyn- |
---|
183 | chronous) delivery, `q' for queue only - i.e., actual deliv- |
---|
184 | ery is done the next time the queue is run, and `d' for de- |
---|
185 | ferred - the same as `q' except that database lookups (no- |
---|
186 | tably DNS and NIS lookups) are avoided. |
---|
187 | |
---|
188 | ErrorMode=_x |
---|
189 | Set error processing to mode _x. Valid modes are `m' to mail |
---|
190 | back the error message, `w' to ``write'' back the error mes- |
---|
191 | sage (or mail it back if the sender is not logged in), `p' to |
---|
192 | print the errors on the terminal (default), `q' to throw away |
---|
193 | error messages (only exit status is returned), and `e' to do |
---|
194 | special processing for the BerkNet. If the text of the mes- |
---|
195 | sage is not mailed back by modes `m' or `w' and if the sender |
---|
196 | is local to this machine, a copy of the message is appended |
---|
197 | |
---|
198 | to the file _d_e_a_d_._l_e_t_t_e_r in the sender's home directory. |
---|
199 | |
---|
200 | SaveFromLine |
---|
201 | Save UNIX-style From lines at the front of messages. |
---|
202 | |
---|
203 | MaxHopCount= _N |
---|
204 | The maximum number of times a message is allowed to ``hop'' |
---|
205 | before we decide it is in a loop. |
---|
206 | |
---|
207 | IgnoreDots Do not take dots on a line by themselves as a message termi- |
---|
208 | nator. |
---|
209 | |
---|
210 | SendMimeErrors |
---|
211 | Send error messages in MIME format. If not set, the DSN (De- |
---|
212 | livery Status Notification) SMTP extension is disabled. |
---|
213 | |
---|
214 | ConnectionCacheTimeout=_t_i_m_e_o_u_t |
---|
215 | Set connection cache timeout. |
---|
216 | |
---|
217 | ConnectionCacheSize=_N |
---|
218 | Set connection cache size. |
---|
219 | |
---|
220 | LogLevel=_n The log level. |
---|
221 | |
---|
222 | MeToo Send to ``me'' (the sender) also if I am in an alias expan- |
---|
223 | sion. |
---|
224 | |
---|
225 | CheckAliases |
---|
226 | Validate the right hand side of aliases during a newalias- |
---|
227 | es(1) command. |
---|
228 | |
---|
229 | OldStyleHeaders |
---|
230 | If set, this message may have old style headers. If not set, |
---|
231 | this message is guaranteed to have new style headers (i.e., |
---|
232 | commas instead of spaces between addresses). If set, an |
---|
233 | adaptive algorithm is used that will correctly determine the |
---|
234 | header format in most cases. |
---|
235 | |
---|
236 | QueueDirectory=_q_u_e_u_e_d_i_r |
---|
237 | Select the directory in which to queue messages. |
---|
238 | |
---|
239 | StatusFile=_f_i_l_e |
---|
240 | Save statistics in the named file. |
---|
241 | |
---|
242 | Timeout.queuereturn=_t_i_m_e |
---|
243 | Set the timeout on undelivered messages in the queue to the |
---|
244 | specified time. After delivery has failed (e.g., because of |
---|
245 | a host being down) for this amount of time, failed messages |
---|
246 | will be returned to the sender. The default is five days. |
---|
247 | |
---|
248 | UserDatabaseSpec=_u_s_e_r_d_a_t_a_b_a_s_e |
---|
249 | If set, a user database is consulted to get forwarding infor- |
---|
250 | mation. You can consider this an adjunct to the aliasing |
---|
251 | mechanism, except that the database is intended to be dis- |
---|
252 | tributed; aliases are local to a particular host. This may |
---|
253 | not be available if your sendmail does not have the USERDB |
---|
254 | option compiled in. |
---|
255 | |
---|
256 | ForkEachJob |
---|
257 | Fork each job during queue runs. May be convenient on memo- |
---|
258 | ry-poor machines. |
---|
259 | |
---|
260 | SevenBitInput |
---|
261 | Strip incoming messages to seven bits. |
---|
262 | |
---|
263 | EightBitMode=_m_o_d_e |
---|
264 | Set the handling of eight bit input to seven bit destinations |
---|
265 | to _m_o_d_e: m (mimefy) will convert to seven-bit MIME format, p |
---|
266 | (pass) will pass it as eight bits (but violates protocols), |
---|
267 | and s (strict) will bounce the message. |
---|
268 | |
---|
269 | MinQueueAge=_t_i_m_e_o_u_t |
---|
270 | Sets how long a job must ferment in the queue between at- |
---|
271 | tempts to send it. |
---|
272 | |
---|
273 | DefaultCharSet=_c_h_a_r_s_e_t |
---|
274 | Sets the default character set used to label 8-bit data that |
---|
275 | is not otherwise labelled. |
---|
276 | |
---|
277 | DialDelay=_s_l_e_e_p_t_i_m_e |
---|
278 | If opening a connection fails, sleep for _s_l_e_e_p_t_i_m_e seconds |
---|
279 | and try again. Useful on dial-on-demand sites. |
---|
280 | |
---|
281 | NoRecipientAction=_a_c_t_i_o_n |
---|
282 | Set the behaviour when there are no recipient headers (To:, |
---|
283 | Cc: or Bcc:) in the message to _a_c_t_i_o_n: none leaves the mes- |
---|
284 | sage unchanged, add-to adds a To: header with the envelope |
---|
285 | recipients, add-apparently-to adds an Apparently-To: header |
---|
286 | with the envelope recipients, add-bcc adds an empty Bcc: |
---|
287 | header, and add-to-undisclosed adds a header reading `To: |
---|
288 | undisclosed-recipients:;'. |
---|
289 | |
---|
290 | MaxDaemonChildren=_N |
---|
291 | Sets the maximum number of children that an incoming SMTP |
---|
292 | daemon will allow to spawn at any time to _N. |
---|
293 | |
---|
294 | ConnectionRateThrottle=_N |
---|
295 | Sets the maximum number of connections per second to the SMTP |
---|
296 | port to _N. |
---|
297 | |
---|
298 | In aliases, the first character of a name may be a vertical bar to cause |
---|
299 | interpretation of the rest of the name as a command to pipe the mail to. |
---|
300 | It may be necessary to quote the name to keep sseennddmmaaiill from suppressing |
---|
301 | the blanks from between arguments. For example, a common alias is: |
---|
302 | |
---|
303 | msgs: "|/usr/bin/msgs -s" |
---|
304 | |
---|
305 | Aliases may also have the syntax ``:include:_f_i_l_e_n_a_m_e'' to ask sendmail to |
---|
306 | read the named file for a list of recipients. For example, an alias such |
---|
307 | as: |
---|
308 | |
---|
309 | poets: ":include:/usr/local/lib/poets.list" |
---|
310 | |
---|
311 | would read _/_u_s_r_/_l_o_c_a_l_/_l_i_b_/_p_o_e_t_s_._l_i_s_t for the list of addresses making up |
---|
312 | the group. |
---|
313 | |
---|
314 | SSeennddmmaaiill returns an exit status describing what it did. The codes are |
---|
315 | defined in <_s_y_s_e_x_i_t_s_._h>: |
---|
316 | EX_OK Successful completion on all addresses. |
---|
317 | EX_NOUSER User name not recognized. |
---|
318 | EX_UNAVAILABLE Catchall meaning necessary resources were not |
---|
319 | available. |
---|
320 | EX_SYNTAX Syntax error in address. |
---|
321 | EX_SOFTWARE Internal software error, including bad arguments. |
---|
322 | EX_OSERR Temporary operating system error, such as ``cannot |
---|
323 | fork''. |
---|
324 | EX_NOHOST Host name not recognized. |
---|
325 | EX_TEMPFAIL Message could not be sent immediately, but was |
---|
326 | queued. |
---|
327 | |
---|
328 | If invoked as nneewwaalliiaasseess, sseennddmmaaiill will rebuild the alias database. If |
---|
329 | invoked as mmaaiillqq, sseennddmmaaiill will print the contents of the mail queue. |
---|
330 | |
---|
331 | FFIILLEESS |
---|
332 | Except for the file _/_e_t_c_/_s_e_n_d_m_a_i_l_._c_f itself and the daemon process ID |
---|
333 | file, the following pathnames are all specified in _/_e_t_c_/_s_e_n_d_m_a_i_l_._c_f_. |
---|
334 | Thus, these values are only approximations. |
---|
335 | |
---|
336 | /etc/aliases raw data for alias names |
---|
337 | /etc/aliases.db data base of alias names |
---|
338 | /etc/sendmail.cf configuration file |
---|
339 | /etc/sendmail.hf help file |
---|
340 | /var/log/sendmail.st collected statistics |
---|
341 | /var/spool/mqueue/* temp files |
---|
342 | |
---|
343 | SSEEEE AALLSSOO |
---|
344 | binmail(1), mail(1), rmail(1), syslog(3), aliases(5), mailaddr(7), |
---|
345 | rc(8); |
---|
346 | |
---|
347 | DARPA Internet Request For Comments _R_F_C_8_1_9, _R_F_C_8_2_1, _R_F_C_8_2_2. |
---|
348 | |
---|
349 | _S_e_n_d_m_a_i_l _- _A_n _I_n_t_e_r_n_e_t_w_o_r_k _M_a_i_l _R_o_u_t_e_r, No. 9, SMM. |
---|
350 | |
---|
351 | _S_e_n_d_m_a_i_l _I_n_s_t_a_l_l_a_t_i_o_n _a_n_d _O_p_e_r_a_t_i_o_n _G_u_i_d_e, No. 8, SMM. |
---|
352 | |
---|
353 | HHIISSTTOORRYY |
---|
354 | The sseennddmmaaiill command appeared in 4.2BSD. |
---|
355 | |
---|
356 | 4th Berkeley Distribution August 2, 1998 6 |
---|