home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 12: Textmags & Docs / nf_archive_12.iso / MAGS / TEXTMAGS / ATARI16 / INFO91.ZIP / INFO91 / MAILSERV.TXT < prev   
Text File  |  1997-04-16  |  23KB  |  554 lines

  1.                           Using MAIL-SERVER
  2.                           -----------------
  3.  
  4.                                   by
  5.  
  6.                            Adrian F. Clark
  7.                            (18th May 1988)
  8.  
  9.                   Revised by Brian {Hamilton Kelly}
  10.                          (18th October 1990)
  11.  
  12. For network users who can send mail but not  transfer files, accessing
  13. remote archives is a problem.  The  conventional way to  do this is to
  14. use `mail servers'  on the machines holding  the archives.   These are
  15. programs which read mail messages directed  to  a specific username on
  16. the archive machine, with  the message consisting  of commands  to the
  17. mail  server.  The  server processes the   commands  which are usually
  18. requests to send files to the requestor as mail messages.
  19.  
  20. The mail server described  here is intended  for  use on VAX computers
  21. running   the VMS  operating   system.  It  accepts  several commands,
  22. described in the  following  sections.  In each  case, the commands to
  23. the server are specified in the body  of  the mail message.  This is a
  24. little  different  from  many other mail  servers, which   require the
  25. command to be in the `subject' field of the mail message.
  26.  
  27.  
  28. Where is the TeX Archive Mail Server?
  29. -------------------------------------
  30.  
  31. The TeX  archive's mail server is accessed  by sending a mail request,
  32. containing ONE valid MAIL-SERVER command, to the JANET user
  33.  
  34.                        TEXSERVER@UK.AC.TEX
  35.  
  36. (From outside the  UK JANET community,  it may be necessary to specify
  37. this as TEXSERVER@TEX.AC.UK or even as TEXSERVER%TEX.AC.UK@<gateway>.)
  38.  
  39. Note that MAIL-SERVER operates without any  operator interaction: your
  40. mail is never seen by human  eyes (unless  the  archive  maintainer is
  41. deliberately doing so), so it is  essential that you get your requests
  42. right. INVALID REQUESTS ARE SIMPLY IGNORED!
  43.  
  44.  
  45. Note
  46. ----
  47.  
  48. There  is currently one  restriction  on the  use of MAIL-SERVER:  the
  49. /COMPRESS and   /DECOMPRESS qualifiers produce compressed files  which
  50. are readable only under VMS.  This is  because the author has not been
  51. able to trace a version  of the Lempel-Ziv compression software  which
  52. runs under VMS and  produces  files  readable under Unix. If anyone is
  53. able to supply such software, the author would be eternally grateful.
  54.  
  55. Format of TeXserver Requests
  56. ----------------------------
  57.  
  58. The  TeXserver  used to require  that  messages  be sent in a peculiar
  59. format which contained the following sequence of records:
  60.  
  61. 1) Any number of lines of text, which would be ignored entirely.
  62. 2) A line starting with three hyphens: remaining text on this line was
  63.    ignored.
  64. 3) Your e-mail address, as seen by Aston.  This had to include any
  65.    necessary gateway explicitly.
  66. 4) The command for interpretation by the server.
  67.  
  68. This old format can still be used.  However, so many users had so much
  69. trouble  in  specifying  their  return  address,  that  we  have   now
  70. implemented a more intelligent front-end.  In this new message syntax,
  71. you must provide  ONLY  the TeXserver command that you want  executed;
  72. however,  this must appear as the FIRST non-blank line of your message
  73. (after ignoring any RFC-822 headers, etc., inserted by your mailer and
  74. those through which the message reaches Aston).
  75.  
  76. Sometimes  users  want  to specify  a different  return route  for the
  77. information being mailed to them; with the old format, the appropriate
  78. route was merely included on the line after the hyphens.  With the new
  79. format, see the description of the PATH command below.
  80.  
  81. Whenever you send a request to  TeXserver, this front-end examines it,
  82. and will send you a ``receipt'' which  will inform  you as  to whether
  83. your request  was valid or not.   The receipt will be sent back to the
  84. address provided to TeXserver by the incoming mailer: if you don't get
  85. a receipt (or anything else), it may be that Aston  is not  authorized
  86. to send traffic to your site.  For example, traffic to sites connected
  87. to the  UK-PSS  network would have to pass through one of the gateways
  88. between  Janet and PSS,  for which Aston would have to pay real money.
  89. You  may wish to  consider  routing  your  traffic  through one of the
  90. sites,  such as  UK.AC.UKC which  can  handle such commercial traffic,
  91. either by  sending your  requests via that site, or by specifying them
  92. in a PATH command (see below).
  93.  
  94. Valid requests will then  be queued for processing by a separate batch
  95. job: depending upon how many other jobs are  ahead of you in the queue
  96. (and their sizes) this may take between one and twelve hours.
  97.  
  98. Getting Help
  99. ------------
  100.  
  101. This help message can be acquired  by sending the following message to
  102. MAIL-SERVER:
  103.  
  104.    HELP
  105.    ignored-text
  106.  
  107. The  FIRST  non-blank  line  should  contain only the word  `HELP' (or
  108. `HELP'  with a language qualifier --- see below),  specified in lower,
  109. UPPER or MiXeD cases.  Any subsequent lines are ignored.
  110.  
  111. This help message is also available  in a variety of  other languages.
  112. The appropriate language  version  is specified   simply  by adding  a
  113. `command  qualifier' to   the HELP  command---so that,  for   example,
  114. `HELP/DANISH' or `HELP/DANSK' will select the  Danish-language version
  115. of the help text.  The following qualifiers are currently supported:
  116.  
  117.    /DANISH  or /DANSK
  118.    /DUTCH   or /NL or /NEDERLANDS
  119.    /FRENCH  or /FRANCAIS
  120.    /GERMAN  or /DEUTSCH
  121.    /ITALIAN or /ITALIANO
  122.    /SPANISH or /ESPAGNOL
  123.    /SWEDISH or /SWEDE
  124.  
  125. You can truncate the qualifier  to the  point of uniqueness,  so  that
  126. `HELP/FRE'  selects French and `HELP/DE' German.  But do so carefully,
  127. for   MAIL-SERVER  will simply    ignore ambiguous  commands  such  as
  128. `HELP/FR'.  And make sure you spell the qualifier correctly!
  129.  
  130. If you requested  HELP  in a language other than English, but received
  131. this instead,  it's because we  haven't yet got a translation into the
  132. requested  language.   Perhaps  you'd  care  to  consider  making  the
  133. translation  yourself,  and mailing it to  <rmcs_tex@uk.ac.tex>.  Your
  134. contribution will receive acknowledgement, of course.
  135.  
  136. It  is well worth  transferring the help  text to yourself  as a first
  137. experiment of the system; this will ensure that  you understand how to
  138. format messages  for MAIL-SERVER and  to specify  network addresses on
  139. VAX/VMS.
  140.  
  141.  
  142. Generating Directory Listings
  143. -----------------------------
  144.  
  145. You can  acquire a directory  listing of (a  part of) the   archive by
  146. sending the following message to MAIL-SERVER:
  147.  
  148.    DIRECTORY directory-specifier
  149.    ignored-text
  150.  
  151. The  `DIRECTORY'  command,  which  can be  specified  in any  case and
  152. truncated to  `DIR',  should be given a directory specification as its
  153. argument,  conforming to the VAX/VMS directory syntax (see below).  If
  154. omitted, a listing of the directory [TEX-ARCHIVE] is returned.
  155.  
  156. Normally, the files listed by the DIRECTORY command can be used as the
  157. basis of a  `FILES' command   (described in  a later section),   which
  158. requests  files to  be  transferred.   VMS  wizards can, however,  put
  159. qualifiers to  the DCL  `DIRECTORY' command *following*  the argument.
  160. The most useful one is  probably `/SIZE', which  returns the file size
  161. in units of 512-byte blocks.   Note  that  to use  qualifiers requires
  162. that you provide a  directory-specifier, even if you want a listing of
  163. [TEX-ARCHIVE] itself.
  164.  
  165. To make  full use of the  `DIRECTORY' command, you  need to know about
  166. VMS filenames.   Firstly, a filename   consists  of three  parts,  the
  167. *name*  itself, the *extension* (file-type)  and the *version number*,
  168. specified as
  169.  
  170.                         name.extension;version
  171.  
  172. Both  the name  and extension   may  be up  to   39  characters  each,
  173. consisting of alphanumerics, dollar, underscore and hyphen.  Upper and
  174. lower case letters are not distinguished.  Note, however,  that `name'
  175. is not the same  as `name.', since   MAIL-SERVER (and the  VMS mailer)
  176. applies a default extension to the former but not to  the  latter.  If
  177. the version   number  is   omitted   (in which  case    the semi-colon
  178. punctuation is not required), VMS   automagically selects the  highest
  179. (most recent).
  180.  
  181. Files, of  course, reside  in directories.   These  are   specified in
  182. square   brackets.   Like  Unix  and  many  other operating   systems,
  183. directories under VMS are hierachical.  Sub-directories are specified,
  184. within the square brackets, following  the parent  directory name  and
  185. separated by periods.  Hence,
  186.  
  187.                      [TEX-ARCHIVE.V_PUBLIC.VV-PUBLIC]
  188.  
  189. is a valid directory name and
  190.  
  191.               [TEX-ARCHIVE.V_PUBLIC.VV-PUBLIC]PRIVATE.TXT;42
  192.  
  193. a file within it.
  194.  
  195. Of  course,   directories  reside  on   discs  and discs   on nodes on
  196. networks...but that is getting needlessly complicated.
  197.  
  198. The other thing you need to know  about is wildcards.  There are three
  199. of them:
  200.  
  201.     *   matches zero or more characters
  202.     %   matches exactly one character   (NB *not* ?)
  203.    ...  matches a sub-directory tree
  204.  
  205. Hence, the MAIL-SERVER command
  206.  
  207.    DIRECTORY [TEX-ARCHIVE...]*.TXT
  208.  
  209. will find  all versions  of  all   files  with  an extension  of  .TXT
  210. (conventional for text files)  in the directory  [TEX-ARCHIVE]  or any
  211. of its sub-directories and  return the output  to you (if  you got the
  212. return address right).
  213.  
  214.  
  215. Searching Files
  216. ---------------
  217.  
  218. You can  search through files  in the archive  for a  given  string of
  219. characters.  This  is useful, for  example, when you know something is
  220. present in the archive, but not exactly which files are relevent.  The
  221. SEARCH request has the following format:
  222.  
  223.    SEARCH directory-specifier search-string
  224.    ignored-text
  225.  
  226. The directory specification  should have the  same format as  for  the
  227. `directory' request.  The search string can be any arbitrary series of
  228. characters, but if it includes one or more of the characters '"/@# the
  229. whole string should be enclosed in double quotes (and double quotes in
  230. the search string specified twice consecutively).  For example,
  231.  
  232.    search [TEX-ARCHIVE...]*.TXT text
  233.  
  234. searches all  files  in the archive with  an extension of .TXT for the
  235. string   of   characters   `text'.    (Note   that    the    search is
  236. case-insensitive.)  Similarly, to search for the string `/"text"', one
  237. would use
  238.  
  239.    search [TEX-ARCHIVE...]*.TXT "/""text"""
  240.  
  241. Locating Files
  242. --------------
  243.  
  244. With an archive as large as Aston's it's sometimes difficult to locate
  245. the required file(s).  One *can* pore over a copy of 00DIRECTORY.LIST,
  246. hoping to spot the wanted file, but this is reminiscent of needles and
  247. haystacks.  One could also request a directory listing using the `...'
  248. ellipsis to hunt down the whole tree, but a better method is to use:
  249.  
  250.    WHEREIS name
  251.  
  252. The server will return a directory listing  of all instances of `name'
  253. occurring as the filename part of a file specification, just as if you
  254. had said
  255.  
  256.    DIRECTORY [TEX-ARCHIVE...]name.*
  257.  
  258. Transferring Files
  259. ------------------
  260.  
  261. Now  that you can generate listings  of  the contents  of the archive,
  262. extracting  files from it is child's  play!  Simply  edit  the listing
  263. returned by the `DIRECTORY' command into the following form:
  264.  
  265.    FILES
  266.    filename
  267.    filename
  268.    .
  269.    .
  270.    .
  271.  
  272. It is  recommended that you  should remove  the `;n' version specific-
  273. ation from  the  end  of each filename,  particularly with those files
  274. such as  [TEX-ARCHIVE]00DIRECTORY.LIST which are regularly updated: if
  275. you request  a  specific  version, an attempt will be made to send it,
  276. but if  the file  has  been  deleted  between  the  date at which your
  277. directory  listing  was  generated  and  the time  at which  TeXserver
  278. processes your  request,  you'll  get  nothing!   On  the other  hand,
  279. omitting  the version  specifier altogether  will  collect  the latest
  280. version available, so should always be satisfied.
  281.  
  282. Any number of filenames may follow the `FILES' command.  Each filename
  283. must  be  specified  on a separate  line;  each file will normally  be
  284. returned as a separate mail message.  Wildcards are  now  supported by
  285. the  `FILES'  command;  however, don't imagine you'll get the whole of
  286. the archive by asking for [TEX-ARCHIVE...]*.*;*, because the TeXserver
  287. will  run  out  of workspace  long  before it's packaged up the  files
  288. requested!
  289.  
  290. `FILES' supports a number of qualifiers, as follows:
  291.  
  292. /ENCODE.  This specifies that files should be encoded using the `BtoA'
  293. program  before inserting into  an archive (see below) and/or mailing.
  294. This allows binary files to be mailed.
  295.  
  296. /COMPRESS.  This specifies that  files should be compressed  using the
  297. algorithm described in [1]  before  inserting into an  archive  and/or
  298. mailing. (NB: /COMPRESS also implies /ENCODE, since only encoded files
  299. can be mailed.)
  300.  
  301. /DECOMPRESS.  This  specifies that files  should be decompressed using
  302. the algorithm described in [1] before inserting into an archive and/or
  303. mailing.
  304.  
  305. /SHAR.   This  specifies  that the  requested files,  after optionally
  306. encoding and compressing/decompressing, be formed into a single `shell
  307. archive', a format which  can be unpacked into the  original  files on
  308. Unix systems by processing with the Bourne shell (/bin/sh).
  309.  
  310. /DCLAR.   This  specifies that the  requested  files, after optionally
  311. encoding and  compressing/decompressing,  be formed into a single `DCL
  312. archive',  a format  (analogous to the  shell archive)  which  can  be
  313. unpacked  into  the original  files  on  VAX/VMS systems by processing
  314. (`@'-ing) with DCL.
  315.  
  316. These qualifiers can be specified, in any order, following the `FILES'
  317. command, typed in any case and truncated to the point of uniqueness.
  318.  
  319. Note: It is  conventional, but not universal,  for compressed files in
  320. the archive to have an extension which ends in `_Z' (e.g., `.TXT_Z').
  321.  
  322. When   archive  files  (albeit  shar or   dclar) are unpacked   on the
  323. requestor's host, any directory structure present  in the archive will
  324. be  *lost*, since  the  directory information is  stripped off  as the
  325. archive  file is created.  (This is what  most users want,  and avoids
  326. problems  of filename translation.)   Moreover, the unpacked names are
  327. based on the requested filenames; hence, Unix users, who dislike upper
  328. case filenames,  can use lower  case characters in their  requests and
  329. omit the version number,  which will  cause lower case filenames to be
  330. created when unpacking a shar message.
  331.  
  332. DO NOT request that you be sent files with the file type extension and
  333. version number  `.DIR;1':  these are VAX/VMS directory structures, are
  334. binary, and  cause  the  TeXserver  (and  many  mailers)  considerable
  335. indigestion!
  336.  
  337. Executing Arbitrary DCL Commands
  338. --------------------------------
  339.  
  340. This command is likely to be  of interest to VMS  wizards only.  It is
  341. possible to   process an  arbitrary   series   of  DCL commands    via
  342. MAIL-SERVER and have their result  returned to you.  The  mail request
  343. has the following format:
  344.  
  345.    DCL filename
  346.    $ DCL commands
  347.    $ which generate
  348.    $ the file `filename'
  349.    .
  350.    .
  351.    .
  352.  
  353. For example, the following message would show the current state of the
  354. system and return it to the requestor:
  355.  
  356.    DCL T.T
  357.    $ ASSIGN/USER T.T SYS$OUTPUT
  358.    $ SHOW SYSTEM
  359.  
  360. MAIL-SERVER automatically deletes  the  file specified on  the   `DCL'
  361. command line (T.T in the example), but no others.  If you  do use this
  362. command, please tidy up after  yourself!  (Remember: you'll be in  the
  363. context of  a batch job,  so compilers will  generate listings, and so
  364. on.)
  365.  
  366. Note:  DCL-serving  is  a  possible security hazard  and  many  system
  367. managers and archive maintainers will, very sensibly, disable it.
  368.  
  369.                   IT IS NOT AVAILABLE ON THE TeXserver.
  370.  
  371. Specifying the Return Address
  372. -----------------------------
  373.  
  374. If you wish to specify an alternate route by which mail messages shall
  375. be returned to you, you may precede the TeXserver command with a line
  376. of the form
  377.  
  378.    PATH return-address
  379.  
  380. (This is  the  only  instance in  which  the  server will  process two
  381. commands:  PATH and the actual service requested.)
  382.  
  383. One reason  why you might wish to use this  format is to avoid a route
  384. which  goes through a  mailer relay such as UK.AC.EARN-RELAY, which is
  385. notorious for  corrupting  mail.   (It does this not just because it's
  386. bloody-minded, but because it converts the incoming ASCII message into
  387. EBCDIC for processing by an IBM machine,  and then converts back using
  388. a table  which  is  not symmetrical:  the commonest  corruption is  to
  389. change  circumflex accents  (^:\hat)  into tildes  (~:\tilde),  whilst
  390. tilde is  changed  into  per-cent (\%).   Since  real  percents remain
  391. unchanged,  unravelling TeX  source  with these  corruptions is a non-
  392. trivial task!
  393.  
  394. The syntax used for network addresses is the one  used throughout most
  395. of the  networking  community,  `user@site'.  For example,   for JANET
  396. users, requests from `orinoco' at site `uk.ac.wimbledon.common' should
  397. have a return address of
  398.  
  399.                     orinoco@uk.ac.wimbledon.common
  400.  
  401. Note that the VMS mailer folds the return address to UPPER case.
  402.  
  403. For BITNET users, you need to send the mail out via the EARN gateway:
  404.  
  405.                  user%machine.site.BITNET@EARN-RELAY
  406.  
  407. Note that the order  of specifying domains *is* important  to the EARN
  408. mailer.  The syntax is similar  for other networks  accessed  via  the
  409. EARN  gateway.
  410.  
  411. Requests from  North America  (e.g.,  those with  .EDU addresses), and
  412. other sites on the Internet,  may also use the EARN gateway:  however,
  413. mail is  less likely to be corrupted  if sent via  UK.AC.NSFNET-RELAY.
  414. Bitnet sites in North America could therefore route their  traffic via
  415. NSFNET-RELAY and EDU.CUNY.CUNYVM.
  416.  
  417.                    user%machine.site.EDU@NSFNET-RELAY
  418. or
  419.               user%site.bitnet%cunyvm.cuny.edu@NSFNET-RELAY
  420.  
  421. N.B.  Aston only understands addresses on the Janet network: it has no
  422. concept  of domain routing,  so cannot know  that <fred@node.site.edu>
  423. needs to be routed to <fred%node.site.edu@uk.ac.nsfnet-relay>.  Please
  424. remember this when specifying an explicit path.
  425.  
  426. Other relays are UK.AC.EAN-RELAY, UK.AC.MHS-RELAY and UK.AC.SPAN-RELAY
  427. Sites using these relays will probably be aware of it!
  428.  
  429. From  the  UK,  traffic  to the  UUCP  domain  is normally  routed via
  430. UK.AC.UKC (Univeristy of Kent at Canterbury).
  431.  
  432. Other users should try NSFNET in the  first instance  (it seems to  be
  433. pretty clever).  If that fails, consult  a local networking  guru.  If
  434. that fails, mail the archive maintainer, who should be able to put you
  435. in touch with someone who can help.  If all else fails, you're on your
  436. own!
  437.  
  438. Sites on the  SPAN  network  (a global DECnet, with thousands of nodes
  439. supposedly on-line together)  may send their  mail to  TeXserver via a
  440. site known to  Janet as  UK.AC.SPAN-RELAY;  it is understood that this
  441. site is known as  RLESIS  on  SPAN,  so such users  *could* send their
  442. requests to:
  443.                    RLESIS::"TeXserver@tex.ac.uk"
  444.  
  445. The corresponding return route that will be used by default is:
  446.                   \dSITE::USER\d@UK.AC.SPAN-RELAY
  447. (The `\d' sequences are a PMDF convention for the `"' character.)
  448.  
  449. However, SPAN-RELAY does not provide any store-and-forward capability,
  450. so your site's machine *must* be accessible from RLESIS over SPAN when
  451. the reply is sent by TeXserver;  this will be a few minutes after your
  452. request arrives,  when the receipt is sent,  but could be  many  hours
  453. later for the actual information requested.
  454.  
  455. It may seem strange,  but a more reliable routing is available through
  456. North America,  thanks to the good offices of the Goddard Space Flight
  457. Centre; mail should be sent from SPAN to:
  458.  
  459.                 EAST::"TeXserver%Uk.Ac.TeX@nsf.ac.uk"
  460. the corresponding return path is then
  461.              USER%gov.nasa.dnet.SITE@Uk.Ac.NSFnet-Relay
  462.  
  463.  
  464. Reference
  465. ---------
  466.  
  467. [1]  "A Technique for High-Performance Data Compression"
  468.      Terry A. Welch
  469.      IEEE Computer vol 17, no 6, pp8--19 (June 1984)
  470.  
  471.  
  472. Backispiece
  473. -----------
  474.  
  475. MAIL-SERVER was written  by  Adrian F.  Clark.  Any comments, queries,
  476. suspected bugs, etc should  be addressed to  the   author, not  to the
  477. maintainers of the archives  it serves.   (If  any  query doesn't  get
  478. answered  within, say,  a week,  please re-submit  it;   the  author's
  479. network connection is rather flaky!)  Note that the  author is *not* a
  480. networking Wizard.
  481.  
  482. The front-end was written by Brian {Hamilton Kelly}, with assistance
  483. from Niel Kempson.  These individuals, together with Adrian Clark and
  484. many other volunteers, help Peter Abbott to maintain the contents of
  485. the Aston Archive.
  486.  
  487. As usual with public-domain software, no commitment is given as to the
  488. quality of this software: it may not do what this help says it does.
  489.  
  490.  
  491.    Adrian F. Clark
  492.    JANET:  alien@uk.ac.essex.ese
  493.    ARPA:   alien%uk.ac.essex.ese@cs.ucl.ac.uk
  494.    BITNET: alien%uk.ac.essex.ese@ac.uk
  495.    Smail:  Dept. of Electronic Systems Engineering, Essex University,
  496.            Wivenhoe Park, Colchester, Essex C04 3SQ, U. K.
  497.    Phone:  (+44) 206-872432 (direct)
  498.  
  499.    Brian {Hamilton Kelly} & Niel Kempson
  500.    JANET:     TeX@uk.ac.cranfield.rmcs
  501.    BITNET:    TeX%uk.ac.cranfield.rmcs@ukacrl
  502.    INTERNET:  TeX%uk.ac.cranfield.rmcs@nsfnet-relay.ac.uk
  503.    UUCP:      {mcvax,ukc,uunet}!rmcs.cranfield.ac.uk!TeX
  504.    Smail:     School of Electrical Engineering & Science, Royal Military
  505.               College of Science, Shrivenham, SWINDON SN6 8LA, U.K.
  506.    Phone:     Swindon (0793) 785252 (UK), +44-793-785252 (International)
  507.  
  508.  
  509. Character Codes
  510. ---------------
  511.  
  512. To check if this file arrived without being mangled by assorted
  513. character set conversions, here's a list of some boring ASCII
  514. characters:
  515.  
  516. First, the uppercase alphabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  517. Now lower case: abcdefghijklmnopqrstuvwxyz
  518. Digits zero to nine: 0123456789
  519. Now punctuation:
  520. ! exclamation point
  521. " double quotes
  522. # hash mark (may be a pound sterling sign on some terminals/printers)
  523. $ dollar sign
  524. % percent sign
  525. & ampersand
  526. ' right single quote
  527. ( left parenthesis
  528. ) right parenthesis
  529. * asterisk
  530. + plus sign
  531. , comma
  532. - minus sign
  533. . period
  534. / slash
  535. : colon
  536. ; semicolon
  537. < less-than sign (pointing to left)
  538. = equal sign
  539. > greater-than sign (pointing to right)
  540. ? question mark
  541. @ at-sign
  542. [ left square bracket
  543. \ backslash
  544. ] right square bracket
  545. ^ caret or up-arrow
  546. _ underscore
  547. ` left single quote
  548. { left curly bracket
  549. | vertical bar
  550. } right curly bracket
  551. ~ tilde
  552.  
  553. [End of the MAIL-SERVER help]
  554.