Provided by: masqmail_0.3.4-1build1_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,  listen_addresses, query_routes.name and permanent_routes) 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 and 9.  Be careful if you set this as high as 5 or
              higher, the logs may very soon fill your hard drive.  Level 9 enables printing of  debug  messages
              to  stderr  during  reading of the config file.  The debug file comes available for the first time
              after this step.  Thus nothing but stderr is available.  Level 9 is almost never interesting.

       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.  file must be an absolute path.

              Default: /var/log/masqmail

       mail_dir = file

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

              Default: /var/mail

       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.  file  must  be
              an absolute path.

              Default: /var/spool/masqmail

       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.

              Default: none; host_name MUST be set in the config file

       local_hosts = list

              A semicolon `;' separated list  of  hostnames  which  are  considered  local.   Can  contain  glob
              patterns,   like   `*example.org'  or  `mail?.*mydomain.net'.   Normally  you  should  set  it  to
              "localhost;foo;foo.bar.com" if your host has the fully qualified domain name `foo.bar.com'.

              Default: localhost ; <value of host_name cut at the first dot> ; <value of host_name>

              Example: localhost;foo;foo.example.org (if you have set host_name to foo.example.org)

       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.  This list can be seen as an
              addition to local_hosts.

              Further more only the local part of the addresses will be regarded, seeing it as a local user.

              Example: local_addresses = "person1@yourdomain;person2@yourdomain"

              This means mail to person1@yourdomain will effectively go to person1@localhost, if not  redirected
              by an alias.

       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  list  can  be  seen  as  a
              substraction to 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.

              Default: localhost:25 (i.e. only local processes can connect)

       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 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, masqmail will not try to deliver mail immediately when accepted.  Instead it will
              always queue it.  (Note: Masqmail will always automatically queue mail if neccesary,  i.e.  if  it
              cannot deliver because no suitable route was available for example.)

              Same as calling masqmail with the -odq option.  Usually you should leave this option unset.

              Default: false

       permanent_routes = list

              Set  this  to the filename (or a semicolon-separated list of filenames) of the route configuration
              for always available connections.  Main purpose is to define a mail server with mail_host in  your
              local  network,  or  if masqmail should send mail directly to the target host.  If you have only a
              single host, you can leave it unset.

              A setting `local_nets = "*home.net"' in versions <= 0.3.3 is  in  newer  versions  configured  as:
              `permanent_routes = "/etc/masqmail/homenet.route"' and the route file `homenet.route' containing:
                        allowed_recipients = "*@*home.net"
                        connect_error_fail = true
                        resolve_list = byname
This  is  just  as  it  had  been  with  local_net_route,  with the exception that the filtering for appropriate
addresses is only in the route file and not with local_nets.

       query_routes.name = list

              Replace name with a name to identify the connection.  Set this to  a  filename  (or  a  semicolon-
              separated list of filenames) for the route configuration for that connection.

              Routes  of  this  kind  cannot  be expected to be online always.  Masqmail will query which of the
              routes are online.

              You can use the name to call masqmail with the -qo option every time a connection to your  ISP  is
              set up, in order to send queued mail through this route.

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

              query_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.

              See online_query.

       alias_file = file

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

              Default: <not set> (i.e. no aliasing is done)

       caseless_matching = boolean

              If this is set, aliasing and the matching for local_addresses and not_local_addresses will be done
              caseless.

              Note: Be sure to change this option only if the queue is empty as  correct  processing  of  queued
              messages is not guaranteed otherwise.

              Default: false

       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 mbox or mda.  You can override this for each user by
              using the mbox_users or mda_users (see below).

              Default: mbox.

       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.

       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 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_query = command line

              Defines the method masqmail uses to detect whether there exists an online connection currently.

              Masqmail executes the command given and reads from its standard output.  The command  should  just
              print a route name, as defined with query_routes.name, to standard output and return a zero status
              code.   Masqmail  assumes it is offline if the script returns with a non-zero status.  Leading and
              trailing whitespace is removed from the output.

              Simple example:

              #!/bin/sh
              test -e /var/run/masqmail/masqmail-route || exit 1
              cat /var/run/masqmail/masqmail-route
              exit 0

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

              command line must start with an absolute path to an executable program.  It can  contain  optional
              arguments.

              To simulate the old online_method=file, use: /bin/cat /path/to/file

              To be always online with connection `foo', use: /bin/echo foo

              To  query  a  masqdialer  server (i.e. asking it whether a connection exists and what its name is)
              use: /usr/bin/mservdetect localhost 224

       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-0.3.4                                     2012-01-18                                   masqmail.conf(5)