Current File : //var/qmail/man/cat5/qmail-header.0


Standards, Environments, and Macros               qmail-header(5)



NNNNAAAAMMMMEEEE
     qmail-header - format of a mail message

OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW
     At the top of every mail  message  is  a  highly  structured
     hhhheeeeaaaaddddeeeerrrr.   Many  programs  expect the header to carry certain
     information, as  described  below.   The  main  function  of
     qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt  is to make sure that each outgoing message has
     an appropriate header.

     For       more       detailed        information,        see
     hhhhttttttttpppp::::////////ppppoooobbbbooooxxxx....ccccoooommmm////~~~~ddddjjjjbbbb////pppprrrroooottttoooo////iiiimmmmmmmmhhhhffff....hhhhttttmmmmllll.

MMMMEEEESSSSSSSSAAAAGGGGEEEE SSSSTTTTRRRRUUUUCCCCTTTTUUUURRRREEEE
     A message contains a series of _h_e_a_d_e_r _f_i_e_l_d_s, a blank  line,
     and a _b_o_d_y:

          Received: (qmail-queue invoked by uid 666);
               30 Jul 1996 11:54:54 -0000
          From: djb@silverton.berkeley.edu (D. J. Bernstein)
          To: fred@silverton.berkeley.edu
          Date: 30 Jul 1996 11:54:54 -0000
          Subject: Go, Bears!

          I've got money on this one.  How about you?

          ---Dan   (this is the third line of the body)

     Each header field has a _n_a_m_e, a colon, some _c_o_n_t_e_n_t_s, and  a
     newline:

          Subject: Go, Bears!

     The field contents may be folded across several lines.  Each
     line past the first must begin with a space or tab:

          Received: (qmail-queue invoked by uid 666);
               30 Jul 1996 11:54:54 -0000

     The field name must not contain  spaces,  tabs,  or  colons.
     Also, an empty field name is illegal.  qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt does not
     allow field names with unprintable characters.

     Case is irrelevant in field names:  ssssuuuubbbbjjjjeeeecccctttt and SSSSUUUUBBBBJJJJEEEECCCCTTTT  and
     SSSSuuuuBBBBjjjjEEEEccccTTTT have the same meaning.

AAAADDDDDDDDRRRREEEESSSSSSSS LLLLIIIISSSSTTTTSSSS
     Certain fields, such as TTTToooo, contain _a_d_d_r_e_s_s _l_i_s_t_s.

     An address list contains some number of _a_d_d_r_e_s_s_e_s or _a_d_d_r_e_s_s
     _g_r_o_u_p_s, separated by commas:




SunOS 5.11                Last change:                          1






Standards, Environments, and Macros               qmail-header(5)



          a@b, c@d (Somebody), A Person <e@f>,
             random group: g@h, i@j;, k@l

     An  _a_d_d_r_e_s_s  _g_r_o_u_p  has  some  text,  a  colon,  a  list  of
     addresses, and a semicolon:

             random group: g@h, i@j;

     An address can appear in several  forms.   The  most  common
     form is _b_o_x@_h_o_s_t.

     Every address must include a  host  name.   If  qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt
     sees a lone box name it adds the _d_e_f_a_u_l_t _h_o_s_t _n_a_m_e.

     All host names  should  be  fully  qualified.   qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt
     appends the _d_e_f_a_u_l_t _d_o_m_a_i_n _n_a_m_e to any name without dots:

          djb@silverton  ->  djb@silverton.berkeley.edu

     It appends the _p_l_u_s _d_o_m_a_i_n _n_a_m_e to any name that ends with a
     plus sign:

          eric@mammoth.cs+  ->  eric@mammoth.cs.berkeley.edu

     A host name may be a dotted-decimal address:

          djb@[128.32.183.163]

     RFC 822  allows  mailbox  names  inside  angle  brackets  to
     include  _s_o_u_r_c_e  _r_o_u_t_e_s,  but qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt strips all source
     routes out of addresses.

SSSSEEEENNNNDDDDEEEERRRR AAAADDDDDDDDRRRREEEESSSSSSSSEEEESSSS
     qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt looks for sender address lists in the following
     fields:    SSSSeeeennnnddddeeeerrrr,   FFFFrrrroooommmm,  RRRReeeeppppllllyyyy----TTTToooo,  RRRReeeettttuuuurrrrnnnn----PPPPaaaatttthhhh,  RRRReeeettttuuuurrrrnnnn----
     RRRReeeecccceeeeiiiipppptttt----TTTToooo, EEEErrrrrrrroooorrrrssss----TTTToooo, RRRReeeesssseeeennnntttt----SSSSeeeennnnddddeeeerrrr,  RRRReeeesssseeeennnntttt----FFFFrrrroooommmm,  RRRReeeesssseeeennnntttt----
     RRRReeeeppppllllyyyy----TTTToooo.

     If there is no FFFFrrrroooommmm field,  qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt  adds  a  new  FFFFrrrroooommmm
     field with the name of the user invoking qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt....

     RFC 822 requires that certain sender fields contain  only  a
     single  address, but qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt does not enforce this res-
     triction.

