[EXIM] annotated configuration file - 2nd draft

Top Page
Delete this message
Reply to this message
Author: mark david mcCreary
Date:  
To: exim-users
Subject: [EXIM] annotated configuration file - 2nd draft
######################################################################
#                  Annotated configuration file for Exim             #
######################################################################



# This is an annotated Exim configuration file, designed to document
# many of the features in example form.
#
# This file is not suitable for use without pruning.  It has
# conflicting options, merely to have the documentation in one place.
#
#    Copyright (c) 1998 Internet Tools, Inc.
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


#
#    Credits
#
#    mark david mcCreary        mdm@???    Writer and
Editor
#    Paul Mansfield                paulm@???
    Writer



######################################################################
#                    MAIN CONFIGURATION SETTINGS                     #
######################################################################


accept_timeout = 60s
#
# Useful to prevent hung local deliveries from tying up Exim forever,
# as the default value does when reading a message from STDIN

always_bcc
#
# Useful for mailing lists and exceptional cases where mail has
# no To: Cc: or Bcc: field

check_spool_space = 10M
check_spool_inodes = 100
check_log_space = 10M
check_log_inodes = 100
#
# Useful for making sure that you do not accept a mail message that will
# overflow your hard disk resources

collapse_source_routes
#
# Useful to prevent tricks being played with email addresses within
# email addresses

delay_warning = 0s
#
# Useful if you do not like the default of sending warning messages
# back to the sender when Exim cannot immediately deliver mail

deliver_load_max = 3
#
# Useful to make sure your hardware does not kill itself by consuming
# too many MTA resources

freeze_tell_mailmaster
#
# Useful to email warning message to postmaster (default setting) when
# an email message has future delivery attempts prevented due to
# exceptional problems

ignore_errmsg_errors
#
# Useful to override the default of freezing such messages for
# human review

local_domains = "@:[127.0.0.1]"
#
# Useful for machine that will just accept mail for itself
# (HOSTNAME). Typically, xxx.domain.com

local_domains = "@:partial-lsearch;/etc/aliases.virtual:[127.0.0.1]"
#
# Useful for providing virtual domain mail host from flat file in /etc
# @ symbol means name of current machine (HOSTNAME)
# Rest of domain names that Exim will accept email for is in flat file

local_domains = "@:domain.com:[127.0.0.1]"
#
# Useful for providing mail hub machine configuration for accepting
# all email sent to HOSTNAME, as well as top level domain name.

local_domains_include_host_literals
#
# Useful for accepting email with ip address [123.45.678.9] instead
# of domain name. [127.0.0.1] is always processed, regardless of
# this setting.

local_interfaces = "123.45.678.9:127.0.0.1"
#
# Useful for mail hosts with virtual web servers also on same hardware.
# Prevents Exim from paying any attention to those ip addresses that
# are aliased to provide virtual domain web sites.

log_arguments
#
# Useful comments written to log file that can sometimes aid
# in determing who/what called Exim

log_ip_options
#
# Useful to know if external machines are trying tricky stuff at the
# ip address level

log_level = 3
#
# Useful to reduce the level of detail in the log file to everyday
# use.

log_received_recipients
#
# Useful for detail of who is receiving each message, when written to
# the log file.

log_smtp_confirmation
#
# Useful for logging detailed message confirmations with other MTA's that
# follow this convention.

log_subject
#
# Useful for detail of Subject: line of each message, when written to
# the log file.

message_size_limit = 16384000
#
# Useful to limit the size of email messages that can be processed
# to less than 16Mb

never_users = root
#
# Useful to prevent root from every running local mail deivery process.
# For security purposes.

queue_only
#
# Useful to control delivery processes by queue runners, as opposed
# to email message creation.

rbl_domains = rbl.maps.vix.com
#
# Useful for Realtime Blocking Lists, by providing the source machine
# where the blacklist is maintained.

rbl_reject_recipients
#
# Useful for Realtime Blocking Lists, by causing hosts found on
# list to have mail rejected.

rbl_warn_header
#
# Useful to add Header X-RBL-Warning to email message, thus making
# it easier for final receipent to filter

relay_domains_include_local_mx
#
# Useful for allowing domain names specified in DNS setup to use
# this machine for relaying messages

relay_match_host_or_sender
#
# Useful to relax the Exim default of checking both host and sender for
# matches for constricting relaying.

return_size_limit = 65536
#
# Useful to reduce the message size returned to sender from
# Exim default

sender_address_relay = "partial-lsearch;/etc/aliases.virtual"
#
# Useful to allow email from virtual domain to send mail thru
# this machine

sender_host_accept_relay = 123.45.678.9
#
# Useful to allow known friendly machines to use this machine
# for relaying mail

sender_host_reject_recipients = "123.45.678.9"
#
# Useful to stop spam attempts and mail loops from external machine.
# Change number to ip address of offending machine, and restart Exim
# Accepts incoming SMTP connection, but gives a 5xx error in response.
# Otherwise, by simply rejecting the connection, the offending machine
# may try to deliver to a backup mail host

sender_net_accept_relay = "123.45.678.9/24"
#
# Useful to allow known friendly machines in a Class C subnet
# to use this machine for relaying mail

sender_reject_recipients = @@lsearch*;/opt/exim/etc/spamblock-authors
# that external file provides a list of authors of spam, and exim refuses the
# email when the originator specific the recipients rather than simply
# refusing the connection in the first place which would probably not actually
# make the mail go away, the file contains lines like
# 01462.com       ginger:*>
# public.com      friend:*>


sender_verify = true
#
# Useful to make sure that mail envelope is coming from a valid
# domain name with DNS entries

