Provided by: masqmail_0.2.30-1_amd64 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 addresses.  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)