Hallo ihr lieben,
ich habe vor langer langer Zeit meinen Mail-Server nach dem Tutorial Exim4+Vexim aufgesetzt. Nun habe ich jedoch das Problem, dass sämtliche Mails an root an meinen privaten Account (micro) gesendet werden und ich weiß nicht, wo ich das eingestellt habe. Ist das Standard? Denn never_users = root ist gesetzt und die Route mmm_mail4root ist auch standard. Ein Alias für root an micro habe ich auch nicht gesetzt in /etc/aliases. Habt ihr eine Idee woran das liegen kann?
Jetzt aber ersteinmal gute Nacht.
m!cro
[Exim4] Mails an root
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: [Exim4] Mails an root
Wie sieht deine Routerkonfiguration aus? Poste deine exim.conf (ohne Kommentare und in CODE-Tags).
-
- Posts: 120
- Joined: 2004-04-04 21:24
Re: [Exim4] Mails an root
Code: Select all
system_filter = /etc/exim4/system_filter
system_filter_user = Debian-exim
MAILMAN_HOME=/var/lib/mailman
MAILMAN_WRAP=MAILMAN_HOME/mail/mailman
MAILMAN_USER=list
MAILMAN_GROUP=daemon
MY_IP = 212.227.xx.xx
VIRTUAL_DOMAINS = SELECT DISTINCT domain FROM domains WHERE type = 'local' AND enabled = '1' AND domain = '${quote_mysql:$domain}'
RELAY_DOMAINS = SELECT DISTINCT domain FROM domains WHERE type = 'relay' AND domain = '${quote_mysql:$domain}'
ALIAS_DOMAINS = SELECT DISTINCT alias FROM domainalias WHERE alias = '${quote_mysql:$domain}'
domainlist local_domains = @ : ${lookup mysql{VIRTUAL_DOMAINS}} : ${lookup mysql{ALIAS_DOMAINS}}
domainlist relay_to_domains = ${lookup mysql{RELAY_DOMAINS}}
hostlist relay_from_hosts = localhost : MY_IP
trusted_users = vmail:www-data
hide mysql_servers = localhost::(/var/run/mysqld/mysqld.sock)/vexim/vexim/xxxxxxxx
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_content
acl_smtp_helo = acl_check_helo
av_scanner = clamd:/var/run/clamav/clamd.ctl
spamd_address = 127.0.0.1 783
exim_user = Debian-exim
exim_group = Debian-exim
never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 5h
timeout_frozen_after = 1d
allow_mx_to_ip = true
log_selector = +subject
######################################################################
# ACL CONFIGURATION #
######################################################################
begin acl
.include /etc/exim4/vexim-acl-check-spf.conf
acl_check_helo:
# Include Vexim specific helo ACLs
.include /etc/exim4/vexim-acl-check-helo.conf
acl_check_rcpt:
accept hosts = :
# Include Vexim specific rcpt ACLs
.include /etc/exim4/vexim-acl-check-rcpt.conf
deny local_parts = ^.*[@%!/|] : ^\.
accept local_parts = postmaster
domains = +local_domains
accept domains = +local_domains
endpass
verify = recipient
accept domains = +relay_to_domains
endpass
verify = recipient
accept hosts = +relay_from_hosts
accept authenticated = *
deny message = relay not permitted
acl_check_content:
# Include Vexim specific rcpt ACLs
.include /etc/exim4/vexim-acl-check-content.conf
# finally accept all the rest
accept
######################################################################
# ROUTERS CONFIGURATION #
######################################################################
begin routers
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
mailman_router:
driver = accept
require_files = MAILMAN_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* :
-confirm+* : -join : -leave :
-owner : -request : -admin
headers_remove = X-Spam-Score:X-Spam-Report
transport = mailman_transport
ditch_maxmsgsize:
driver = redirect
allow_fail
condition = ${if >{$message_size}{${lookup mysql{select users.maxmsgsize from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.maxmsgsize > 0
and users.domain_id=domains.domain_id }{${value}K}fail}} {yes}{no}}
data = :fail:nYour message is too big.n
Your message was rejected because the user $local_part@$domainn
does not accept messages larger than
${lookup mysql{select users.maxmsgsize from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.maxmsgsize > 0
and users.domain_id=domains.domain_id}{${value}K}fail} Kb.
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part
ditch_malware:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if and { {match {$h_X-ACL-Warn:}{.*malware.*}}
{eq {${lookup mysql{select users.on_avscan from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.on_avscan = '1'
and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }
ditch_spam:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if >{$spam_score_int}{${lookup mysql{select users.sa_refuse * 10 from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.on_spamassassin = '1'
and users.domain_id=domains.domain_id
and users.sa_refuse > 0 }{$value}fail}} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part
ditch_hdrmailer:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if eq {${lookup mysql{select count(*) from blocklists,users,domains
where blocklists.blockhdr = 'x-mailer'
and blocklists.blockval = '${quote_mysql:$h_x-mailer:}'
and users.localpart = '${quote_mysql:$local_part}'
and domains.domain = '${quote_mysql:$domain}'
and domains.domain_id=blocklists.domain_id
and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part
ditch_hdrto:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if eq {${lookup mysql{select count(*) from blocklists,users,domains
where blocklists.blockhdr = 'to'
and blocklists.blockval = '${quote_mysql:$h_to:}'
and users.localpart = '${quote_mysql:$local_part}'
and domains.domain = '${quote_mysql:$domain}'
and domains.domain_id=blocklists.domain_id
and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part
ditch_hdrfrom:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if eq {${lookup mysql{select count(*) from blocklists,users,domains
where blocklists.blockhdr = 'from'
and blocklists.blockval = '${quote_mysql:$h_from:}'
and users.localpart = '${quote_mysql:$local_part}'
and domains.domain = '${quote_mysql:$domain}'
and domains.domain_id=blocklists.domain_id
and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part
ditch_hdrsubject:
driver = redirect
allow_fail
data = :blackhole:
condition = ${if eq {${lookup mysql{select count(*) from blocklists,users,domains
where blocklists.blockhdr = 'subject'
and blocklists.blockval = '${quote_mysql:$h_subject:}'
and users.localpart = '${quote_mysql:$local_part}'
and domains.domain = '${quote_mysql:$domain}'
and domains.domain_id=blocklists.domain_id
and users.user_id=blocklists.user_id}}}{1} {yes}{no}}
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part
virtual_vacation:
driver = accept
condition = ${if and { {!match {$h_precedence:}{(?i)junk|bulk|list}}
{eq {${lookup mysql{select users.on_vacation from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.on_vacation = '1'
and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }
no_verify
no_expn
unseen
transport = virtual_vacation_delivery
virtual_forward:
driver = redirect
check_ancestor
unseen = ${if eq {${lookup mysql{select unseen from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.on_forward = '1'
and users.domain_id=domains.domain_id}}}{1} {yes}{no}}
data = ${lookup mysql{select forward from users,domains
where localpart='${quote_mysql:$local_part}'
and domain='${quote_mysql:$domain}'
and users.domain_id=domains.domain_id
and on_forward = '1'}}
# We explicitly make this condition NOT forward mailing list mail!
condition = ${if and { {!match {$h_precedence:}{(?i)junk}}
{eq {${lookup mysql{select users.on_forward from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.on_forward = '1'
and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }
virtual_domains:
driver = redirect
allow_fail
data = ${lookup mysql{select smtp from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and domains.enabled = '1'
and users.enabled = '1'
and users.domain_id = domains.domain_id}}
headers_add = ${if >{$spam_score_int}{${lookup mysql{select users.sa_tag * 10 from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.on_spamassassin = '1'
and users.domain_id=domains.domain_id }{$value}fail}} {X-Spam-Flag: YESn}{} }
headers_remove = ${if or { { <{$spam_score_int}{1} }
{ <{$spam_score_int}{${lookup mysql{select users.sa_tag * 10 from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.on_spamassassin = 1
and users.domain_id=domains.domain_id}{$value}fail}} }
{ eq {0}{${lookup mysql{select users.sa_tag * 10 from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.on_spamassassin = 0
and users.domain_id=domains.domain_id}{$value}fail}}}
} {X-Spam-Score:X-Spam-Report} }
local_part_suffix = -*
local_part_suffix_optional
retry_use_local_part
file_transport = virtual_delivery
reply_transport = address_reply
pipe_transport = address_pipe
.include /etc/exim4/vexim-group-router.conf
userforward:
driver = redirect
check_local_user
file = $home/.forward
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe_local
reply_transport = address_reply
condition = ${if exists{$home/.forward} {yes} {no} }
group = mail
localuser:
driver = accept
check_local_user
transport = local_delivery
cannot_route_message = Unknown user
virtual_domains_catchall:
driver = redirect
allow_fail
data = ${lookup mysql{select smtp from users,domains where localpart = '*'
and domain = '${quote_mysql:$domain}'
and users.domain_id = domains.domain_id}}
retry_use_local_part
file_transport = virtual_delivery
reply_transport = address_reply
pipe_transport = address_pipe_catchall
virtual_domain_alias:
driver = redirect
allow_fail
data = ${lookup mysql{select concat('${quote_mysql:$local_part}@', domain)
from domains,domainalias where domainalias.alias = '${quote_mysql:$domain}'
and domainalias.domain_id = domains.domain_id}}
retry_use_local_part
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
user = Debian-exim
group = Debian-exim
file_transport = address_file
pipe_transport = address_pipe
######################################################################
# TRANSPORTS CONFIGURATION #
######################################################################
begin transports
remote_smtp:
driver = smtp
local_delivery:
driver = appendfile
directory = $home/Maildir
delivery_date_add
envelope_to_add
return_path_add
group = mail
user = $local_part
mode = 0660
no_mode_fail_narrower
maildir_format = true
virtual_delivery:
driver = appendfile
envelope_to_add
return_path_add
mode = 0600
maildir_format = true
create_directory = true
directory = ${lookup mysql{select smtp from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.domain_id = domains.domain_id}}
user = ${lookup mysql{select users.uid from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.domain_id = domains.domain_id}}
group = ${lookup mysql{select users.gid from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.domain_id = domains.domain_id}}
quota = ${lookup mysql{select users.quota from users,domains
where localpart = '${quote_mysql:$local_part}'
and domain = '${quote_mysql:$domain}'
and users.domain_id = domains.domain_id}{${value}M}}
quota_is_inclusive = false
#quota_size_regex = ,S=(d+):
quota_warn_threshold = 75%
maildir_use_size_file = false
quota_warn_message = "To: $local_part@$domainn
Subject: Mailbox quota warningnn
This message was automatically generated by the mail delivery software.nn
You are now using over 75% of your allocated mail storage quota.nn
If your mailbox fills completely, further incoming messages will be automaticallyn
returned to their senders.nn
Please take note of this and remove unwanted mail from your mailbox.n"
virtual_vacation_delivery:
driver = autoreply
from = "${local_part}@${domain}"
to = ${sender_address}
subject = "Autoreply from ${local_part}@${domain}"
text = ${lookup mysql{select vacation from users,domains
where domain='${quote_mysql:$domain}'
and localpart='${quote_mysql:$local_part}'
and users.domain_id=domains.domain_id}}
mailman_transport:
driver = pipe
command = MAILMAN_WRAP
'${if def:local_part_suffix
{${sg{$local_part_suffix}{-(\w+)(\+.*)?}{$1}}}
{post}}'
$local_part
current_directory = MAILMAN_HOME
home_directory = MAILMAN_HOME
user = MAILMAN_USER
group = MAILMAN_GROUP
address_pipe:
driver = pipe
return_output
user = ${lookup mysql{select users.uid from users,domains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_id}}
group = ${lookup mysql{select users.gid from users,domains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_id}}
address_pipe_catchall:
driver = pipe
return_output
user = ${lookup mysql{select users.uid from users,domains where localpart = '*' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_id}}
group = ${lookup mysql{select users.gid from users,domains where localpart = '*' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_id}}
address_pipe_local:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
######################################################################
# RETRY CONFIGURATION #
######################################################################
begin retry
# Domain Error Retries
# ------ ----- -------
* * F,2h,15m; G,16h,1h,1.5; F,14d,6h
######################################################################
# REWRITE CONFIGURATION #
######################################################################
begin rewrite
######################################################################
# AUTHENTICATION CONFIGURATION #
######################################################################
begin authenticators
fixed_cram:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT clear FROM users WHERE username = '${quote_mysql:$1}'}{$value}
{${extract{2}{:}{${lookup{$1}lsearch{/etc/exim4/passwd}{$value}fail}}}}}
server_set_id = $1
plain_login:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT '1' FROM users WHERE username = '${quote_mysql:$2}' AND clear = '${quote_mysql:$3}'}{yes}
{${if crypteq{$3}{${extract{1}{:}{${lookup{$2}lsearch{/etc/exim4/passwd}{$value}{*:*}}}}}{yes}{no}}}}
server_set_id = $2
fixed_login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${lookup mysql{SELECT '1' FROM users WHERE username = '${quote_mysql:$1}' AND clear = '${quote_mysql:$2}'} {yes}
{${if crypteq{$2}{${extract{1}{:}{${lookup{$1}lsearch{/etc/exim4/passwd}{$value}{*:*}}}}}{yes}{no}}}}
server_set_id = $1
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: [Exim4] Mails an root
So, und jetzt noch den Inhalt von /etc/aliases.
-
- Posts: 120
- Joined: 2004-04-04 21:24
Re: [Exim4] Mails an root
Code: Select all
# /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
clamav: root
noreply: micro
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: [Exim4] Mails an root
Existiert im Homeverzeichnis von root vielleicht eine .forward Datei oder hast du für deine Domain, die in /etc/hostname eingetragen ist, einen Catch-All eingerichtet?
Ansonsten kannst du einfach mit `exim -bt root` überprüfen, welcher Router und welcher Transport für die Zustellung der Mails an root benutzt werden.
Ansonsten kannst du einfach mit `exim -bt root` überprüfen, welcher Router und welcher Transport für die Zustellung der Mails an root benutzt werden.
-
- Posts: 120
- Joined: 2004-04-04 21:24
Re: [Exim4] Mails an root
Nein hatte ich auch schon geschaut. In /root gibt es keine .forward. Für die Domain habe ich glaub ich eine Catch-All angelegt - über Vexim! Stimmt da muss ich sofort mal schauen.
> exim -bt root
micro(at)domain.de -> |/usr/bin/procmail
transport = address_pipe_local
m!cro
> exim -bt root
micro(at)domain.de -> |/usr/bin/procmail
transport = address_pipe_local
m!cro
-
- Posts: 120
- Joined: 2004-04-04 21:24
Re: [Exim4] Mails an root
Boahr ich Depp!! Hatte ein Forward über vexim angelegt! Alles klar. THX.