Provided by: masqmail_0.2.27-1.2_i386 bug

NAME

       masqmail.conf - masqmail configuration file

DESCRIPTION

       This  man  page  describes the syntax of the main configuration file of
       masqmail.  Its usual location is /etc/masqmail/masqmail.conf

       The configuration consists of lines of the form

       val = expression

       Where val is a variable name and expression  a  string,  which  can  be
       quoted  with double quotes `"'.  If the expression is on multiple lines
       or contains characters other than letters,  digits  or  the  characters
       `.',  `-',  `_',  `/',  ';',  '@', ':', it must be quoted.  You can use
       quotes inside quotes by escaping them with a backslash.

       Each val has a type, which can be boolean, numeric, string or list.   A
       boolean  variable  can  be  set with one of the values `on', `yes', and
       `true' or `off', `no' and  `false'.   List  items  are  separated  with
       semicolons  `;'.  For some values, patterns (like `*',`?') can be used.
       The spaces in front of and after the equal sign `=' are optional.

       Most lists (exceptions: local_hosts, local_nets, listen_addresses,
        online_routes,  and  online_gets)  accept  files.    These   will   be
       recognized by a leading slash `/'.  The contents of these files will be
       included at the position of the file name, there can be items or  other
       files  before  and  after  the  file entry.  The format of the files is
       different though, within these files each entry is on another line  and
       the  entries  are  not  separated by semicolons.  This makes it easy to
       include large lists which are common in different configuration  files,
       so they do not have to appear in every configuration file.

       Blank lines and lines starting with a hash `#' are ignored.

