exim.conf

download

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

# AUTOR: Dariusz Cieślak <cieslakd at gazeta.pl>
# DESCR: Exim config for workstation without permament internet
# connection using SMTP_AUTH

# parts marked with !!! MUST be adjusted
# Oznaczyłem poprzez !!! miejsca, gdzie trzeba dokonać konfiguracji

qualify_domain = localhost
local_domains = localhost
local_domains_include_host = true
local_domains_include_host_literals = true
relay_domains = 
never_users = root
host_accept_relay = localhost
trusted_users = mail
smtp_verify = false
gecos_pattern = ^([^,:]*)
gecos_name = $1
smtp_accept_queue_per_connection = 0
freeze_tell_mailmaster = true
log_rewrites = true
received_header_text = "Received: \
         ${if def:sender_rcvhost {from ${sender_rcvhost}\n\t}\
         {${if def:sender_ident {from ${sender_ident} }}\
         ${if def:sender_helo_name {(helo=${sender_helo_name})\n\t}}}}\
         by ${primary_hostname} \
         ${if def:received_protocol {with ${received_protocol}}} \
         (Exim ${version_number} #${compile_number} (Debian))\n\t\
         id ${message_id}\
         ${if def:received_for {\n\tfor <$received_for>}}"
end


######################################################################
#                      TRANSPORTS CONFIGURATION                      #
######################################################################
#                       ORDER DOES NOT MATTER                        #
#     Only one appropriate transport is called for each delivery.    #
######################################################################

local_delivery:
  driver = appendfile
  group = mail
  mode = 0660
  mode_fail_narrower = false
  envelope_to_add = true
  file = /var/spool/mail/${local_part}

address_pipe:
  driver = pipe
  return_output

address_file:
  driver = appendfile

address_directory:
  driver = appendfile
  no_from_hack
  prefix = ""
  suffix = ""

address_reply:
  driver = autoreply

procmail_pipe:
  driver = pipe
  command = "/usr/bin/procmail -d ${local_part}"
  return_path_add
  delivery_date_add
  envelope_to_add
  check_string = "From "
  escape_string = ">From "
  user = $local_part
  group = mail

remote_smtp:
  driver = smtp
  authenticate_hosts = smtp.poczta.onet.pl

end


######################################################################
#                      DIRECTORS CONFIGURATION                       #
#             Specifies how local addresses are handled              #
######################################################################
#                          ORDER DOES MATTER                         #
#   A local address is passed to each in turn until it is accepted.  #
######################################################################

real_local:
  prefix = real-
  driver = localuser
  transport = local_delivery

system_aliases:
  driver = aliasfile
  file_transport = address_file
  pipe_transport = address_pipe
  file = /etc/aliases
  search_type = lsearch

procmail:
  driver = localuser
  transport = procmail_pipe
  require_files = ${local_part}:+${home}:+${home}/.procmailrc:+/usr/bin/procmail
  no_verify
    
userforward:
  driver = forwardfile
  file_transport = address_file
  pipe_transport = address_pipe
  reply_transport = address_reply
  no_verify
  check_ancestor
  file = .forward
  modemask = 002
  filter

localuser:
  driver = localuser
  transport = local_delivery

end


######################################################################
#                      ROUTERS CONFIGURATION                         #
#            Specifies how remote addresses are handled              #
######################################################################
#                          ORDER DOES MATTER                         #
#  A remote address is passed to each in turn until it is accepted.  #
######################################################################

smarthost:
  driver = domainlist
  transport = remote_smtp

# !!! replace by Your SMTP smarthost
# !!! zamień na adres serwera dla swojej poczty wychodzącej
  route_list = "* smtp.poczta.onet.pl bydns_a"

end


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

# This single retry rule applies to all domains and all errors. 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.

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

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

end


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

# !!! replace by Your mail address
# !!! zamień na swój adres mailowy
@localhost        jan.kowalski@onet.pl        Ffrs

end

######################################################################
# AUTH
######################################################################

onet_auth:
    driver = plaintext
    public_name = PLAIN

# !!! replace by ^your-mail-address^your-password
# !!! zamień na ^twoj-adres-mailowy^twoje-haslo
    client_send = "^jan.kowalski^tajne-hasło"

end

# End of Exim configuration file

(...) Nie ma bowiem łatwych odpowiedzi. Nie istnieje nic takiego jak najlepsze rozwiązanie - zarówno jeśli chodzi o narzędzia, jak i języki czy systemy operacyjne. Są jedynie systemy, które mogą być bardziej odpowiednie w konkretnych okolicznościach.

I tu właśnie do gry wchodzi pragmatyzm. Nie należy przywiązywać się do żadnej określonej metody, ale mieć na tyle rozległą wiedzę i doświadczenie, by w danej sytuacji wybrać dobre rozwiązanie. (...)

Andrew Hunt, David Thomas "Pragmatyczny Programista"