home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume7 / sendmail.ms < prev    next >
Text File  |  1989-08-05  |  16KB  |  668 lines

  1. Newsgroups: comp.sources.misc
  2. subject: v07i115: Sendmail reference card (troff -ms)
  3. From: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
  4. Reply-To: jim@hoptoad.UUCP (Jim Joyce)
  5.  
  6. Posting-number: Volume 7, Issue 115
  7. Submitted-by: jim@hoptoad.UUCP (Jim Joyce)
  8. Archive-name: sendmail.ms
  9.  
  10. [Jetroff 2.x should be able to handle this unchanged; I'll find out soon,
  11. as I can use this myself.  Other troff postprocessors I don't know.  ++bsa]
  12.  
  13. This is troff-able source for the Sendmail Reference Card
  14. Please do not use this code after September 15, as I will by then
  15. post a new source with gathered suggestions, corrections, etc.
  16. My thanks to Eric Allman, Erik Fair and Eliot Lear for their comments.
  17. Any errors/undocumented Sun-specific things are mine alone.
  18.  
  19. This file is in two parts:
  20.     * the shell script I used to print the card
  21.     * the source for tbl | eroff
  22. The finished card takes up a legal sized page.
  23. My LaserJetII only prints 8 1/2 x 11, so I printed two pages at a time
  24. in landscape mode, 7i page length (-l2:7i);
  25. with page number ordering 6, 7, 8, 1, 2, 3, 4, 5 (make a printer's dummy);
  26. and the -ms macros.  I taped the pages together to make the legal sized card.
  27. The order looks weird, but when folded a` la Z-fold it works fine.
  28. I realize everyone does not have Elan's eroff, or an equivalent package,
  29. and so you may need to print out pages, cut and tape, then copy.
  30.  
  31. If you can't get it to work well enough for you, contact me with
  32. a US mail address and I will send you one paper copy you can reproduce.
  33. Please do not ask me to send multiple copies.
  34. ----end of intro----end of intro----
  35. #! /bin/sh
  36. # This file was wrapped with "dummyshar".  "sh" this file to extract.
  37. # Contents:  print.card sendmail.ms
  38. echo extracting 'print.card'
  39. if test -f 'print.card' -a -z "$1"; then echo Not overwriting 'print.card'; else
  40. sed 's/^X//' << \EOF > 'print.card'
  41. X: # The shell script:
  42. X: # print.card -- print the sendmail ref card
  43. Xtrap 'trap 0; exit 0' 3
  44. Xcat contents | tbl | eroff -l2:7i -Oo6,7,8,1,2,3,4,5 -ms $1
  45. EOF
  46. chars=`wc -c < 'print.card'`
  47. if test $chars !=      152; then echo 'print.card' is $chars characters, should be      152 characters!; fi
  48. fi
  49. echo extracting 'sendmail.ms'
  50. if test -f 'sendmail.ms' -a -z "$1"; then echo Not overwriting 'sendmail.ms'; else
  51. sed 's/^X//' << \EOF > 'sendmail.ms'
  52. X.\"The source for tbl | eroff:
  53. X.\"Put the lines below into a file corresponding to ``contents'' in the script
  54. X.fp 1 H
  55. X.fp 2 HI
  56. X.fp 3 HB
  57. X.bd HI 3
  58. X.po 0i
  59. X.nr PO 0i
  60. X.pl 8.4i  \" Duplex -- with elan fudge
  61. X.ll 3.2i
  62. X.lt 3.2i
  63. X.nr LL 3.2i
  64. X.nr HM .5i
  65. X.nr FM .25i
  66. X.\".ds CH -\fHPanel %-
  67. X.ds CH
  68. X.ft H
  69. X.de Cb
  70. X.    ps 12
  71. X.    ft CB
  72. X..
  73. X.de Ce
  74. X.    ps 0
  75. X.    ft H
  76. X..
  77. X.de Nh
  78. X.    ne 3
  79. X.    ft HB
  80. X.    NH
  81. X.    ft HB
  82. X..
  83. X.LP
  84. X.ce
  85. X.ft HB
  86. X\s14Sendmail Reference Card\s0
  87. X.sp .3i
  88. X.ft HI
  89. X.ce
  90. XJim Joyce
  91. X.sp .2i
  92. X.ce 99
  93. X.ft H
  94. X.nf
  95. XThe Gawain Group
  96. X139 Noe St
  97. XSF, CA 94114
  98. X+1-415/626-7581
  99. X.NH 1
  100. XNotation for this card
  101. X.LP
  102. X.TS
  103. Xl 2 l.
  104. X\s12\f(CBstuff\fH\s10    As it should be typed; examples
  105. X\f(HIItalics\fH    Items you supply
  106. XNormal    Explanation
  107. X.TE
  108. X.Nh
  109. XCommand Line Arguments
  110. X.LP
  111. X.TS
  112. Xlp12fCB 2 lp10w(2.5i).
  113. X-f \s10\f(HIname\fH    Sender's name;
  114. X    ignored unless trusted user
  115. X-r \s10\f(HIname\fH    Obsolete form of \s12\f(CB-f\fH\s0
  116. X-h 9    Set hop count to \s12\f(CB9\fH\s0
  117. X-F \s10\f(HIname\fH    Set full name of sender to \f(HIname\fH
  118. X-n    Do not allow aliasing or forwarding
  119. X-t    Send to everyone in \s12\f(CBTo:,
  120. X    \s12CC:, Bcc\fH\s10 lines;
  121. X    delete \s12\f(CBBcc:\fH\s10 line before sending
  122. X-b\s10\f(HIx\fH    Set operation mode to \f(HIx\fH, as in:
  123. X-bm    Deliver the mail (default)
  124. X-ba    Run in ARPANET mode
  125. X-bs    Speak SMTP
  126. X-bd    Run as a daemon
  127. X-bt    Run in test mode
  128. X-bv    Verify recipients
  129. X-bi    Initialize the alias database
  130. X-bp    Print the mail queue
  131. X-bz    Freeze the configuration file
  132. X-q\s10\f(HI1h\fH    Process queued mail every hour;
  133. X    if no time specified, run once
  134. X-C\s10\f(HIfile\fH    Alternative configuration file
  135. X.bp
  136. X-d \s10\f(HIn\fH    Set debug level to \f(HIn\fH
  137. X-o \s10\f(HIxvalue\fH    Set configuration option \f(HIx\fH to \f(HIvalue\fH
  138. X-M \s10\f(HImsg\fH\(dg    Runs given message ID
  139. X-R \s10\f(HIname\fH\(dg    Run only messages for \f(HIname\fH
  140. X.TE
  141. X.Nh
  142. XConfiguration File Definitions
  143. X.LP
  144. X.ft H
  145. X.TS
  146. Xlp12fCB 2 l.
  147. XD    Define a macro
  148. X    \s12\f(CBDW  SUN.COM\fH\s0
  149. X    \s12\f(CB$W\fH\s0 has the value \s12\f(CBSUN.COM\fH\s0
  150. XC    Classes of tokens to match; no dots in tokens
  151. X    \s12\f(CBCT arpa com edu\fH\s0
  152. X    \s12\f(CBCT us de fr jp\fH\s0
  153. XF    Get definition tokens from named file
  154. X    \s12\f(CBFT filename\fH\s0
  155. X    If \s12\f(CBfilename\fH\s0 contains
  156. X    \s12\f(CBarpa com edu ...\fH\s0
  157. X    \s12\f(CB$T\fH\s0 contains \s12\f(CBarpa com edu ...\fH\s0
  158. XO    Options to sendmail
  159. X    [Zillions; see section \f(HBOptions to Sendmail\fH]
  160. X    \s12\f(CBOQ /var/spool/mqueue\fH\s0
  161. X    Directory to use as queue directory
  162. XH    Header format text to be provided
  163. X    \s12\f(CBH?F?FROM: $q\fH\s0
  164. X    Insert \s12\f(CBFROM: username\fH\s0 for from line
  165. X    Characters between \s12\f(CB?\fH\s0 are mailer flags;
  166. X    see \f(HBM \(em Define mailer\fH.
  167. XT    Trusted users \(em use with caution!
  168. X    \s12\f(CBT daemon root\fH\s0
  169. XP    \s12\f(CBP\fH\s0recedence/priorities for messages
  170. X    \s12\f(CBPfirst-class=0\fH\s0
  171. X    \s12\f(CBPspecial-delivery=100\fH\s0
  172. X    \s12\f(CBPjunk=-100\fH\s0
  173. X.TE
  174. X.Nh
  175. XOptions to Sendmail
  176. X.LP
  177. X.TS
  178. Xlp12fCB 2 lp10fH .
  179. XA\s10\f(HIfile\fH    Use \f(HIfile\fH as alias file.
  180. X.br
  181. X    Default: \f(HIaliases\fH in current directory
  182. Xa\s10\f(HItime\fH    Time to wait for \s12\f(CB@:@\fH\s10 entry
  183. X    before rebuilding the alias database
  184. X.bp
  185. XB\s10\f(HIvalue\fH    Blank substitute; default `` \s14.\s0 ''
  186. Xb\s10\f(HIn\fH    Disallow empty messages
  187. X    to more than n recipients
  188. XC\s10\f(HIn\fH    Remove \f(HIn\fH delivered recipients from queue
  189. Xc    If outgoing mailer marked as expensive,
  190. X    do not connect immediately.
  191. XD    Rebuild alias database if necessary.
  192. Xd\s10\f(HIx\fH    Deliver in mode \f(HIx\fH:
  193. X    \s10\f(HIi\fH \(em interactively/synchronously
  194. X    \s10\f(HIb\fH \(em background/asynchronously
  195. X    \s10\f(HIq\fH \(em queue to deliver during queue run
  196. Xe\s10\f(HIx\fH    Resolve errors via \f(HIx\fH:
  197. X    \s10\f(HIp\fH \(em print error message (default)
  198. X    \s10\f(HIq\fH \(em No messages, just give exit status
  199. X    \s10\f(HIm\fH \(em mail errors back to sender
  200. X    \s10\f(HIw\fH \(em write errors (mail if user not on)
  201. X    \s10\f(HIe\fH \(em mail errors but give zero exit status
  202. XF\s10\f(HIn\fH    Temporary queue file mode, in octal
  203. Xf    Save UNIX-style \f(HBFrom\fH lines at
  204. X    front of headers
  205. Xg\s10\f(HIn\fH    Default group id for mailers is \f(HIn\fH
  206. XH\s10\f(HIfile\fH    Help file for SMTP
  207. Xh\s10\f(HIn\fH    Maximum hop count is \f(HIn\fH; default 17
  208. Xi    Ignore initial dot even if string length is 1
  209. XL\s10\f(HIn\fH    Default log level is \f(HIn\fH
  210. XM\s10\f(HIxvalue\fH    Set macro \f(HIx\fH to \f(HIvalue\fH
  211. X    (Only for command line use)
  212. Xm    T{
  213. X.na
  214. XSend to me even if I am in an alias expansion
  215. XT}
  216. Xo    T{
  217. X.na
  218. XHeaders may be in old format;
  219. X.br
  220. Xbe adaptive
  221. XT}
  222. XP\s10\f(HIname\fH    T{
  223. X.na
  224. XName of local Postmaster.
  225. XIf defined, error messages are sent to this name.
  226. XT}
  227. XQ\s10\f(HIdir\fH    T{
  228. X.na
  229. XUse \s10\f(HIdir\fH as queue directory
  230. XT}
  231. Xq\s10\f(HIlimit\fH    Size limit of messages to be queued
  232. X    under heavy load.  Default is 10,000 bytes.
  233. XR\s10\f(HIserver\fH    Deliver through Remote SMTP server
  234. Xr\s10\f(HItime\fH    Interval for read timeout
  235. XS\s10\f(HIfile\fH    Statistics file
  236. Xs    Instantiate the queue file even if
  237. X    attempting immediate delivery.
  238. X.bp
  239. XT\s10\f(HItime\fH    Set mail queue timeout to \f(HItime\fH
  240. Xu\s10\f(HIn\fH    T{
  241. X.na
  242. XSet default userid to \s10\f(HIn\fH.
  243. XSUID mailers will run suid
  244. Xno matter what is set here.
  245. XT}
  246. Xv    Verbose mode.
  247. XX\s10\f(HIn\fH    Set load average value; default 0
  248. Xx\s10\f(HIn\fH    T{
  249. X.na
  250. XSet load average value for only queueing mail
  251. XT}
  252. XY\s10\f(HIname\fH    T{
  253. X.na
  254. XYellow pages map name;
  255. Xdefault, \f(HImail.aliases\fH
  256. XT}
  257. Xy\s10\f(HIn\fH    T{
  258. X.na
  259. XPenalize messages with \s10\f(HIn\fH bytes-per-recipient
  260. XT}
  261. XZ\s10\f(HIn\fH    T{
  262. X.na
  263. XPenalize messages
  264. Xwith this many bytes-per-delivery attempts
  265. XT}
  266. Xz\s10\f(HIn\fH    T{
  267. X.na
  268. XPenalize messages
  269. Xwith this many bytes-per-class
  270. XT}
  271. X.TE
  272. X.Nh
  273. XM \(em Define mailer
  274. X.LP
  275. XOnly first character of field name is checked
  276. X.TS
  277. Xlp12fCB 2 lp10fH .
  278. XP\s10\f(HIath\fH    Mailer pathname
  279. X    \s12\f(CBP=/bin/mail,\fH\s10
  280. XF\s10\f(HIlags\fH    Mailer Flags
  281. X    \s12\f(CBF=rlsDFMmnP,\fH\s10
  282. X    See \f(HBMailer Flags\fH, below
  283. XS\s10\f(HIender\fH    Rewriting ruleset number
  284. X    \s12\f(CBS=10,\fH\s10
  285. XR\s10\f(HIecipient\fH    Rewriting ruleset number
  286. X    \s12\f(CBR=20,\fH\s10
  287. XA\s10\f(HIrgv\fH    Argument vector to pass to mailer
  288. X    \s12\f(CBA=mail -d $u\fH\s10
  289. XE\s10\f(HIol\fH    End of line string for mailer
  290. XM\s10\f(HIaxsize\fH    Maximum mailer message length
  291. XL\s10\f(HIength\fH    Argv's maximum length
  292. X.TE
  293. X.br
  294. XExample:
  295. X.nf
  296. X.Cb
  297. XMlocal, P=/bin/mail,F=rlsDFMmnP,
  298. X        S=10,R=20,A=mail -d $u
  299. XMprog,  P=/bin/sh,F=lsDFMeuP,
  300. X        S=10,R=20,A=sh -c $u
  301. X.Ce
  302. X.fi
  303. X.bp
  304. X.Nh
  305. XMailer Flags
  306. X.LP
  307. XEach mailer has its own set of mailer flags.
  308. X.TS
  309. Xlp12fCB 2 lp10fH .
  310. XC    T{
  311. X.na
  312. XNames in the header
  313. Xare to have sender's domain added
  314. Xif they do not have an @
  315. Xafter being rewritten by ruleset 3
  316. XT}
  317. XD    Mailer wants a \f(HBDate:\fH header line
  318. XE    Escape \f(HBFrom:\fH with \f(HB>From:\fH
  319. Xe    Expensive mailer; queue mail
  320. XF    Mailer wants a \f(HBFrom:\fH line
  321. Xf    Mailer wants a \f(HB-f \f(HIfrom\fH flag
  322. X    (Only if a network forward operation)
  323. Xh    Preserve uppercase in host names
  324. XL    Limit line lengths as per RFC821
  325. Xl    Mailer is local; final delivery performed
  326. XM    Mailer wants a \f(HBMessage-Id:\fH line
  327. Xm    Can send to multiple users on same host
  328. X    in one transaction.
  329. Xn    Do not insert UNIX-style \f(HBFrom\fH line
  330. XP    Mailer wants a \f(HBReturn-Path:\fH line
  331. Xp    Add local host to SMTP's \f(HBMAIL From:\fH line
  332. Xr    Same as \f(HBf\fH, but sends a -r flag
  333. XS    Do not reset userid before calling mailer
  334. X    (Avoids forged names)
  335. Xs    Strip quotes off name before calling mailer
  336. XU    Mailer wants UNIX-style \f(HBFrom\fH lines
  337. Xu    Preserve uppercase in user names
  338. XX    T{
  339. X.na
  340. XLines beginning with dot will have a dot added
  341. XT}
  342. Xx    Mailer wants a \f(HBFull-Name:\fH line
  343. X.TE
  344. X.KS
  345. X.Nh
  346. XRuleset Numbers
  347. X.LP
  348. X.ft H
  349. X.TS
  350. Xl 2 l.
  351. X3    Puts < > around hostname;
  352. X    internal form.  Always done first
  353. X4    Removes < > from hostname;
  354. X    external form.  Always done last
  355. X0    Returns (protocol,host,user) triple
  356. X1    Handles \s12\f(CBFrom\fH\s0 in header, if anything
  357. X2    Handles \s12\f(CBTo\fH\s0 in header, if anything
  358. X.TE
  359. X.KE
  360. X.KS
  361. X.Nh
  362. XRuleset Sequences
  363. X.LP
  364. X.ft H
  365. X.TS
  366. Xl 2 l.
  367. X\f(HBEnvelope\fH
  368. XRecipient    T{
  369. X.na
  370. X3 - 0 - 4 (4 applied to user name from ruleset 0)
  371. XT}
  372. XSender    3 - 1 - 4
  373. X\f(HBHeader\fH
  374. XRecipient    3 - 2 - \f(HIxx\fH - 4
  375. X    \f(HIxx\fH is ruleset number in R=\f(HIxx\fH
  376. XSender    3 - 1 - \f(HIxx\fH - 4
  377. X    \f(HIxx\fH is ruleset number in S=\f(HIxx\fH
  378. X.TE
  379. X.KE
  380. X.Nh
  381. X\f(HBConditionals and Macros\fH
  382. X.LP
  383. X.vs -1
  384. X.na
  385. XMacros referenced using \s12\f(CB$\s10\f(HIx\fH
  386. X.br
  387. X\(em \s10\f(HIx\fH is a one-letter variable name
  388. X.LP
  389. XConditionals:
  390. X\s12\f(CB$?\s10\f(HIx text\s12\f(CB $| \s10\f(HIother\s12\f(CB $.\fH\s10
  391. X.TS
  392. Xl 2 l.
  393. X\s12\f(CB$?\s10\f(HIx\fH    if macro \f(HIx\fH is set/supplied
  394. X\f(HItext\fH    insert \f(HItext\fH
  395. X\s12\f(CB$|\fH\s10    else (the else clause is not required)
  396. X\s10\f(HIother\fH    insert \f(HIother\fH
  397. X\s12\f(CB$.\fH\s10    end of conditional
  398. X.TE
  399. X.Nh
  400. XSendmail Macros to Define in .cf
  401. X.LP
  402. X.ft H
  403. XLower-case letters reserved for special meanings
  404. X.br
  405. XMust be defined for sendmail:
  406. X.LP
  407. X.TS
  408. Xlp12fCB 2 lp10fH .
  409. Xe    SMTP entry message; printed on SMTP startup
  410. X    (Must begin with $j)
  411. X    \s12\f(CBDe$j Sendmail $v ready at $b\fH\s10
  412. Xj    T{
  413. X.na
  414. XOfficial domain name for this site;
  415. X.br
  416. X\s12\f(CBDj$H
  417. X.br
  418. XDj$H.$D
  419. XT}
  420. Xl    T{
  421. X.na
  422. XFormat of the UNIX ``From'' line
  423. X.br
  424. X\s12\f(CBDlFrom $g $d
  425. XT}
  426. Xn    T{
  427. X.na
  428. XName of the daemon for error messages
  429. X.br
  430. X\s12\f(CBDnMAILER-DAEMON
  431. XT}
  432. Xo    T{
  433. X.na
  434. XSet of ``separators'' in tokens
  435. X.br
  436. X\s12\f(CBDo.:%@!^=/
  437. X.br
  438. X.ft H
  439. X.ps 10
  440. X\(em Beware!  Can be dangerous!
  441. XT}
  442. X.vs +1
  443. X.bp
  444. Xq    T{
  445. X.na
  446. XDefault sender name format;
  447. X.br
  448. X\f(HIMUST\fH be RFC 822 compliant!
  449. X.br
  450. X\s12\f(CBDq$g$?x ($x)$.\fH\s10
  451. X.br
  452. XInsert \f(HIFull Name\fH in parens if defined
  453. XT}
  454. X.\".br
  455. X.\"See \f(HBConditionals and Macros\fH, above
  456. X.TE
  457. X.Nh
  458. XMacros Supplied by Sendmail
  459. X.LP
  460. X.ft H
  461. X.br
  462. X\s10\f(HIReferenced\fH using \f(HI$x\fH
  463. X.br
  464. X\s10\f(HIMatched\fH if in the Left Hand Side (LHS)
  465. X.br
  466. X\s10\f(HIInserted\fH if in the Right Hand Side (RHS)
  467. X.br
  468. XLower-case letters reserved for special meanings
  469. X.TS
  470. Xlp12fCB 2 lfH .
  471. Xa    Origination date, in ARPANET format
  472. Xb    T{
  473. X.na
  474. XCurrent date, in ARPANET format
  475. XT}
  476. Xc    T{
  477. X.na
  478. XHop count
  479. XT}
  480. Xd    T{
  481. X.na
  482. XDate in UNIX (ctime) format
  483. XT}
  484. Xf    T{
  485. X.na
  486. XSender (from) name
  487. XT}
  488. Xg    T{
  489. X.na
  490. XSender name relative to recipient
  491. XT}
  492. Xh    T{
  493. X.na
  494. XRecipient host
  495. XT}
  496. Xi    T{
  497. X.na
  498. XQueue ID
  499. XT}
  500. Xm    T{
  501. X.na
  502. XDomain name
  503. XT}
  504. Xp    T{
  505. X.na
  506. XSendmail's process ID
  507. XT}
  508. Xr    T{
  509. X.na
  510. XProtocol used
  511. XT}
  512. Xs    T{
  513. X.na
  514. XSender's host name
  515. XT}
  516. Xt    T{
  517. X.na
  518. XNumeric representation of current time
  519. XT}
  520. Xu    T{
  521. X.na
  522. XRecipient user
  523. XT}
  524. Xv    T{
  525. X.na
  526. XVersion number of sendmail
  527. XT}
  528. Xw    T{
  529. X.na
  530. XHostname of this site
  531. XT}
  532. Xx    T{
  533. X.na
  534. XFull name of the sender
  535. XT}
  536. Xz    T{
  537. X.na
  538. XHome directory of the recipient
  539. XT}
  540. X.TE
  541. X.sp
  542. X.TS
  543. Xbox;
  544. Xc
  545. Xlw(3i).
  546. X\f(HBNOTE\fH
  547. XT{
  548. X.na
  549. XItems marked with \(dg,
  550. XYellow Pages references and
  551. Xany ``%''-related items apply
  552. Xspecifically to SUN OS-derived systems.
  553. XT}
  554. XT{
  555. X.na
  556. XPortions exerpted from
  557. X.HI
  558. XSendmail Installation and Operations Guide,
  559. X.H
  560. Xby Eric P. Allman.
  561. XT}
  562. X.TE
  563. X.KS
  564. X.Nh
  565. XThe Left Hand Side (LHS)
  566. X.br
  567. XMetasymbols for Substitutions
  568. X.LP
  569. X.ft H
  570. X.TS
  571. Xlp12fCB 2 lp10w(2.8i).
  572. X$*    Match zero or more tokens
  573. X$+    Match one or more tokens
  574. X$-    Match exactly one token
  575. X$=\s10\f(HIx\fH    Match any string in class \f(HIx\fH
  576. X$~\s10\f(HIx\fH    Any token NOT in class \f(HIx\fH
  577. X$%\s10\f(HIx\fH    Any token in yp map $\f(HIx\fH
  578. X$%y    Any hostname in \f(HIhosts.byname\fH
  579. X    or \f(HI/etc/hosts\fH if not running YP
  580. X$!\s10\f(HIx\fP    Any token NOT in yp map $\f(HIx\fH
  581. X$\s10\f(HIx\fP    Match macro \f(HIx\fH
  582. X.TE
  583. X.KE
  584. X.Nh
  585. X.na
  586. XThe Right Hand Side (RHS)
  587. X.br
  588. XMetasymbols for Substitutions
  589. X.LP
  590. X.ft H
  591. X.\"Match 0 or more tokens; pick off first one and run ruleset 0 on it
  592. X.TS
  593. Xlp12fCB 2 lp10fH .
  594. X$\s10\f(HIx\fH    T{
  595. X.na
  596. XExpand macro \f(HIx\fH
  597. XT}
  598. X$\s10\f(HIn\fH    T{
  599. X.na
  600. XSubstitute token \f(HIn\fH from LHS;
  601. X.br
  602. XEx: $1 is first thing matched
  603. XT}
  604. X$>\s10\f(HIn\fH    Remainder of line is processed
  605. X    & passed to ruleset \f(HIn\fH
  606. X$@    T{
  607. X.na
  608. XReturn result of this action;
  609. Xonly at the beginning of the line
  610. XT}
  611. X$@\s10\f(HIhost\fH    T{
  612. X.na
  613. XSpecify \s10\f(HIhost\fH*
  614. X.br
  615. X(+prefix? ruleset return)
  616. XT}
  617. X$#\s10\f(HImailer\fH    T{
  618. X.na
  619. XResolve to \s10\f(HImailer\fH*
  620. X.br
  621. X(Only to be used in ruleset 0)
  622. XT}
  623. X$:    T{
  624. X.na
  625. XApply this action exactly once
  626. X.br
  627. X\(em DON'T iterate
  628. X.br
  629. XOnly at beginning of the line
  630. XT}
  631. X$:\s10\f(HIuser\fH    T{
  632. X.na
  633. XSpecify \s10\f(HIuser\fH*
  634. X.br
  635. X(+prefix rule limit)
  636. XT}
  637. X$[\s10\f(HIhost\fP\s12$]    T{
  638. X.na
  639. XMap to primary hostname
  640. XT}
  641. X${\s10\f(HIx name\s12\f(CB$}    T{
  642. X.na
  643. XMap \s10\f(HIname\fP through yp map $\f(HIx\fH
  644. XT}
  645. X.TE
  646. X* Realistically, a 3-tuple:
  647. X.br
  648. X\s12\f(CB$#\s10\f(HImailer\s12\fP$@\s10\f(HIhost\s12\fP$:\f(HI\s10user\s12\fP\fH\s0
  649. X.LP
  650. X.sp
  651. X.ps 8
  652. X.vs 10
  653. X.nr PS 8
  654. X.nr VS 10
  655. X.ft H
  656. X\(co 1989 by Jim Joyce, all rights reserved
  657. X.br
  658. XPermission is hereby granted to reproduce this material
  659. Xso long as this copyright notice is printed legibly and intact.
  660. XThe Gawain Group, 139 Noe St, SF 94114
  661. X+1-415/626-7581
  662. EOF
  663. chars=`wc -c < 'sendmail.ms'`
  664. if test $chars !=    12483; then echo 'sendmail.ms' is $chars characters, should be    12483 characters!; fi
  665. fi
  666. exit 0
  667.  
  668.