OPTIONS

       run_as_user = boolean

              If  this  is set, masqmail runs with the user id of the user who
              invoked it and never changes it.  This is for debugging purposes
              only.   If  the  user  is not root, masqmail will not be able to
              listen on a port < 1024 and will not be able  to  deliver  local
              mail to others than the user.

       use_syslog = boolean

              If  this  is  set,  masqmail  uses syslogd for logging.  It uses
              facility MAIL.  You still have to set log_dir for debug files.

       debug_level = n

              Set the debug level.  Valid values are 0  to  6,  increasing  it
              further makes no difference.  Be careful if you set this as high
              as 5 or higher, the logs may very soon fill your hard drive.

       log_dir = file

              The directory where logs are stored,  if  syslog  is  not  used.
              Debug  files are always stored in this directory if debugging is
              enabled.  /var/log/masqmail is a common value.  file must be  an
              absolute path.

       mail_dir = file

              The    directory   where   local   mail   is   stored,   usually
              /var/spool/mail or /var/mail.  file must be an absolute path.

       spool_dir = file

              The directory where masqmail stores its spool files  (and  later
              also other stuff).  It must have a subdirectory input.  Masqmail
              needs read and write permissions for this directory.  I  suggest
              to use /var/spool/masqmail.  file must be an absolute path.

       lock_dir = file

              The  directory  where  masqmail stores its lock files.  Masqmail
              needs read and write permissions for this directory.  By default
              it is a directory ``lock'' inside of spool_dir.  file must be an
              absolute path.

       host_name = string

              This is used in different places: Masqmail identifies itself  in
              the greeting banner on incoming connections and in the HELO/EHLO
              command for outgoing connections with this name, it is  used  in
              the  Received:  header  and  to  qualify the sender of a locally
              originating message.

              If the string begins with a slash `/', it it assumed that it  is
              a  filename,  and  the  first  line  of  this file will be used.
              Usually this will be `/etc/mailname' to make masqmail conform to
              Debian policies.

              It  is  not  used  to  find  whether  an  address  is local. Use
              local_hosts for that.

       remote_port = n

              The remote port number to be used. This defaults to port 25.

              This  option  is  deprecated.   Use  host_name  in   the   route
              configuration instead.  See masqmail.route(5).

       local_hosts = list

              A semicolon `;' separated list of hostnames which are considered
              local.  Normally you set it  to  "localhost;foo;foo.bar.com"  if
              your host has the fully qualified domain name `foo.bar.com'.

       local_nets = list

              A  semicolon  `;'  separated  list of hostnames which are on the
              `local' net.  Delivery to these hosts is attempted  immediately.
              You can use patterns with `*', e.g. "*.bar.com".

       local_addresses = list

              A  semicolon  `;'  separated  list  of  fully  qualified  email-
              addresses which are considered local although their domain  name
              part is not in the list of local_hosts.

              For   example:  There  are  two  people  working  at  your  LAN:
              person1@yourdomain and person2@yourdomain.  But there are  other
              persons  @yourdomain  which  are  NOT local.  So you can not put
              yourdomain to the list of local_hosts.  If person1 now wants  to
              write  to  person2@yourdomain and this mail should not leave the
              LAN then you can put

              local_addresses = "person1@yourdomain;person2@yourdomain"

              to your masqmail.conf.

       not_local_addresses = list

              A  semicolon  `;'  separated  list  of  fully  qualified  email-
              addresses  which  are considered not local although their domain
              name part is in the list of local_hosts.

              This is the opposite of the  previous  case.   The  majority  of
              addresses  of  a  specific domain are local.  But some users are
              not.  With this option you can easily exclude these users.

              Example:

              local_hosts = "localhost;myhost;mydomain.net"

              not_local_addresses = "eric@mydomain.net"

       listen_addresses = list

              A  semicolon  `;'  separated  list  of   interfaces   on   which
              connections  will  be  accepted.   An interface ist defined by a
              hostname, optionally followed by a colon `:' and  a  number  for
              the port.  If this is left out, port 25 will be used.

              You  can  set  this to "localhost:25;foo:25" if your hostname is
              `foo'.

              Note that the names are resolved to IP addreses.  If  your  host
              has  different  names which resolve to the same IP, use only one
              of them, otherwise you will get an error message.

       do_save_envelope_to = boolean

              If this is set to true, a possibly existing Envelope-to:  header
              in  an  incoming  mail which is received via either pop3 or smtp
              will be saved as an X-Orig-Envelope-to: header.

              This is useful if you retrieve mail  from  a  pop3  server  with
              either  masqmail or fetchmail, and the server supports Envelope-
              to: headers, and you want to make  use  of  those  with  a  mail
              filtering  tool,  e.g. procmail.  It cannot be preserved because
              masqmail sets such a header by itself.

              Default is false.

       do_relay = boolean

              If this is set to false, mail with a return  path  that  is  not
              local  and  a  destination  that  is  also not local will not be
              accepted via smtp and a 550 reply will  be  given.   Default  is
              true.

              Note  that  this  will  not protect you from spammers using open
              relays, but from users unable to set their address in their mail
              clients.

       do_queue = boolean

              If  this  is  set,  mail  will not be delivered immediately when
              accepted.  Same as calling masqmail with the -odq option.

       online_routes.name = list

              Replace name with a name to identify a connection.  Set this  to
              a  filename  (or  a  list  of  filenames)  for the special route
              configuration for that connection.  You will use  that  name  to
              call  masqmail  with  the  -qo option every time a connection to
              your ISP is set up.

              Example: Your ISP has the name  FastNet.   Then  you  write  the
              following line in the main configuration:

               online_routes.FastNet = "/etc/masqmail/fastnet.route"

              /etc/masqmail/fastnet.route is the route configuration file, see
              masqmail.route(5).  As soon as a link to FastNet  has  been  set
              up,  you call masqmail -qo FastNet.  Masqmail will then read the
              specified file and send the mails.

       connect_route.name = list

              Old name for online_routes.

       local_net_route = file

              This is similar to online_routes.name but  for  the  local  net.
              Recipient  addresses that are in local_nets will be routed using
              this route configuration.  Main purpose  is  to  define  a  mail
              server   with  mail_host  in  your  local  network.   In  simple
              environments this can be left unset.  If unset, a default  route
              configuration will be used.

       alias_file = file

              Set  this  to  the  location  of  your alias file.  If unset, no
              aliasing will be done.

       alias_local_caseless = boolean

              If this is set, local parts in the alias file  will  be  matched
              disregarding upper/lower case.

       pipe_fromline = boolean

              If  this  is  set,  a  from line will be prepended to the output
              stream  whenever  a  pipe  command  is  called  after  an  alias
              expansion.  Default is false.

       pipe_fromhack = boolean

              If  this  is  set,  each line beginning with `From ' is replaced
              with `>From ' whenever a pipe command is called after  an  alias
              expansion.  You probably want this if you have set pipe_fromline
              above.  Default is false.

       mbox_default = string

              The default local delivery method.  Can be one of mbox,  mda  or
              maildir  (the  latter  only  if  maildir  support  is enabled at
              compile time).  Default is mbox.  You can override this for each
              user  by  using  the  mbox_users,  mda_users,  or  maildir_users
              options (see below).

       mbox_users = list

              A list of users which  wish  delivery  to  an  mbox  style  mail
              folder.

       mda_users = list

              A  list  of users which wish local delivery to an mda.  You have
              to set mda (see below) as well.

       maildir_users = list

              A list of users which wish delivery to a  qmail  style  maildir.
              The  path to maildir is ~/Maildir/.  The maildir will be created
              if it does not exist.

       mda = expand string

              If you want local delivery to be transferred  to  an  mda  (Mail
              Delivery  Agent),  set  this to a command.  The argument will be
              expanded on delivery time, you can use variables beginning  with
              a  dolloar  sign  `$',  optionally  enclosed  in  curly  braces.
              Variables you can use are:

              uid - the unique message id.  This is not necessarily  identical
              with the Message ID as given in the Message ID: header.

              received_host - the host the mail was received from

              ident  -  the  ident,  this is either the ident delivered by the
              ident protocol or the user id of the sender if the  message  was
              received locally.

              return_path_local - the local part of the return path (sender).

              return_path_domain   -  the  domain  part  of  the  return  path
              (sender).

              return_path - the complete return path (sender).

              rcpt_local - the local part of the recipient.

              rcpt_domain - the domain part of the recipient.

              rcpt - the complete recipient address.

              Example:

              mda="/usr/bin/procmail -Y -d ${rcpt_local}"

              For the mda, as for pipe commands, a few  environment  variables
              will  be  set  as  well.   See  masqmail(8).  To use environment
              variables for the mda, the dollar sign `$'  has  to  be  escaped
              with  a  backslash,  otherwise they will be tried to be expanded
              with the internal variables.

       mda_fromline = boolean

              If this is set, a from line will  be  prepended  to  the  output
              stream  whenever  a  message is delivered to an mda.  Default is
              false.

       mda_fromhack = boolean

              If this is set, each line beginning with  `From  '  is  replaced
              with  `>From  '  whenever a message is delivered to an mda.  You
              probably want this if you have set mda_fromline above.   Default
              is false.

       online_detect = string

              Defines  the  method  masqmail  uses  to detect whether there is
              currently an online connection.  It can have  the  values  file,
              pipe, or mserver.

              When  it is set to file, masqmail first checks for the existence
              of online_file (see below) and if it exists, it reads  it.   The
              content of the file should be the name of the current connection
              as  defined  with  connect_route.name  (trailing  whitespace  is
              removed).

              When  it  is set to pipe, masqmail calls the executable given by
              the online_pipe option (see below) and reads the current  online
              status from its standard output.

              When  it  is set to mserver, masqmail connects to the masqdialer
              server using the value of mserver_iface and asks  it  whether  a
              connection  exists and for the name, which should be the name of
              the current connection as defined with connect_route.name.   The
              mserver  detection  method is OBSOLETE.  See mserver_iface for a
              note on how to replace it.

              No matter how masqmail detects the online status, only  messages
              that  are  accepted  at  online time will be delivered using the
              connection.  The spool still has to  be  emptied  with  masqmail
              -qoconnection.

       online_file = file

              This  is  the  name  of  the  file  checked  for  when  masqmail
              determines whether it is online.  The  file  should  only  exist
              when  there  is currently a connection.  Create it in your ip-up
              script with e.g.

              echo "connection-name" >/var/run/masqmail/masqmail-route

              chmod 0644 /var/run/masqmail/masqmail-route

              Do not forget to delete it in your ip-down script.

       online_pipe = file

              This is the name of the  executable  which  will  be  called  to
              determine  the online status.  This executable should just print
              the name of the current connection to the  standard  output  and
              return  a  zero  status code.  masqmail assumes it is offline if
              the script returns with a non zero status.  Simple example:

              #!/bin/sh

              [ -e /var/run/masqmail/masqmail-route ] || exit 1

              cat /var/run/masqmail/masqmail-route

              exit 0

              Of course, instead of the example above you could  as  well  use
              file  as  the  online detection method, but you can do something
              more sophisticated.

       mserver_iface = interface

              This option is OBSOLETE, use

              online_method=pipe

              online_pipe="/usr/bin/mservdetect localhost 222"

              instead.

              The interface the masqdialer server is  listening  to.   Usually
              this  will  be "localhost:224" if mserver is running on the same
              host as masqmail.  But using  this  option,  you  can  also  let
              masqmail run on another host by setting mserver_iface to another
              hostname, e.g. "foo:224".

       get.name = file

              Replace name with a name to identify a get  configuration.   Set
              this  to a filename for the get configuration.  These files will
              be used to retrieve mail when called with the -g option.

       online_gets.name = list

              Replace name with a name to identify  an  online  configuration.
              Set  this  to  a  filename  (or a list of filenames) for the get
              configuration.  These files will be used to retrieve  mail  when
              called with the -go option.

       ident_trusted_nets = list

              list  is  a  list  of  networks  of  the  form  a.b.c.d/e  (e.g.
              192.168.1.0/24),  from  which  the  ident  given  by  the  ident
              protocol will be trusted, so a user can delete his mail from the
              queue if the ident is identical to his login name.

       errmsg_file = file

              Set this to a template which will be used to  generate  delivery
              failure  reports.  Variable parts within the template begin with
              a dollar sign and are identical to those which can  be  used  as
              arguments  for  the  mda  command,  see  mda  above.  Additional
              information can be included with @failed_rcpts, @msg_headers and
              @msg_body,  these must be at the beginning of a line and will be
              replaced with the list of the  failed  recipients,  the  message
              headers and the message body of the failed message.

              Default is /usr/share/masqmail/tpl/failmsg.tpl.

       warnmsg_file = file

              Set  this  to a template which will be used to generate delivery
              warning reports.  It uses the same mechanisms for  variables  as
              errmsg_file, see above.

              Default is /usr/share/masqmail/tpl/warnmsg.tpl.

       warn_intervals = list

              Set this to a list of time intervals, at which delivery warnings
              (starting with the receiving  time  of  the  message)  shall  be
              generated.

              A  warning  will  only  be  generated  just  after an attempt to
              deliver the mail and if that attempt failed temporarily.   So  a
              warning  may  be  generated after a longer time, if there was no
              attempt before.

              Default is "1h;4h;8h;1d;2d;3d"

       max_defer_time = time

              This is the maximum time, in which  a  temporarily  failed  mail
              will  be kept in the spool.  When this time is exceeded, it will
              be handled as a  delivery  failure,  and  the  message  will  be
              bounced.

              The  excedence  of this time will only be noticed if the message
              was actually tried  to  be  delivered.   If,  for  example,  the
              message can only be delivered when online, but you have not been
              online for that time, no bounce will be generated.

              Default is 4d (4 days)

       log_user = name

              Replace name with a valid local or remote mail address.

              If this option is set, then a copy of every  mail,  that  passes
              through  the masqmail system will also be sent to the given mail
              address.

              For example  you  can  feed  your  mails  into  a  program  like
              hypermail  for  archiving purpose by placing an appropriate pipe
              command in masqmail.alias

       max_msg_size = bytes

              This option sets the maximum size in bytes masqmail will  accept
              for  delivery.   This  value is advertised to the SMTP client by
              the  `SIZE'  message  during  SMTP   session   setup.    Clients
              pretending to send, or actually send, more than bytes will get a
              552 error message.

              `0' means no fixed maximum size limit is in force.

              Default is 0 (= unlimited).

       defer_all = boolean

              If set to true, masqmail replies with ``421 service  temporarily
              unavailable'' to any SMTP request and shuts the connection down.
              Note: This option is for debugging purposes only.

              Default: false

AUTHOR

       Masqmail was written by Oliver Kurth.  It is now maintained  by  Markus
       Schnalke <meillo@marmaro.de>.

       You    will    find    the    newest    version    of    masqmail    at
       http://marmaro.de/prog/masqmail/.  There is also a  mailing  list,  you
       will find information about it at masqmail's main site.

BUGS

       Please report bugs to the mailing list.

SEE ALSO

       masqmail(8), masqmail.route(5), masqmail.get(5)