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