RRRREEEECCCCIIIIPPPPIIIIEEEENNNNTTTT AAAADDDDDDDDRRRREEEESSSSSSSSEEEESSSS
     qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt looks for recipient address lists in  the  fol-
     lowing  fields:   TTTToooo,  CCCCcccc,  BBBBcccccccc,  AAAAppppppppaaaarrrreeeennnnttttllllyyyy----TTTToooo,  RRRReeeesssseeeennnntttt----TTTToooo,
     RRRReeeesssseeeennnntttt----CCCCcccc, RRRReeeesssseeeennnntttt----BBBBcccccccc.

     Every message must contain at least one TTTToooo  or  CCCCcccc  or  BBBBcccccccc.
     qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt deletes any BBBBcccccccc field.  If there is no TTTToooo or CCCCcccc



SunOS 5.11                Last change:                          2






Standards, Environments, and Macros               qmail-header(5)



     field, qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt adds a line

          Cc: recipient list not shown: ;

     This complies with  RFC  822;  it  also  works  around  some
     strange  sssseeeennnnddddmmmmaaaaiiiillll  behavior,  in  case the message is passed
     through sssseeeennnnddddmmmmaaaaiiiillll on another machine.

SSSSTTTTAAAAMMMMPPPPSSSS
     Every message must contain a DDDDaaaatttteeee field, with the date in  a
     strict format defined by RFC 822.  If necessary qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt
     creates a new DDDDaaaatttteeee field with the current date (in GMT).

     Every message should contain a MMMMeeeessssssssaaaaggggeeee----IIIIdddd field.  The  field
     contents are a unique worldwide identifier for this message.
     If necessary qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt creates a new MMMMeeeessssssssaaaaggggeeee----IIIIdddd field.

     Another important field is RRRReeeecccceeeeiiiivvvveeeedddd.  Every time the message
     is  sent from one system to another, a new RRRReeeecccceeeeiiiivvvveeeedddd field is
     added to the top of  the  message.   qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt  does  not
     create any RRRReeeecccceeeeiiiivvvveeeedddd fields.

RRRREEEESSSSEEEENNNNTTTT MMMMEEEESSSSSSSSAAAAGGGGEEEESSSS
     A message is _r_e_s_e_n_t if it  contains  any  of  the  following
     fields:     RRRReeeesssseeeennnntttt----SSSSeeeennnnddddeeeerrrr,   RRRReeeesssseeeennnntttt----FFFFrrrroooommmm,   RRRReeeesssseeeennnntttt----RRRReeeeppppllllyyyy----TTTToooo,
     RRRReeeesssseeeennnntttt----TTTToooo,  RRRReeeesssseeeennnntttt----CCCCcccc,  RRRReeeesssseeeennnntttt----BBBBcccccccc,   RRRReeeesssseeeennnntttt----DDDDaaaatttteeee,   RRRReeeesssseeeennnntttt----
     MMMMeeeessssssssaaaaggggeeee----IIIIDDDD.

     If a message is resent, qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt changes its behavior as
     follows.

     It deletes any RRRReeeesssseeeennnntttt----BBBBcccccccc field (as well as any BBBBcccccccc  field);
     if  there are no RRRReeeesssseeeennnntttt----TTTToooo or RRRReeeesssseeeennnntttt----CCCCcccc fields, qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt
     adds an appropriate RRRReeeesssseeeennnntttt----CCCCcccc line.  It does _n_o_t  add  a  CCCCcccc
     line, even if neither TTTToooo nor CCCCcccc is present.

     If there is no RRRReeeesssseeeennnntttt----FFFFrrrroooommmm field, qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt  adds  a  new
     RRRReeeesssseeeennnntttt----FFFFrrrroooommmm field.  It does _n_o_t add a new FFFFrrrroooommmm field.

     qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt adds RRRReeeesssseeeennnntttt----DDDDaaaatttteeee if one is not already present;
     same  for  RRRReeeesssseeeennnntttt----MMMMeeeessssssssaaaaggggeeee----IIIIdddd.   It  does _n_o_t add new DDDDaaaatttteeee or
     MMMMeeeessssssssaaaaggggeeee----IIIIdddd fields.

OOOOTTTTHHHHEEEERRRR FFFFEEEEAAAATTTTUUUURRRREEEESSSS
     Addresses are separated by commas, not spaces.  When  qqqqmmmmaaaaiiiillll----
     iiiinnnnjjjjeeeecccctttt sees an illegal space, it inserts a comma:

          djb fred  ->  djb, fred

     qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt removes all RRRReeeettttuuuurrrrnnnn----PPPPaaaatttthhhh header fields.

     qqqqmmmmaaaaiiiillll----iiiinnnnjjjjeeeecccctttt also removes any CCCCoooonnnntttteeeennnntttt----LLLLeeeennnnggggtttthhhh fields.



SunOS 5.11                Last change:                          3






Standards, Environments, and Macros               qmail-header(5)



SSSSEEEEEEEE AAAALLLLSSSSOOOO
     addresses(5), envelopes(5), qmail-inject(8)





















































SunOS 5.11                Last change:                          4