[Exim] Local Mails

Top Page
Delete this message
Reply to this message
Author: <p.caseiro@voila.fr>
Date:  
To: exim-users
Subject: [Exim] Local Mails
I'm French ! sorry for my english ...

How to scan Local mails with exiscan exim 4.30 Spamassassin Clamav with this configuration file :


acl_smtp_rcpt = check_recipient
acl_smtp_data = check_message

domainlist local_domains = localhost : \
    i-eleves.ac-dijon.fr : \
    eleves.ac-dijon.fr : \
    eleves.lan


domainlist relay_domains = ac-dijon.fr
hostlist relay_hosts = localhost : 192.168.221.100

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


return_size_limit = 20K
rfc1413_hosts = !*
rfc1413_query_timeout = 0s
auto_thaw = 5m

#- Adresse de SpamAssassin -#
spamd_address = 127.0.0.1 783
#---------------------------#

#------ Adresse de ClamAV ------#
av_scanner = clamd:127.0.0.1 3310
#-------------------------------#

#------------------ Adresse du Serveur LDAP -------------------------#
ldap_default_servers = scribe.eleves.lan::389 : localhost::389
#--------------------------------------------------------------------#

qualify_domain = eleves.ac-dijon.fr

#qualify_recipient = i-eleves.ac-dijon.fr

#relay_domains =

never_users = root

#host_lookup = *

# headers_check_syntax

#rbl_domains = rbl.maps.vix.com
#rbl_reject_recipients = false
#rbl_warn_header = true

# percent_hack_domains=*

trusted_users = mail:root:apache:sympa:clamd

gecos_pattern = ^([^,:]*)
gecos_name = $1

smtp_accept_queue_per_connection = 100
queue_only_load = 6

freeze_tell = postmaster

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>}}"


######################################################################
#                          ACL CONFIGURATION                         #
######################################################################


begin acl

check_recipient:
accept hosts = 127.0.0.1 : 172.16.0.0/24
accept domains = +local_domains
accept domains = +relay_domains
accept hosts = +relay_hosts
deny message = relay not permitted

check_message:
  deny    message = Ce message contient une mauvaise entête MIME:($demime_reason).
      demime = *
    condition = ${if > {$demime_errorlevel}{2}{1}{0}}


  deny    message = Extention (.$found_extension) INTERDITE
      demime = bat:com:exe:pif:prf:scr:vbs


  warn    message = X-Spam-Score: $spam_score
      spam = nobody:true


  warn    message = X-Spam-Report: $spam_report
      spam = nobody:true


  warn  message = **Eole***SPAM***Eole** $h_Subject
    spam = nobody


  deny     message = Ce message est un Spam score de $spam_score points.
      spam = nobody:true
    condition = ${if > {$spam_score_int}{5}{1}{0}}


  deny    message = Ce message contient le virus ($malware_name)
      demime = *
    malware = *
  accept




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


#*@rose.alcove-fr    ${lookup{$1}lsearch{/etc/email-addresses}\
#                        {$value}fail} bcfrF






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




begin routers

dnslookup:
#remote_mail:
  driver = dnslookup
  condition = \
"${if and {\
    {match{$sender_address_domain}{i-eleves.ac-dijon.fr}}\
    {!match{$domain}{ac-dijon.fr}}\
    }\
    {yes}{no}}"
  #domains = ! +local_domains
  transport = not_permited_in


# Remote addresses are those with a domain that does not match any item
# in the "local_domains" setting above.


smart_route:
driver = manualroute
domains = !+local_domains
transport = remote_smtp
route_list = * smtp.dijon.men.fr


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


# This allows local delivery to be forced, avoiding alias files and
# forwarding.

real_local:
#!!# prefix renamed local_part_prefix
driver = accept
check_local_user
local_part_prefix = real-
transport = local_delivery


incoming_mail:
  driver = accept
  condition = \
 "${if or {\
        {and {\
            {match {$received_protocol}{smtp}}\
            {match {$sender_address_domain}{ac-dijon.fr}}\
                  }\
        }\
         {and {\
             {match {$received_protocol}{smtp}}\
             {eq {$domain}{eleves.ac-dijon.fr}}\
                   }\
         }\
        {match {$received_protocol}{local}}\
      }\
      {No}{Yes}\
}"
  retry_use_local_part
  transport = poubelle



ldap_user:
driver = redirect
allow_defer
data =${expand:${lookup ldap{ldap://localhost:389/o=gouv,c=fr?mailDir?sub?
(mail=$local_part@$domain)}}}
directory_transport = address_directory_ldap
file_transport = address_file_ldap
retry_use_local_part
#search_type = ldapm # Recherche multiple
#errors_to = real-admin

ldap_aliases:
driver = redirect
allow_defer
data =${lookup ldapm {ldap://localhost:389/o=gouv,c=fr?mailDir?sub?
(mailAlternateAddress=$local_part@$domain)}}
directory_transport = address_directory_ldap
file_transport = address_file_ldap
qualify_preserve_domain
retry_use_local_part

system_aliases:
driver = redirect
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
file_transport = address_file
pipe_transport = address_pipe
retry_use_local_part
# user =
# Uncomment the above line if you are running smartlist
sympa_aliases:
driver = redirect
allow_defer
data = ${lookup{$local_part}lsearch{/etc/mail/sympa_aliases}}
file_transport = address_file
pipe_transport = address_pipe
retry_use_local_part
user = sympa

#localuser:
# driver = localuser
# transport = local_delivery



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


begin transports

not_permited_in:
driver = autoreply
from = "Postmaster <administrateur@???>"
return_message
text = "Vous n'êtes pas autorisés à envoyer de mail sur Internet"
to = $sender_address
user = mail

not_permited_ext:
driver = autoreply
from = "Postmaster <administrateur@???>"
return_message
text = "Le destinataire ne peut pas recevoir de message en provenance d'internet"
to = $sender_address
user = mail


local_delivery:
debug_print = "T: appendfile for $local_part@$domain"
driver = appendfile
envelope_to_add
file = /var/spool/mail/${local_part}
group = mail
mode = 0660
no_mode_fail_narrower
user = mail

address_pipe:
driver = pipe
return_output


address_file:
driver = appendfile


address_directory:
driver = appendfile
check_string =
message_prefix = ""
message_suffix = ""

address_reply:
driver = autoreply

# This transport is used for procmail

poubelle:
driver = appendfile
file = /dev/null
group = mail
user = mail

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

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

remote_smtp:
driver = smtp


address_directory_ldap:
#!!# no_from_hack replaced by check_string
driver = appendfile
check_string =
create_directory
directory_mode = 0770
group = mail
maildir_format
mode = 0660
quota = 10M
user = mail

address_file_ldap:
driver = appendfile
use_lockfile




######################################################################
#                      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
# ------               -----       -------



begin retry

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



# End of Exim 4 configuration
##################################################################################################

I have a Horde WebMail runing under Apache.

Thanks

I speak french and protuges !!


------------------------------------------

Faites un voeu et puis Voila ! www.voila.fr