Автор: AlexFeoEkb
Дата сообщения: 17.06.2015 12:25
[more] Чтож, попробую быть нормальным, хоть и не думаю, что дата\время ошибки сильно на что-то влияет...
Первая ошибка:
2015-06-15 09:54:47 1Z4MQ3-000501-Q8 == mahneva@domain.ru R=ldap_check T=ldap_delivery defer (2): No such file or directory: while renaming /home/vmail/mahneva/Maildir/new/temp.19236.mail.domain.ru as /home/vmail/mahneva/Maildir/new/q1Z4MQ3-8912934
При этом письмо до ходит до адресата, но висит в очереди эксима, как не доставленное.
Далее в логах:
2015-06-15 10:22:29 1Z4MQ3-000501-Q8 == mahneva@domain.ru R=ldap_check T=ldap_delivery defer (-52): Retry time not yet reached
И потом опять:
1Z4MQ3-000501-Q8 == mahneva@domain.ru R=ldap_check T=ldap_delivery defer (2): No such file or directory: while renaming /home/vmail/mahneva/Maildir/new/temp.20462.mail.domain.ru as /home/vmail/mahneva/Maildir/new/q1Z4Mv6-557815
Повторная доставка того же письма. И так до тех пор, пока не удалишь его из очереди.
[more=exim.conf]ldap_default_servers = ads.account.domain.ru
LDAP_AD_BINDDN = "cn=usr,cn=users,dc=account,dc=domain,dc=ru"
LDAP_AD_PASS = pswd
LDAP_AD_BASE_DN = "dc=account,dc=domain,dc=ru"
LDAP_AD_MAIL_RCPT = user=LDAP_AD_BINDDN passLDAP_AD_PASS \
ldap://dc=account,dc=domain,dc=ru(&(objectClass=person)(mail=${quote_ldap:${local_part}@${domain}}))
#######################################################
# MAIN CONFIGURATION SETTINGS #
######################################################
primary_hostname = mail.domain.ru
domainlist local_domains = @ : localhost : localhost.localdomain : domain.ru
domainlist relay_to_domains =
hostlist relay_from_hosts = 127.0.0.1 : localhost
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_smtp_mime = acl_check_mime
daemon_smtp_ports = 25 : 465 : 587
tls_on_connect_ports = 465
qualify_domain = domain.ru
qualify_recipient = mail.domain.ru
allow_domain_literals = false
never_users = root
rfc1413_query_timeout = 5s
ignore_bounce_errors_after = 45m
timeout_frozen_after = 3d
auth_advertise_hosts = *
helo_accept_junk_hosts = 192.168.12.0/24
auto_thaw = 15m
message_size_limit = 40M
helo_allow_chars = _
smtp_enforce_sync = true
syslog_timestamp = no
split_spool_directory = true
remote_max_parallel = 15
smtp_accept_max = 60
system_filter = /etc/exim/forward.conf
##################################################
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
#####################################################
begin acl
acl_check_rcpt:
accept hosts = :
deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
require verify = sender
deny senders = /etc/exim/deny_senders
message = "You don't access to send email."
deny senders = /etc/exim/local_senders
domains = !+local_domains
message = "You allow to send email only to local_domain."
accept hosts = +relay_from_hosts
control = submission
accept authenticated = *
control = submission
require message = relay not permitted
domains = +local_domains
##########################################################################
accept condition = ${lookup{$sender_host_address}iplsearch{/etc/exim/friendly_hosts_ip}{yes}{no}}
domains = +local_domains
accept condition = ${lookup{$sender_host_name}wildlsearch{/etc/exim/whitelist_sender_hosts}{yes}{no}}
domains = +local_domains
accept condition = ${lookup{$sender_address}wildlsearch{/etc/exim/whitelist_senders}{yes}{no}}
domains = +local_domains
##########################################################################
drop message = Bad HELO: I am the localhost!
condition = ${if eq{localhost}{$sender_helo_name}}
drop message = Bad HELO: Host impersonating [$sender_helo_name]
condition = ${if match{$sender_helo_name}{$primary_hostname}{yes}{no}}
drop message = Bad HELO: Host impersonating [$sender_helo_name]
condition = ${if match_domain{$sender_helo_name}{+local_domains}{true}{false}}
drop message = Bad HELO: empty. Required by RFC.
condition = ${if eq {$sender_helo_name}{}{yes}{no}}
drop condition = ${if eq{$sender_helo_name}{$interface_address}{yes}{no}}
message = "550 - Main IP in your HELO! Access denied! Email for contact to us: administrator@domain.ru."
drop condition = ${if match{$sender_helo_name}{\N^\d+$\N}{yes}{no}}
message = "550 - Can not be only number in HELO! Email for contact to us: administrator@domain.ru."
drop message = "550 - Your helo is bad (adsl,pool,ppp & etc). Email for contact to us: administrator@domain.ru."
condition = ${if match{$sender_helo_name} \
{astral|bbtec|broadband|cable|chello|client|cable|comcast|dsl|dslam|dial|dialin|dynamic|dynip|home|host-|hsd|hlfx|kabel|node|pool|peer|ppp|ipconnect|res|static|dhcp}{yes}{no}}
deny message = "550 - Access denied - pleace, contact with postmaster!"
condition = ${if match{$sender_helo_name}{\N((?>\w+[\-]){3,})\N}{yes}{no}}
##########################################################################
warn condition = ${if eq{$sender_address}{}{yes}{no}}
message = "550 - You HELO is empty! Access denied!"
deny message = "550 - Broken Reverse DNS: no host name for sender IP address $sender_host_address."
!verify = reverse_host_lookup
deny message = "550 - Access denied - pleace, contact with postmaster!"
condition = ${if match{$sender_host_name}{\N((?>\w+[\-]){3,})\N}{yes}{no}}
deny message = "550 - Access denied - pleace, contact with postmaster! Email for contact to us: administrator@domain.ru."
condition = ${if match{$sender_host_name}{\N((?>\w+[\.|\-]){5,})\N}{yes}{no}}
deny message = "550 - Your hostname is bad (adsl,pool,ppp & etc). Email for contact to us: administrator@domain.ru."
condition = ${if match{$sender_host_name} \
{astral|bbtec|broadband|cable|chello|client|cable|comcast|dsl|dslam|dial|dialin|dyn|dynamic|dynip|home|host-|hsd|hlfx|kabel|node|pool|peer|ppp|ipconnect|res|static|dhcp}{yes}{no}}
deny message = "550 - sender IP address $sender_host_address is locally blacklisted here. Email for contact to us: administrator@domain.ru."
hosts = net-iplsearch;/etc/exim/blacklist_ip
deny message = "550 - sender domain address $sender_host_address is locally blacklisted here. Email for contact to us: administrator@domain.ru."
hosts = wildlsearch;/etc/exim/blacklist_domains
deny message = "Sender rate SMTP overlimit - $sender_rate / $sender_rate_period. Email for contact to us: administrator@domain.ru."
ratelimit = 100 / 1h / strict
warn
hosts = +relay_from_hosts
hosts = net-lsearch;/etc/exim/friendly_hosts_ip
hosts = wildlsearch;/etc/exim/whitelist_sender_hosts
senders = wildlsearch;/etc/exim/whitelist_senders
set acl_m0 = 0s
require verify = recipient
# At this point, the address has passed all the checks that have been
# configured, so we accept it unconditionally.
accept
# This ACL is used after the contents of a message have been received. This
# is the ACL in which you can test a message's headers or body, and in
# particular, this is where you can invoke external virus or spam scanners.
# Some suggested ways of configuring these tests are shown below, commented
# out. Without any tests, this ACL accepts all messages. If you want to use
# such tests, you must ensure that Exim is compiled with the content-scanning
# extension (WITH_CONTENT_SCAN=yes in Local/Makefile).
acl_check_data:
accept
acl_check_mime:
# File extension filtering.
deny message = Blacklisted file extension detected
condition = ${if match \
{${lc:$mime_filename}} \
{\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com)$\N} \
{1}{0}}
accept
#####################################################
# ROUTERS CONFIGURATION #
# Specifies how addresses are handled #
##################################################
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
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
file_transport = address_file
pipe_transport = address_pipe
userforward:
driver = redirect
check_local_user
file = $home/.forward
allow_filter
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
virtualuserforward:
driver = redirect
condition = ${lookup{$local_part}lsearch{/etc/dovecot.passwd}}
file = /etc/exim/forward/$local_part
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
procmail:
driver = accept
check_local_user
require_files = ${local_part}:+${home}/.procmailrc:/usr/bin/procmail
transport = procmail
no_verify
virtual_users:
driver = accept
condition = ${lookup{$local_part}lsearch{/etc/dovecot.passwd}}
transport = dovecot_virtual_delivery
cannot_route_message = Unknown user
ldap_check:
driver = accept
domains = +local_domains
verify_recipient
condition = ${lookup ldapm{user=LDAP_AD_BINDDN pass=LDAP_AD_PASS ldap:///dc=account,dc=domain,dc=ru?sAMAccountName?sub?(&(mail=${local_part}@${domain}))}{$value}}
transport = ldap_delivery
cannot_route_message = Unknown user
######################################################################
# TRANSPORTS CONFIGURATION #
######################################################################
begin transports
remote_smtp:
driver = smtp
procmail:
driver = pipe
command = "/usr/bin/procmail -d $local_part"
return_path_add
delivery_date_add
envelope_to_add
user = $local_part
initgroups
return_output
local_delivery:
driver = appendfile
maildir_format
create_directory
directory = /var/spool/mail/$domain/$local_part
quota = 60M
maildir_tag = ,S=$message_size
quota_size_regex = ,S=(\d+)
delivery_date_add
envelope_to_add
return_path_add
group = mail
directory_mode = 770
mode = 0660
dovecot_delivery:
driver = pipe
command = /usr/libexec/dovecot/deliver
message_prefix =
message_suffix =
log_output
delivery_date_add
envelope_to_add
return_path_add
##group = dovecot
##user = dovecot
dovecot_virtual_delivery:
driver = pipe
command = /usr/libexec/dovecot/deliver -d $local_part -f $sender_address
message_prefix =
message_suffix =
log_output
delivery_date_add
envelope_to_add
return_path_add
user = vmail
ldap_delivery:
driver = appendfile
directory = /home/vmail/${lookup ldapm{user=LDAP_AD_BINDDN pass=LDAP_AD_PASS ldap:///dc=account,dc=domain,dc=ru?sAMAccountName?sub?(&(mail=${local_part}@${domain}))}{$value}}/Maildir/new
user = vmail
group = vmail
delivery_date_add
envelope_to_add
return_path_add
address_pipe:
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
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
#########################################################
# AUTHENTICATION CONFIGURATION #
#########################################################
begin authenticators
dovecot_plain:
driver = dovecot
public_name = PLAIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
dovecot_login:
driver = dovecot
public_name = LOGIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1
# End of Exim configuration file[/more]
[more=dovecot.conf]## Dovecot configuration file
protocols = imap imaps pop3 pop3s
disable_plaintext_auth = no
shutdown_clients = yes
##
## Logging
##
log_path =/var/log/dovecot.log
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
##
## SSL settings
##
ssl_disable = no
ssl_cert_file = /etc/pki/dovecot/certs/srv.crt
ssl_key_file = /etc/pki/dovecot/certs/srv.key
login_dir = /var/run/dovecot/login
login_process_size = 64
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 128
login_max_connections = 256
login_greeting = Dovecot ready.
login_log_format = %d: %n
##
## Mailbox locations and namespaces
##
mail_location = maildir:~/Maildir
##
## Mail processes
##
verbose_proctitle = no
first_valid_uid = 500
first_valid_gid = 5
##
## POP3 specific settings
##
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
##
## LDA specific settings
##
protocol lda {
postmaster_address = postmaster@domain.ru
auth_socket_path = /var/run/dovecot/auth-master
}
##
## Authentication processes
##
auth default {
mechanisms = plain login
passdb passwd-file {
args = /etc/dovecot.passwd
}
# LDAP database <doc/wiki/AuthDatabase.LDAP.txt>
passdb ldap {
args = /etc/dovecot-ldap.conf.ext
}
# static settings generated from template <doc/wiki/UserDatabase.Static.txt>
userdb static {
args = uid=vmail gid=vmail home=/home/vmail/%u allow_all_users=yes
}
# LDAP database <doc/wiki/AuthDatabase.LDAP.txt>
userdb ldap {
# Path for LDAP configuration file, see doc/dovecot-ldap-example.conf
args = /etc/dovecot-ldap.conf.ext
}
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0666
user = usr
group = grp
}
client {
path = /var/run/dovecot/auth-client
mode = 0666
user=usr
group=grp
}
}
}[/more]
[more=dovecot-ldap.conf.ext]hosts = ads.account.domain.ru:3268
dn = cn=user, cn=users, dc=account, dc=domain, dc=ru
dnpass = passwd
auth_bind = yes
ldap_version = 3
base = dc=account, dc=domain, dc=ru
user_filter = (&(objectClass=person)(sAMAccountName=%u)(UserAccountControl=66048)(mail=*))
pass_filter = (&(ObjectClass=person)(sAMAccountName=%u)(UserAccountControl=66048))[/more] [/more]