home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / compsrcs / misc / volume07 / sendmail.ms < prev    next >
Encoding:
Internet Message Format  |  1991-08-27  |  15.6 KB

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