sender_verify_fixup = true
#
# Useful to allow for broken mail transports already on the net,
# by continuing scan for valid sender from Sender, Reply-to or
# From header, when envelope sender is invalid.

smtp_accept_queue = 15
#
# Useful to apply a limit to the number of simultaneous SMTP connections
# that Exim will attempt to handle. Otherwise, the default is infinite.

smtp_accept_reserve = 5
#
# Useful to allow favored networks to connect to your machine when
# the machine is very busy

smtp_connect_backlog = 50
#
# Useful for machine efficiency purposes with large mailing machines
# with many simultaneous SMTP connections.

smtp_etrn_nets = "123.45.678.9/24"
#
# Useful for restricting new RFC 1985 command ETRN
# to favored networks

smtp_load_reserve = 4
#
# Useful to allow favored networks to connect to your machine when
# the machine is very busy

smtp_reserve_nets = "123.45.678.9/24"
#
# Useful to specify favored networks that receive special attention
# during high load times

trusted_users = "exim:list"
#
# Useful to allow mailing list software package to specify sender's
# email address

end



######################################################################
#                      TRANPORTS CONFIGURATION                       #
######################################################################


local_delivery:
driver = appendfile;
file = /home/pop/${local_part},
group = popuser
#
# Useful for delivering email to users with entries in /etc/passwd

procmail_pipe:
driver = pipe;
command = "/usr/bin/procmail -d ${local_part}",
user = exim,
envelope_to_add
#
# Useful for passing mail to procmail routine that has it's own
# entry in the /etc/passwd file

# This transport is used for delivering messages over SMTP connections.

smtp:
remove_headers =
"Resent-To:Resent-Date:Resent-From:Resent-Message-Id:Resent-Bcc",
driver = smtp;
end
#
# Useful for delivering mail to remote systems via SMTP protocol
# Removes Headers


######################################################################
#                      DIRECTORS CONFIGURATION                       #
######################################################################



postmaster:
driver = smartuser,
local_parts = postmaster, hostmaster;
new_address = postmaster@???
#
# Useful to pick off any mail to postmaster, hostmaster for any domain
# before any other processing is done.

bozo_aliases:
driver = aliasfile;
file = /etc/aliases.bozo,
search_type = lsearch,
user = exim
#
# Useful for quickly getting rid of mail for obsolete email address

virtual_specific:
driver = smartuser,
new_director = dual_aliases,
domains = "partial-lsearch;/etc/aliases.virtual";
new_address = ${lookup{$local_part@$domain}lsearch{/etc/aliases.virtual}
{$value} fail};
#
# Useful to allow individual address from virtual domain to go to a specific
# address.

virtual_default:
driver = smartuser,
new_director = dual_aliases,
domains = "partial-lsearch;/etc/aliases.virtual";
new_address = ${lookup{$domain}lsearch{/etc/aliases.virtual} {$value} fail};
#
# Useful to provide default email address for all other local_part at a virtual
# domain.

dual_aliases:
driver = aliasfile;
file = /etc/aliases.dual,
search_type = lsearch,
user = exim
#
# Useful for delivering one incoming email message to two or more addresses
# Typically use for individuals having mail sent to two different locations


# Basic system mail aliases

system_aliases:
driver = aliasfile;
file = /etc/aliases.exim,
search_type = lsearch,
user = exim
#
# Useful for directing email to proper destination for system pseudo-accounts
# and other administration type accounts

# Announcement Mailing List Mapping

announce_aliases:
driver = aliasfile;
file = /etc/aliases.announce,
search_type = lsearch,
user = announce
#
# Useful for handling incoming email for mailing lists.
#

localuser:
driver = localuser,
transport = local_delivery;
#
# Useful for delivering email for local users to their mailbox

end


######################################################################
#                      ROUTERS CONFIGURATION                         #
######################################################################


lookuphost:
driver = lookuphost,
transport = smtp;
#
# Useful to deliver mail to remote locations via SMTP and DNS

literal:
driver = ipliteral,
transport = smtp;
#
# Useful to deliver mail to remote locations via SMTP and ip address
# Set forbid_domain_literals in the main configuration to disable
# use of ip addresses

end



######################################################################
#                      RETRY CONFIGURATION                           #
######################################################################


# Domain           Error        Retries
# ------           -----        -------


aol.com                 *            G,3d,6h,2


*                    refused     F,4d,8h


*                    *           F,2h,15m; G,16h,2h,1.5;
F,4d,8h


#
# Useful to control how often failed deliveries should be tried again.
# If no retry rules, only one delivery attempt is made.
#
# All mail to aol.com is retried at Geometrically increasing times, for up
# to 3 days, starting 6 hours after initial failed attempt, and doubling
# the length of waiting time.
#
# All mail that is refused, is retried every 8 hours, for 4 days.
#
# The final rule catches all other email, and it specifies retries every
# 15 minutes for 2 hours, then increasing retry intervals, starting at
# 2 hours and increasing each time by a factor of 1.5, up to 16 hours,
# then retries every 8 hours until 4 days have passed since the first
# failed delivery.

# See also delay_after_cutoff option

end



######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################


*@*.domain.com    $local_part@???    Ffq


#
# Useful to change the contents of envelope or header From lines
# Exim needs to be re-started anytime changes are made to the configuration
file
#

# End of Exim configuration file







I will be happy to take corrections, updates, or additions via private
email (mdm@???).

mark


mark david mcCreary
Internet Tools, Inc.            1436 West Gray #438
mdm@???          Houston, Texas 77019
http://www.internet-tools.com   713.627.9600




--
*** Exim information can be found at http://www.exim.org/ ***