sendmail.8
上传用户:xu_441
上传日期:2007-01-04
资源大小:1640k
文件大小:15k
源码类别:

Email客户端

开发平台:

Unix_Linux

  1. ." Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers.
  2. ."      All rights reserved.
  3. ." Copyright (c) 1983, 1997 Eric P. Allman.  All rights reserved.
  4. ." Copyright (c) 1988, 1991, 1993
  5. ."     The Regents of the University of California.  All rights reserved.
  6. ."
  7. ." By using this file, you agree to the terms and conditions set
  8. ." forth in the LICENSE file which can be found at the top level of
  9. ." the sendmail distribution.
  10. ."
  11. ."
  12. ."     $Id: sendmail.8,v 8.34 1999/12/03 23:39:38 ca Exp $
  13. ."
  14. .TH SENDMAIL 8 "$Date: 1999/12/03 23:39:38 $"
  15. .SH NAME
  16. .B sendmail
  17. - an electronic mail transport agent
  18. .SH SYNOPSIS
  19. .B sendmail
  20. .RI [ flags "] [" "address ..." ]
  21. .br
  22. .B newaliases
  23. .br
  24. .B mailq
  25. .RB [ -v ]
  26. .br
  27. .B hoststat
  28. .br
  29. .B purgestat
  30. .br
  31. .B smtpd
  32. .SH DESCRIPTION
  33. .B Sendmail
  34. sends a message to one or more
  35. .I recipients,
  36. routing the message over whatever networks 
  37. are necessary.
  38. .B Sendmail
  39. does internetwork forwarding as necessary 
  40. to deliver the message to the correct place.
  41. .PP
  42. .B Sendmail
  43. is not intended as a user interface routine; 
  44. other programs provide user-friendly 
  45. front ends;
  46. .B sendmail
  47. is used only to deliver pre-formatted messages.
  48. .PP
  49. With no flags,
  50. .B sendmail
  51. reads its standard input 
  52. up to an end-of-file 
  53. or a line consisting only of a single dot 
  54. and sends a copy of the message found there
  55. to all of the addresses listed.  
  56. It determines the network(s) to use 
  57. based on the syntax and contents of the addresses.
  58. .PP
  59. Local addresses are looked up in a file 
  60. and aliased appropriately.
  61. Aliasing can be prevented by preceding the address 
  62. with a backslash.
  63. Beginning with 8.10, the sender is included in any alias 
  64. expansions, e.g., 
  65. if `john' sends to `group', 
  66. and `group' includes `john' in the expansion, 
  67. then the letter will also be delivered to `john'.
  68. .SS Parameters
  69. .TP
  70. .BI -B type
  71. Set the body type to
  72. .IR type .
  73. Current legal values are 
  74. 7BIT 
  75. or  
  76. 8BITMIME.
  77. .TP
  78. .B -ba
  79. Go into 
  80. ARPANET 
  81. mode.  All input lines must end with a CR-LF, 
  82. and all messages will be generated with a CR-LF at the end.  
  83. Also, 
  84. the ``From:'' and ``Sender:'' 
  85. fields are examined for the name of the sender.
  86. .TP
  87. .B -bd
  88. Run as a daemon.  This requires Berkeley 
  89. IPC.
  90. .B Sendmail
  91. will fork and run in background 
  92. listening on socket 25 for incoming
  93. SMTP 
  94. connections.  
  95. This is normally run from 
  96. /etc/rc.
  97. .TP
  98. .B -bD
  99. Same as
  100. .B -bd
  101. except runs in foreground.
  102. .TP
  103. .B -bh
  104. Print the persistent host status database.
  105. .TP
  106. .B -bH
  107. Purge expired entries from the persistent host status database.
  108. .TP
  109. .B -bi
  110. Initialize the alias database.
  111. .TP
  112. .B -bm
  113. Deliver mail in the usual way (default).
  114. .TP
  115. .B -bp
  116. Print a listing of the queue.
  117. .TP
  118. .B -bs
  119. Use the 
  120. SMTP 
  121. protocol as described in 
  122. RFC821 
  123. on standard input and output.  
  124. This flag implies all the operations of the
  125. .B -ba
  126. flag that are compatible with 
  127. SMTP.
  128. .TP
  129. .B -bt
  130. Run in address test mode.  
  131. This mode reads addresses and shows the steps in parsing; 
  132. it is used for debugging configuration tables.
  133. .TP
  134. .B -bv
  135. Verify names only - do not try to collect or deliver a message.
  136. Verify mode is normally used for validating 
  137. users or mailing lists.
  138. .TP
  139. .BI -C file
  140. Use alternate configuration file.
  141. .B Sendmail
  142. refuses to run as root if an alternate configuration file is specified.
  143. .TP
  144. .BI -d X
  145. Set debugging value to
  146. .IR X .
  147. .ne 1i
  148. .TP
  149. .BI -F fullname
  150. Set the full name of the sender.
  151. .TP
  152. .BI -f name
  153. Sets the name of the ``from'' person 
  154. (i.e., the envelope sender of the mail).
  155. .B -f
  156. should only be used 
  157. by ``trusted'' users 
  158. (normally
  159. .IR root ", " daemon ,
  160. and
  161. .IR network )
  162. or if the person you are trying to become 
  163. is the same as the person you are.
  164. Otherwise,
  165. an X-Authentication-Warning header
  166. will be added to the message.
  167. .TP
  168. .BI -h N
  169. Set the hop count to
  170. .IR N .
  171. The hop count is incremented every time the mail is 
  172. processed.
  173. When it reaches a limit, 
  174. the mail is returned with an error message,
  175. the victim of an aliasing loop.  
  176. If not specified, 
  177. ``Received:'' lines in the message are counted.
  178. .TP
  179. .B -i
  180. Ignore dots alone on lines by themselves in incoming messages.
  181. This should be set if you are reading data from a file.
  182. .TP
  183. .BI "-L " tag
  184. Set the identifier used in syslog messages to the supplied
  185. .IR tag .
  186. .TP
  187. .BI "-N " dsn
  188. Set delivery status notification conditions to
  189. .IR dsn ,
  190. which can be 
  191. `never' 
  192. for no notifications 
  193. or a comma separated list of the values 
  194. `failure' 
  195. to be notified if delivery failed, 
  196. `delay'
  197. to be notified if delivery is delayed, and 
  198. `success' 
  199. to be notified when the message is successfully delivered.
  200. .TP
  201. .B -n
  202. Don't do aliasing.
  203. .TP
  204. fB-OfP fIoptionfR=fIvaluefR 
  205. Set option
  206. .I option
  207. to the specified
  208. .IR value .
  209. This form uses long names.  See below for more details.
  210. .TP
  211. .BI -o "x value"
  212. Set option
  213. .I x
  214. to the specified
  215. .IR value .
  216. This form uses single character names only.  
  217. The short names are not described in this manual page; 
  218. see the
  219. .I "Sendmail Installation and Operation Guide"
  220. for details.
  221. .TP
  222. .BI -p protocol
  223. Set the name of the protocol used to receive the message.  
  224. This can be a simple protocol name such as ``UUCP'' 
  225. or a protocol and hostname, such as ``UUCP:ucbvax''.
  226. .TP
  227. fB-qfR[fItimefR] 
  228. Processed saved messages in the queue at given intervals.  
  229. If
  230. .I time
  231. is omitted, process the queue once.
  232. .I Time
  233. is given as a tagged number, 
  234. with 
  235. `s' 
  236. being seconds, 
  237. `m' 
  238. being minutes, 
  239. `h' 
  240. being hours, 
  241. `d' 
  242. being days, 
  243. and 
  244. `w' 
  245. being weeks.
  246. For example, 
  247. `-q1h30m' 
  248. or 
  249. `-q90m' 
  250. would both set the timeout to one hour thirty minutes.
  251. If
  252. .I time
  253. is specified,
  254. .B sendmail
  255. will run in the background.  
  256. This option can be used safely with
  257. .BR -bd .
  258. .TP
  259. .BI -qI substr
  260. Limit processed jobs to those containing
  261. .I substr
  262. as a substring of the queue id.
  263. .TP
  264. .BI -qR substr
  265. Limit processed jobs to those containing
  266. .I substr
  267. as a substring of one of the recipients.
  268. .TP
  269. .BI -qS substr
  270. Limit processed jobs to those containing
  271. .I substr
  272. as a substring of the sender.
  273. .TP
  274. .BI "-R " return
  275. Set the amount of the message to be returned 
  276. if the message bounces.
  277. The
  278. .I return
  279. parameter can be 
  280. `full' 
  281. to return the entire message or 
  282. `hdrs' 
  283. to return only the headers.  
  284. In the latter case also local bounces return only the headers.
  285. .TP
  286. .BI -r name
  287. An alternate and obsolete form of the
  288. .B -f
  289. flag.
  290. .TP
  291. .B -t
  292. Read message for recipients.  
  293. To:, Cc:, and Bcc: lines will be scanned for recipient addresses.  
  294. The Bcc: line will be deleted before transmission.
  295. .TP
  296. .B -U
  297. Initial (user) submission.  This should
  298. .I always
  299. be set when called from a user agent such as
  300. .B Mail
  301. or
  302. .B exmh
  303. and
  304. .I never
  305. be set when called by a network delivery agent such as
  306. .BR rmail .
  307. .TP
  308. .BI "-V " envid
  309. Set the original envelope id.  
  310. This is propagated across SMTP to servers that support DSNs 
  311. and is returned in DSN-compliant error messages.
  312. .TP
  313. .B -v
  314. Go into verbose mode.  
  315. Alias expansions will be announced, etc.
  316. .TP
  317. .BI "-X " logfile
  318. Log all traffic in and out of mailers in the indicated log file.
  319. This should only be used as a last resort 
  320. for debugging mailer bugs.  
  321. It will log a lot of data very quickly.
  322. .TP
  323. .B --
  324. Stop processing command flags and use the rest of the arguments as
  325. addresses.
  326. .SS Options
  327. There are also a number of processing options that may be set.
  328. Normally these will only be used by a system administrator.  
  329. Options may be set either on the command line 
  330. using the
  331. .B -o
  332. flag (for short names), the
  333. .B -O
  334. flag (for long names), 
  335. or in the configuration file.  
  336. This is a partial list limited to those options that are likely to be useful
  337. on the command line 
  338. and only shows the long names; 
  339. for a complete list (and details), consult the
  340. .IR "Sendmail Installation and Operation Guide" .
  341. The options are:
  342. .TP
  343. .RI AliasFile= file
  344. Use alternate alias file.
  345. .TP
  346. HoldExpensive 
  347. On mailers that are considered ``expensive'' to connect to, 
  348. don't initiate immediate connection.  
  349. This requires queueing.
  350. .TP
  351. .RI CheckpointInterval= N
  352. Checkpoint the queue file after every
  353. .I N
  354. successful deliveries (default 10).  
  355. This avoids excessive duplicate deliveries 
  356. when sending to long mailing lists 
  357. interrupted by system crashes.
  358. .ne 1i
  359. .TP
  360. .RI DeliveryMode= x
  361. Set the delivery mode to
  362. .IR x .
  363. Delivery modes are 
  364. `i' 
  365. for interactive (synchronous) delivery, 
  366. `b'
  367. for background (asynchronous) delivery, 
  368. `q' 
  369. for queue only - i.e.,
  370. actual delivery is done the next time the queue is run, and 
  371. `d'
  372. for deferred - the same as 
  373. `q' 
  374. except that database lookups for maps which have set the -D option
  375. (default for the host map) are avoided.
  376. .TP
  377. .RI ErrorMode= x
  378. Set error processing to mode
  379. .IR x .
  380. Valid modes are 
  381. `m' 
  382. to mail back the error message, 
  383. `w' 
  384. to ``write''
  385. back the error message 
  386. (or mail it back if the sender is not logged in), 
  387. `p' 
  388. to print the errors on the terminal 
  389. (default), 
  390. `q' 
  391. to throw away error messages 
  392. (only exit status is returned), 
  393. and 
  394. `e'
  395. to do special processing for the BerkNet.  
  396. If the text of the message is not mailed back 
  397. by 
  398. modes
  399. `m'
  400. or
  401. `w'
  402. and if the sender is local to this machine, 
  403. a copy of the message is appended to the file
  404. .I dead.letter
  405. in the sender's home directory.
  406. .TP
  407. SaveFromLine
  408. Save
  409. UNIX-style
  410. From lines at the front of messages.
  411. .TP
  412. .RI MaxHopCount= N
  413. The maximum number of times a message is allowed to ``hop'' 
  414. before we decide it is in a loop.
  415. .TP
  416. IgnoreDots
  417. Do not take dots on a line by themselves 
  418. as a message terminator.
  419. .TP
  420. SendMimeErrors
  421. Send error messages in MIME format.  
  422. If not set, the DSN (Delivery Status Notification) SMTP extension 
  423. is disabled.
  424. .TP
  425. .RI ConnectionCacheTimeout= timeout
  426. Set connection cache timeout.
  427. .TP
  428. .RI ConnectionCacheSize= N
  429. Set connection cache size.
  430. .TP
  431. .RI LogLevel= n
  432. The log level.
  433. .TP
  434. .RI MeToo= False
  435. Don't send to ``me'' (the sender) if I am in an alias expansion.
  436. .TP
  437. CheckAliases
  438. Validate the right hand side of aliases during a
  439. newaliases(1)
  440. command.
  441. .TP
  442. OldStyleHeaders
  443. If set, this message may have 
  444. old style headers.  
  445. If not set, 
  446. this message is guaranteed to have new style headers 
  447. (i.e., commas instead of spaces between addresses).  
  448. If set, an adaptive algorithm is used that will correctly 
  449. determine the header format in most cases.
  450. .TP
  451. .RI QueueDirectory= queuedir
  452. Select the directory in which to queue messages.
  453. .TP
  454. .RI StatusFile= file
  455. Save statistics in the named file.
  456. .TP
  457. .RI Timeout.queuereturn= time
  458. Set the timeout on undelivered messages in the queue to the specified time.  
  459. After delivery has failed 
  460. (e.g., because of a host being down) 
  461. for this amount of time, 
  462. failed messages will be returned to the sender.  
  463. The default is five days.
  464. .TP
  465. .RI UserDatabaseSpec= userdatabase
  466. If set, a user database is consulted to get forwarding information.
  467. You can consider this an adjunct to the aliasing mechanism, 
  468. except that the database is intended to be distributed; 
  469. aliases are local to a particular host.  
  470. This may not be available if your sendmail does not have the
  471. USERDB
  472. option compiled in.
  473. .TP
  474. ForkEachJob
  475. Fork each job during queue runs.  
  476. May be convenient on memory-poor machines.
  477. .TP
  478. SevenBitInput
  479. Strip incoming messages to seven bits.
  480. .TP
  481. .RI EightBitMode= mode
  482. Set the handling of eight bit input to seven bit destinations to
  483. .IR mode :
  484. m
  485. (mimefy) will convert to seven-bit MIME format,
  486. p
  487. (pass) will pass it as eight bits (but violates protocols), 
  488. and
  489. s
  490. (strict) will bounce the message.
  491. .TP
  492. .RI MinQueueAge= timeout
  493. Sets how long a job must ferment in the queue between attempts to send it.
  494. .TP
  495. .RI DefaultCharSet= charset
  496. Sets the default character set used to label 8-bit data 
  497. that is not otherwise labelled.
  498. .TP
  499. .RI DialDelay= sleeptime
  500. If opening a connection fails, 
  501. sleep for
  502. .I sleeptime
  503. seconds and try again.  
  504. Useful on dial-on-demand sites.
  505. .TP
  506. .RI NoRecipientAction= action
  507. Set the behaviour when there are no recipient headers (To:, Cc: or
  508. Bcc:) in the message to
  509. .IR action :
  510. none
  511. leaves the message unchanged,
  512. add-to
  513. adds a To: header with the envelope recipients,
  514. add-apparently-to
  515. adds an Apparently-To: header with the envelope recipients,
  516. add-bcc
  517. adds an empty Bcc: header, and
  518. add-to-undisclosed
  519. adds a header reading
  520. `To: undisclosed-recipients:;'.
  521. .TP
  522. .RI MaxDaemonChildren= N
  523. Sets the maximum number of children that an incoming SMTP daemon
  524. will allow to spawn at any time to
  525. .IR N .
  526. .TP
  527. .RI ConnectionRateThrottle= N
  528. Sets the maximum number of connections per second to the SMTP port to
  529. .IR N .
  530. .PP
  531. In aliases, 
  532. the first character of a name may be 
  533. a vertical bar to cause interpretation of 
  534. the rest of the name as a command 
  535. to pipe the mail to.  
  536. It may be necessary to quote the name 
  537. to keep
  538. .B sendmail
  539. from suppressing the blanks from between arguments. 
  540. For example, a common alias is:
  541. .IP
  542. msgs: "|/usr/bin/msgs -s"
  543. .PP
  544. Aliases may also have the syntax
  545. .RI ``:include: filename ''
  546. to ask
  547. .B sendmail
  548. to read the named file for a list of recipients.  
  549. For example, an alias such as:
  550. .IP
  551. poets: ":include:/usr/local/lib/poets.list"
  552. .PP
  553. would read
  554. .I /usr/local/lib/poets.list
  555. for the list of addresses making up the group.
  556. .PP
  557. .B Sendmail
  558. returns an exit status 
  559. describing what it did.  
  560. The codes are defined in
  561. .RI < sysexits.h >:
  562. .TP
  563. EX_OK
  564. Successful completion on all addresses.
  565. .TP
  566. EX_NOUSER
  567. User name not recognized.
  568. .TP
  569. EX_UNAVAILABLE
  570. Catchall meaning necessary resources 
  571. were not available.
  572. .TP
  573. EX_SYNTAX
  574. Syntax error in address.
  575. .TP
  576. EX_SOFTWARE
  577. Internal software error, 
  578. including bad arguments.
  579. .TP
  580. EX_OSERR
  581. Temporary operating system error, 
  582. such as
  583. ``cannot fork''.
  584. .TP
  585. EX_NOHOST
  586. Host name not recognized.
  587. .TP
  588. EX_TEMPFAIL
  589. Message could not be sent immediately, 
  590. but was queued.
  591. .PP
  592. If invoked as
  593. .BR newaliases ,
  594. .B sendmail
  595. will rebuild the alias database.  If invoked as
  596. .BR mailq ,
  597. .B sendmail
  598. will print the contents of the mail queue.
  599. If invoked as
  600. .BR hoststat ,
  601. .B sendmail
  602. will print the persistent host status database.
  603. If invoked as
  604. .BR purgestat ,
  605. .B sendmail
  606. will purge expired entries from the persistent host status database.
  607. If invoked as
  608. .BR smtpd ,
  609. .B sendmail
  610. will act as a daemon, as if the
  611. .B -bd
  612. option were specified.
  613. .SH NOTES
  614. .B sendmail
  615. often gets blamed for many problems
  616. that are actually the result of other problems,
  617. such as overly permissive modes on directories.
  618. For this reason,
  619. .B sendmail
  620. checks the modes on system directories and files
  621. to determine if they can be trusted.
  622. Although these checks can be turned off
  623. and your system security reduced by setting the
  624. .BR DontBlameSendmail
  625. option,
  626. the permission problems should be fixed.
  627. For more information, see:
  628. .I http://www.sendmail.org/tips/DontBlameSendmail.html
  629. .SH FILES
  630. Except for the file
  631. .I /etc/mail/sendmail.cf
  632. itself the following pathnames are all specified in
  633. .IR /etc/mail/sendmail.cf .
  634. Thus, 
  635. these values are only approximations.
  636. .PP
  637. .TP
  638.  /etc/mail/aliases
  639. raw data for alias names
  640. .TP
  641.  /etc/mail/aliases.db
  642. data base of alias names
  643. .TP
  644.  /etc/mail/sendmail.cf
  645. configuration file
  646. .TP
  647.  /etc/mail/helpfile
  648. help file
  649. .TP
  650.  /etc/mail/statistics
  651. collected statistics
  652. .TP
  653.  /var/spool/mqueue/*
  654. temp files
  655. .SH SEE ALSO
  656. binmail(1),
  657. mail(1),
  658. rmail(1),
  659. syslog(3),
  660. aliases(5),
  661. mailaddr(7),
  662. rc(8)
  663. .PP
  664. DARPA 
  665. Internet Request For Comments
  666. .IR RFC819 ,
  667. .IR RFC821 ,
  668. .IR RFC822 .
  669. .IR "Sendmail - An Internetwork Mail Router" ,
  670. No. 9, SMM.
  671. .IR "Sendmail Installation and Operation Guide" ,
  672. No. 8, SMM.
  673. .PP
  674. http://www.sendmail.org/
  675. .SH HISTORY
  676. The
  677. .B sendmail
  678. command appeared in
  679. 4.2BSD.