Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» FAQ по Exim MTA

Автор: tankistua
Дата сообщения: 31.05.2006 15:13
darkomen

Цитата:
192.168.5.204

ну и как valuehost.ru может проверить rdns такого хоста ?

Что у тебя там за бред твориться ? ты что через нат оправляешь почту ? тогда отправляй через smtp-сервер своего провайдера.
Автор: darkomen
Дата сообщения: 01.06.2006 17:17
у меня творится циско роутинг....уже понял, просто тупой валуехост так выдает ошибку в моём rdns

Добавлено:
подскажите мне как спул очистить у екзима?
Автор: SK2006
Дата сообщения: 03.06.2006 18:27
Здравствуйте.
У меня следующая проблема.
Есть машина, у которой один IP но несколько имен. Я настроил почту для каждого имени (exim +mysql, courier IMAP для удаленных пользователей). Проблема в следующем, exim при отправке почты на удаленный сервер указывает свой IP адрес и как имя берет primary_hostname в независимости от того, какой у отправителя домен. Т.е. для user1@domain1 он указывает www.domain1.com, и для user2@otherdomain2 он тоже указывает www.domain1.com.
Как сконфигурировать что бы было правильно и красиво?
Спасибо.
Автор: darkomen
Дата сообщения: 04.06.2006 23:35
Господа, проблемка такого плана, в данном примере конфига идёт проверка сендера на наличие в спам листе, и даже если он там находится то для авторизированных сендеров почта пропускается....однако когда таких спамлистов много а интернет не работает каждый проверяется примерно минуту и письмо висит по 10-15 мин до отправки локальному получателю(локальный домен)....как сделать так чтобы для авторизированных пользователей наличие в спам листе не проверялось вообще?

deny message = Spam blocked see: \
http://www.spamcop.net/w3m?action=checkblock&ip=$sender_host_address
log_message = found in $dnslist_domain
!authenticated = *
     dnslists = bl.spamcop.net
deny message = rejected, $sender_host_address \
Автор: EugeneSG
Дата сообщения: 06.06.2006 12:34
Мужики, огромная просьба!
Тыкните мя носом - как подружить Exim с Active Directory?

За ранее приношу свои благодарности!
Автор: tankistua
Дата сообщения: 06.06.2006 12:38
EugeneSG

а погуглить слабо ?
http://www.google.com.ua/search?client=opera&rls=ru&q=Exim+Active+Directory&sourceid=opera&ie=utf-8&oe=utf-8

Автор: EugeneSG
Дата сообщения: 06.06.2006 14:07
tankistua

Спасибо, я в гугле просто по бругому искал

Терь вот не могу нарыть dovecot + AD

мож еще подскажешь?
Автор: tankistua
Дата сообщения: 06.06.2006 15:53
ты роутер то на чем в экзиме строил ? аутентификация по ldap-у

dovecot + ldap
Автор: darkomen
Дата сообщения: 07.06.2006 15:34
А на мой вопрос кто нибудь ответит?
Автор: hoochie
Дата сообщения: 07.06.2006 15:45
darkomen
!,
Автор: DeadM0r0z
Дата сообщения: 07.06.2006 16:07
Доброго времени суток , у меня вопрос касаемо кодировок в roundcube
не могу подружить с батом , или майл ру ...
бат понимает нормально приходящие письма .. после отправки обратно на мой домен. в roundcube каракули ... ничего не понятно.. может кто поможет ?
Автор: tankistua
Дата сообщения: 08.06.2006 10:11
darkomen

Цитата:
А на мой вопрос кто нибудь ответит?

а сам догадаться не можешь , что письмо надо принять до проверок на бл-ы ?

у меня такой acl перед проверками стоит

accept hosts = +sendinghostwhitelist



Добавлено:
DeadM0r0z

Код: Project status:

Beta

Latest release:

v0.1-beta

Last update:

2006-02-19

Contact:

roundcube@gmail.com
Автор: DeadM0r0z
Дата сообщения: 08.06.2006 17:03
=) я не требую от вас ничего , вопрос был поставлен так , если кто знает как можно решить ... может кто сталкивался =)
то что бета , это понятно
Автор: darkomen
Дата сообщения: 08.06.2006 17:47
tankistua

Цитата:
а сам догадаться не можешь , что письмо надо принять до проверок на бл-ы ?

у меня такой acl перед проверками стоит

accept hosts = +sendinghostwhitelist



До такого могу, но я думал есть решение изящнее....у меня огромная структура подсетей.

Добавлено:
accept hosts = +authenticated

А так будет работать?
Автор: tankistua
Дата сообщения: 08.06.2006 18:03
darkomen
если у тебя все отправители аутентифицируются, то да. надо вставить опять жеж перед рбл-ями
Автор: darkomen
Дата сообщения: 09.06.2006 16:16
tankistua

Так как конкретно это сделать? с такой конструкцией ничего не получается
Автор: sls
Дата сообщения: 09.06.2006 21:50
Посидел тут почитал, некоторые люди пишут о том, что настраивали Exim в связке с Courier-Imap и вроде как без БД. Вот мне хотелось бы посмотреть или почитать об этом, может кто поделится опытом ? Мне БД без необходимости, так как будет максимум 5-10 человек.
Автор: dimidrol10
Дата сообщения: 10.06.2006 13:22
Как осуществлять забор внешней почты? Fetchmail настроил, но procmailom пользоваться тяжко - у меня порядка 50 ящиков - устану зибивать в конфиг. Может кто что посоветует?
Автор: Dmitry8
Дата сообщения: 13.06.2006 09:12
Вроде все нормально работает, только в логах вот это:

mail pop3(admin@xxxxx.ru): open() failed with file /var/mail/xxxxxx.ru/admin/.INBOX/.imap.index: Permission denied

На что ругается dovecot?
Автор: DarkHost
Дата сообщения: 13.06.2006 09:30

Цитата:
Посидел тут почитал, некоторые люди пишут о том, что настраивали Exim в связке с Courier-Imap и вроде как без БД. Вот мне хотелось бы посмотреть или почитать об этом, может кто поделится опытом ? Мне БД без необходимости, так как будет максимум 5-10 человек.

БД нужна больше не столько для обработки большего числа аккаунтов, сколько для безопасности, чтобы системные пароли и пароли на почту отличались. Не забывай, по-умолчанию,через POP3 пароли передаются в открытом виде и, перехватив их, можно делать что хочешь. Разница же в производительности при использовании БД и без нее наблюдается лишь при наличии нескольких тысяч аккаунтов. Кстати, при наличии малого числа аккантов и при использовании БД, наблюдается скорее снижение производительности. Это так, о рациональности использования.
В остальном, если хочешь использовать local_user, то не нужно править ни Courier, ни Exim.
Автор: tankistua
Дата сообщения: 13.06.2006 10:09
sls

Цитата:
Посидел тут почитал, некоторые люди пишут о том, что настраивали Exim в связке с Courier-Imap и вроде как без БД. Вот мне хотелось бы посмотреть или почитать об этом, может кто поделится опытом ? Мне БД без необходимости, так как будет максимум 5-10 человек.

у меня есть конфиг екзим с довекотом , хранение логинов и паролей в текстовом виде. Могу поделиться .

Добавлено:
Квоты вообще не используются - сервак офисный, там 15 юзеров. smtp-аутентификация тоже не настроена - если кто настроит, буду признателен. У меня не получается.
На абсолютность не претендую, если кто поправит - буду признателен.

Конфиг екзима
[more]
smtp_banner = "$smtp_active_hostname ESMTP Server $tod_full"

VMAILDIR = /usr/local/vmail

domainlist local_domains = @ : dsearch; VMAILDIR/users
domainlist relay_to_domains =
hostlist relay_from_hosts = localhost : 194.93.191.144/28

av_scanner = clamd:/var/run/clamav/clamd
spamd_address = 127.0.0.1 783

acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

exim_user = mailnull
exim_group = mail
never_users = root

host_lookup = *
rfc1413_hosts = !*
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d
accept_8bitmime = true

log_selector = +all
######################################################################
# 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 = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

warn message = X-SenderHostName: $sender_host_name
hosts = ! +relay_from_hosts

warn message = X-SenderNoBackresolve: yes
log_message = No backresolving for $sender_host_address
condition = ${if def:sender_host_name {no} {yes}}

require verify = sender

accept local_parts = postmaster
domains = +local_domains

accept hosts = +relay_from_hosts
control = submission

accept authenticated = *
control = submission

accept domains = +local_domains
endpass
verify = recipient

accept domains = +relay_to_domains
endpass
verify = recipient

deny message = relay not permitted

acl_check_data:

deny message = Contains file with forbidden extension: $found_extension
demime = exe:com:bat:cmd:vbs:pl:bas:js:java:reg:shs:pif:scr:dll:ssh:chm:hlp:lnk:cpl

# Deny if the message contains a virus. Before enabling this check, you
# must install a virus scanner and set the av_scanner option above.

deny message = This message contains a virus ($malware_name).
demime = *
malware = *

accept add_header = X-Spam-Checked: NO
condition = ${if < {$message_size}{200k}{yes}{no}}

# Add headers to a message if it is judged to be spam. Before enabling this,
# you must install SpamAssassin. You may also need to set the spamd_address
# option above.

warn spam = nobody
message = X-Spam_score: $spam_score\n\
X-Spam_score_int: $spam_score_int\n\
X-Spam_bar: $spam_bar\n\
X-Spam_report: $spam_report

# Accept the message.

accept

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}}
user = mailnull
group = mail
file_transport = address_file
pipe_transport = address_pipe

vmail_aliases:
driver = redirect
allow_fail
allow_defer
require_files = VMAILDIR/aliases/$domain
data = ${lookup{$local_part}lsearch{VMAILDIR/aliases/$domain}}
user = vmail
group = vmail
file_transport = address_file
pipe_transport = address_pipe

vmail_user:
driver = accept
condition = ${if eq{} {${lookup {$local_part} lsearch{VMAILDIR/users/$domain}}}{no}{yes}}
user = vmail
group = vmail
local_part_suffix = +*
local_part_suffix_optional
transport = vmail_delivery
######################################################################
# TRANSPORTS CONFIGURATION #
######################################################################

begin transports

remote_smtp:
driver = smtp

vmail_delivery:
driver = appendfile
user = vmail
group = vmail
mode = 0600
directory=VMAILDIR/mail/$domain/$local_part/Maildir
maildir_format = true
mode_fail_narrower = false
envelope_to_add = true
return_path_add = true

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

# 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 1 hour and increasing each time by a factor of 1.5, up to 16
# hours, then retries every 6 hours until 4 days have passed since the first
# failed delivery.

# Address or Domain Error Retries
# ----------------- ----- -------

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



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

# There are no rewriting specifications in this default configuration file.

begin rewrite



######################################################################
# AUTHENTICATION CONFIGURATION #
######################################################################

# There are no authenticator specifications in this default configuration file.

begin authenticators

######################################################################
# CONFIGURATION FOR local_scan() #
######################################################################

# If you have built Exim to include a local_scan() function that contains
# tables for private options, you can define those options here. Remember to
# uncomment the "begin" line. It is commented by default because it provokes
# an error with Exim binaries that are not built with LOCAL_SCAN_HAS_OPTIONS
# set in the Local/Makefile.

# begin local_scan


# End of Exim configuration file

[/more]


конфиг довекота.

[more]
protocols = imap pop3
ssl_disable = yes
disable_plaintext_auth = no
syslog_facility = local5
login_chroot = yes
login_user = dovecot
login_process_size = 64
verbose_proctitle = yes
first_valid_uid = 299
last_valid_uid = 301
first_valid_gid = 299
last_valid_gid = 301
mail_extra_groups = mail
valid_chroot_dirs = /usr/local/vmail/mail
default_mail_env = maildir:/usr/local/vmail/mail/%d/%n/Maildir
protocol imap {
imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
}

protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes

auth default {
mechanisms = plain
userdb passwd-file {
args = /usr/local/vmail/users/%d
}
passdb passwd-file {
args = /usr/local/vmail/users/%d
}
}
[/more]

Нужно добавить пользователя и группу в систему с

user = vmail id=300
group = vmail id=300
без права логина

и дать этому юзеру доступ в /usr/local/vmail/users/ с правами rw

Добавлено:
формат файла в паролями

/usr/local/vmail/users/[имя домена]
пользователь:{plain}пароль:300:300
test:{plain}password:300:300

алиасы
/usr/local/vmail/aliases/[имя домена]
someuser: test
user2: user2@somadomain.com

Для каждого домена создается файл пользователей домена и файл алиасов домена, последний необязателен.
Автор: sls
Дата сообщения: 13.06.2006 13:41
Спасибо огромное, буду "курить".
Автор: darkomen
Дата сообщения: 20.06.2006 09:42
Почему не получается сделать в аслях прием авторизированных сообщений, вроде всё нормально и в то же время не работает ...в чем грабли?

[more]
### exim.conf ###
######################################################################
# MAIN CONFIGURATION SETTINGS #
######################################################################
# serial : 2006052602

MAILNAME =
MAINDOMAIN =

daemon_smtp_ports = 25 : 465

hide mysql_servers = localhost/exim/

#SMARTHOST_ROUTELIST =

CERTNAME = /etc/ssl/certs/ca/mail.crt

# Enable teergrubing on acl errors and say how long we delay (unset to disable).
TEERGRUBE = 60s

timezone = Europe/Moscow

ALLOWEDRCPTFAIL = 3
HOSTREJECTRCPT1 = SELECT message FROM blacklists WHERE address='${sender_host_address}' AND type='REJRCPT'
RFC1918 = 172.16.0.0/12 : 192.168.0.0/16
BOGUSIPS = 127.0.0.1/8 : 169.254.0.0/16 : 192.0.2.0/24 : RFC1918
NO_RANDOM_CALLBACK = SELECT domain FROM callbackdomains WHERE domain='${domain:$header_from:}' AND type='NORND'
HDR_DOMAIN_DISABLE_CALLBACK = SELECT domain FROM callbackdomains WHERE domain='${domain:$header_from:}' AND type='NOHDR'
BLOCKENVSEND1 = SELECT message FROM blacklists WHERE address='${sender_address}' AND type='SENDER'
addresslist denyenvsenders = mysql;BLOCKENVSEND1

.ifdef MAILNAME
primary_hostname = MAILNAME
qualify_domain = MAINDOMAIN
.else
MAILNAME = @
.endif

domainlist local_domains = @ : @[] : localhost : MAILNAME : \
${lookup mysql{SELECT domain FROM domains \
WHERE domain='${domain}' AND (type='LOCAL' OR type='VIRTUAL')}}

domainlist relay_to_domains = ${lookup mysql{SELECT domain FROM domains \
WHERE domain='${domain}' AND type='RELAY'}}

domainlist envdomain_disable_callback = ${lookup mysql{SELECT domain \
FROM callbackdomains WHERE domain='${sender_host_name}' \
AND type='NOENV'}}

domainlist domains_callback_norandom = mysql;NO_RANDOM_CALLBACK

domainlist nodnsdomains = ${lookup mysql{SELECT domain FROM \
callbackdomains WHERE domain='${sender_host_name}' AND type='NODNS'}}

localpartlist noenvfromcheck = ${lookup mysql{SELECT address FROM whitelist}}
localpartlist noenvfromcallback = ${lookup mysql{SELECT address FROM whitelist}}
localpartlist nosarej = ${lookup mysql{SELECT address FROM whitelist}}
localpartlist nohdrsyncheck = ${lookup mysql{SELECT address FROM whitelist}}
localpartlist nohdrfromcallback = ${lookup mysql{SELECT address FROM whitelist}}

hostlist rfc1918 = RFC1918
hostlist bogusips = BOGUSIPS

hostlist localadds = +rfc1918 : @ : @[] : localhost : \
${lookup mysql{SELECT domain FROM domains \
WHERE domain='${domain}' AND (type='LOCAL' OR type='VIRTUAL')}}

hostlist host_reject = ${lookup mysql{SELECT address FROM blacklists \
WHERE address='${sender_host_address}' AND type='HOSTREJ'}}

hostlist host_reject_rcpt = net-mysql;HOSTREJECTRCPT1

hostlist hosts_disable_callback = ${lookup mysql{SELECT hostname FROM \
hostlists WHERE hostname='${sender_host_address}' AND type='NOCALL'}}

hostlist relay_from_hosts = +localadds : ${lookup mysql{SELECT domain \
FROM domains WHERE domain='${domain}' AND type='RELAY'}}

hostlist auth_relay_hosts = *
.ifdef CERTNAME
hostlist auth_over_tls_hosts = *
.endif
hostlist expn_hosts = *.MAINDOMAIN:localhost
hostlist vrfy_hosts = *.MAINDOMAIN:localhost

hostlist hosts_avoid_tls = ${lookup mysql{SELECT hostname FROM hostlists \
WHERE hostname='${sender_host_address}' AND type='AVOIDTLS'}}

hostlist hosts_try_auth = ${lookup mysql{SELECT hostname FROM hostlists \
WHERE hostname='${sender_host_address}' AND type='TRYAUTH'}}

acl_smtp_connect = check_connect
acl_smtp_starttls = check_tls
acl_smtp_mail = check_mail
acl_smtp_rcpt = check_rcpt
acl_smtp_mime = check_mime
#acl_smtp_data = check_data
acl_smtp_auth = check_auth
acl_smtp_vrfy = check_vrfy
#acl_not_smtp = check_nonsmtp

#local_scan_path = /usr/lib/sa-exim.so
#av_scanner = clamd:/var/lib/clamav/clamd.socket

log_selector = \
+address_rewrite \
+all_parents \
+arguments \
+connection_reject \
+delay_delivery \
+delivery_size \
+dnslist_defer \
+incoming_interface \
+incoming_port \
+lost_incoming_connection \
+queue_run \
+received_sender \
+received_recipients \
+retry_defer \
+sender_on_delivery \
+size_reject \
+skip_delivery \
+smtp_confirmation \
+smtp_connection \
+smtp_protocol_error \
+smtp_syntax_error \
+subject \
+tls_cipher \
+tls_peerdn

#system_filter = /etc/exim/system-filter
#system_filter_file_transport = address_file
#system_filter_pipe_transport = address_pipe

.ifdef CERTNAME
tls_certificate = CERTNAME
tls_privatekey = /etc/ssl/certs/ca/mail.key
tls_on_connect_ports = 465
tls_advertise_hosts = ${if exists {CERTNAME}{*}{127.0.0.1/8}}
.endif

###############################CLAMAV#######################
acl_smtp_data = acl_check_content
av_scanner = clamd:/usr/local/clamav/var/tmp/clamd.sock
spamd_address = 127.0.0.1 783
############################################################

allow_domain_literals = false
never_users = root
host_lookup = *
helo_allow_chars = _
trusted_users = mail:www
trusted_groups = mail
rfc1413_hosts = !*
rfc1413_query_timeout = 0s
auth_advertise_hosts = !+relay_from_hosts : +auth_relay_hosts
helo_verify_hosts = !*
helo_try_verify_hosts = !*
helo_accept_junk_hosts = !*
smtp_accept_max_nonmail_hosts = *
ignore_bounce_errors_after = 30m
timeout_frozen_after = 3d
#gecos_pattern = ^([^,:]*)
#gecos_name = $1
freeze_tell = postmaster
auto_thaw = 1h
message_body_visible = 5000
message_size_limit = 200M
smtp_accept_max = 50
smtp_accept_max_per_connection = 50
smtp_accept_queue_per_connection = 100
smtp_connect_backlog = 50
smtp_accept_max_per_host = 25
split_spool_directory = true
syslog_timestamp = false
message_logs = false
remote_max_parallel = 15
smtp_reserve_hosts = +relay_from_hosts
smtp_load_reserve = 40
smtp_accept_max_nonmail = 7
smtp_max_unknown_commands = 1
sender_unqualified_hosts = +localadds
recipient_unqualified_hosts = +localadds
host_reject_connection = +host_reject

######################################################################
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
######################################################################

begin acl

check_connect:
accept

.ifdef CERTNAME
check_tls:
accept
.endif

check_mail:
accept

check_rcpt:

accept hosts = 192.168.5.108 :
accept authenticated = *


accept hosts = 127.0.0.1/8 : 192.168.5.204

deny local_parts = ^.*[@%!/|] : ^\\.

warn message = X-WhitelistedRCPT-nohdrsyncheck: Yes
local_parts = +nohdrsyncheck:postmaster:abuse

warn message = X-WhitelistedRCPT-nohdrfromcallback: Yes
local_parts = +nohdrfromcallback:postmaster:abuse

warn message = X-SA-Do-Not-Rej: Yes
local_parts = +nosarej:postmaster:abuse

warn message = X-SA-Do-Not-Run: Yes
hosts = +relay_from_hosts

warn message = X-SA-Do-Not-Run: Yes
authenticated = *

warn message = X-Broken-Reverse-DNS: no host name for IP address $sender_host_address
!verify = reverse_host_lookup

accept local_parts = postmaster
domains = +local_domains

deny message = "HELO/EHLO required by SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

deny message = Forged domain detected in HELO/EHLO - $sender_helo_name
condition = ${if and{{match{$sender_helo_name} \
{(example|yahoo|hotmail|compuserve)}} \
{!match{$sender_host_name}{${rxquote:$1}}}}{yes}{no}}
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

deny message = Only one recipient accepted for NULL sender
senders = :
condition = ${if >{$rcpt_count}{1}{1}}
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

.ifdef TEERGRUBE
deny log_message = Teergrube: dictionnary attack (ALLOWEDRCPTFAIL failed probes)
message = unknown user
condition = ${if >{$rcpt_fail_count}{1} {1}{0}}
.else
drop log_message = Dictionnary attack ($rcpt_fail_count failed probes). Dropping connection
message = unknown user ($rcpt_fail_count failed queries)
condition = ${if >{$rcpt_fail_count}{${eval:ALLOWEDRCPTFAIL-2}} {1}{0}}
.endif
delay = ${eval:30*$rcpt_fail_count}s
domains = +local_domains
!verify = recipient

deny condition = ${if eq{$sender_ident}{CacheFlow Server}{1}{0}}
message = Rejected - appears to be an unsecured proxy: $sender_ident

deny hosts = +host_reject_rcpt
message = Host $sender_host_address is blocked: ${lookup mysql{HOSTREJECTRCPT1}{$value}{"unspecified reason"}}
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

deny senders = +denyenvsenders
message = Sender $sender_address is blocked: ${lookup mysql{BLOCKENVSEND1}{$value}{"unspecified reason"}}

deny local_parts = !+noenvfromcheck
!verify = sender
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

# deny message = $sender_host_address is not allowed to send mail from $sender_address_domain
# spf = softfail : neutral
# !authenticated = *
#.ifdef TEERGRUBE
# delay = TEERGRUBE
#.endif

deny hosts = !+localadds:!+hosts_disable_callback:*
sender_domains = !+envdomain_disable_callback:!+domains_callback_norandom:*
local_parts = !+noenvfromcallback
!verify = sender/callout=90s,random,postmaster
# !spf = pass
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

deny hosts = !+localadds:!+hosts_disable_callback:*
sender_domains = +domains_callback_norandom
local_parts = !+noenvfromcallback
!verify = sender/callout=90s,postmaster
# !spf = pass
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

# warn message = $spf_received
# domains = +local_domains

deny message = host is listed in $dnslist_domain
     log_message     = found in $dnslist_domain
     !authenticated = *
     dnslists = sbl-xbl.spamhaus.org : relays.ordb.org : \
combined.njabl.org : bl.spamcop.net
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

# deny message = Spam blocked see: \
# http://www.spamcop.net/w3m?action=checkblock&ip=$sender_host_address
# log_message = found in $dnslist_domain
# !authenticated = *
#     dnslists = bl.spamcop.net

accept domains = +local_domains
endpass
message = unknown user
verify = recipient

accept domains = +relay_to_domains
endpass
message = unrouteable address
verify = recipient/callout=30s/callout_defer_ok

accept hosts = +localadds:+relay_from_hosts
verify = recipient

accept hosts = +auth_relay_hosts
endpass
message = authentication required
authenticated = *

deny message = relay not permitted
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

check_mime:

warn decode = default

deny message = Blacklisted file extension detected
condition = ${if match {${lc:$mime_filename}} \
{\N(\.pif|\.bat|\.scr|\.lnk|\.com)$\N} {1}{0}}

deny message = Sorry, noone speaks Chinese here
condition = ${if eq{$mime_charset}{gb2312}{1}{0}}

accept


check_data:

deny !verify = header_syntax
!condition = $header_X-WhitelistedRCPT-nohdrsyncheck:
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

accept hosts = :

accept hosts = 127.0.0.1/8

deny hosts = !+localadds:!+hosts_disable_callback:*
!condition = $header_X-WhitelistedRCPT-nohdrfromcallback:
!condition = ${lookup mysql{HDR_DOMAIN_DISABLE_CALLBACK} {yes}{no}}
!condition = ${lookup mysql{NO_RANDOM_CALLBACK} {yes}{no}}
!verify = header_sender/callout=90s,postmaster,random
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

deny hosts = !+localadds:!+hosts_disable_callback:*
!condition = $header_X-WhitelistedRCPT-nohdrfromcallback:
!condition = ${lookup mysql{HDR_DOMAIN_DISABLE_CALLBACK} {yes}{no}}
condition = ${lookup mysql{NO_RANDOM_CALLBACK} {yes}{no}}
!verify = header_sender/callout=90s,postmaster
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif

deny message = Serious MIME defect detected ($demime_reason)
demime = *
condition = ${if >{$demime_errorlevel}{2}{1}{0}}

# deny message = This message contains VIRUS ($malware_name)
# malware = *

accept


check_auth:

.ifdef CERTNAME
accept hosts = +auth_over_tls_hosts
endpass
message = STARTTLS required before AUTH
encrypted = *
.endif

accept


check_expn:

accept hosts = +expn_hosts
deny message = expn not allowed from this host, sorry
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif


check_vrfy:

accept hosts = +vrfy_hosts
deny message = vrfy not allowed from this host, sorry
.ifdef TEERGRUBE
delay = TEERGRUBE
.endif


check_nonsmtp:

acl_check_content:

accept authenticated = *

deny message = Virus found ($malware_name)
malware = *
    !authenticated = *

warn message = X-Spam-Score: $spam_score ($spam_bar)
hosts = !+relay_from_hosts
spam = nobody:true

warn message = X-Spam-Report: $spam_report\nX-Spam-Score-Int:$spam_score_int
condition = ${if <{$message_size}{200k}{1}{0}}
    hosts = +relay_from_hosts
spam = spamd:true

warn message = Subject: ***SPAM*** $h_Subject:
hosts = !+relay_from_hosts
spam = nobody

deny message = This message scored $spam_score spam points.
!hosts = +relay_from_hosts
condition = ${if >{$spam_score_int}{120}{1}{0}}

accept

######################################################################
# ROUTERS CONFIGURATION #
# Specifies how addresses are handled #
######################################################################
# THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT! #
# An address is passed to each router in turn until it is accepted. #
######################################################################

begin routers

always_verify:
driver = manualroute
domains = +nodnsdomains
verify_sender
verify_only
route_list = *

.ifdef SMARTHOST_ROUTELIST
smarthost:
driver = manualroute
domains = ! +local_domains
route_list = SMARTHOST_ROUTELIST
ignore_target_hosts = +bogusips
no_verify
host_find_failed = defer
same_domain_copy_routing = yes
transport = remote_smtp
.endif

dnslookup:
driver = dnslookup
domains = ! +local_domains
ignore_target_hosts = +bogusips
same_domain_copy_routing = yes
transport = remote_smtp
no_more

system_aliases:
driver = redirect
allow_defer
allow_fail
data = ${lookup mysql{SELECT recipients FROM aliases \
WHERE local_part='${local_part}' AND domain='${domain}'}}


domain_forward:
driver=redirect
allow_fail
allow_defer
data = ${local_part}@${lookup mysql{SELECT dest FROM rdomain \
             WHERE domain = '${domain}'}}
condition = ${if eq {${domain}} {ctrv.ru} {yes} {no}}


userforward:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{\
SELECT recipients FROM userforward \
WHERE local_part='${local_part}' AND domain='${domain}' \
UNION SELECT recipients FROM userforward WHERE local_part = '${local_part}' AND domain = '*'\
UNION SELECT recipients FROM userforward WHERE local_part = '*' AND domain = '${domain}'\
UNION SELECT recipients FROM userforward WHERE local_part = '*' AND domain = '*' LIMIT 0 , 1 }}

spamd_router:
no_verify
driver = accept
check_local_user
condition = ${if and{{def:spam_score_int}{>{$spam_score_int}{55}}}{yes}{no}}
transport = spamd_delivery
cannot_route_message = Unknown user

mysqluser:
driver = accept
condition = ${if eq{} {${lookup mysql{SELECT home FROM users \
WHERE id='${local_part}' AND mbox_host='${domain}' \
AND active='Y'}}}{no}{yes}}
local_part_suffix = +*
local_part_suffix_optional
transport = mysql_delivery

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

begin transports

mysql_delivery:
driver = appendfile
maildir_format
create_directory
maildir_tag = ,S=$message_size
directory = ${lookup mysql{SELECT CONCAT(home, "/Maildir") FROM users \
WHERE id='${local_part}' AND mbox_host='${domain}'}}
return_path_add
delivery_date_add
envelope_to_add
group = mail
mode = 0660
no_mode_fail_narrower
headers_remove = "Lines"
headers_add = "Lines: $body_linecount\n"
check_string = ""
directory_mode = 700
message_prefix = ""
message_suffix = ""
quota = ${lookup mysql{SELECT quota FROM users \
WHERE id='${local_part}' AND mbox_host='${domain}'}{${value}M}}
quota_size_regex = S=(\d+)$
quota_warn_threshold = 75%

address_pipe:
driver = pipe
log_defer_output
log_fail_output
path = "/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin"
return_output
user = mail
group = mail
headers_remove = "Lines"
headers_add = "Lines: $body_linecount\n"

address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
user = mail
group = mail

address_reply:
driver = autoreply

spamd_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = /mail/vmail/domains/dtb.ru/spam/Maildir
directory_mode = 770
envelope_to_add
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
return_path_add

remote_smtp:
driver = smtp
dns_qualify_single = false
hosts_nopass_tls = *
hosts_avoid_tls = +hosts_avoid_tls
hosts_try_auth = +hosts_try_auth
# headers_remove = "X-SA-Do-Not-Run:X-SA-Exim-Scanned:X-SA-Exim-Mail-From:X-SA-Exim-Rcpt-To:X-SA-Exim-Connect-IP"

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

begin retry

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

* quota
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h

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

begin rewrite

######################################################################
# AUTHENTICATION CONFIGURATION #
######################################################################

begin authenticators

#auth_plain:
# driver = plaintext
# public_name = PLAIN
# server_condition = ${lookup mysql{SELECT id FROM users \
# WHERE id = '${quote_mysql:${local_part:$2}}' \
# AND mbox_host = '${quote_mysql:${domain:$2}}' \
# AND passwd = '${quote_mysql:$3}' \
# AND active = 'Y'}{yes}{no}}
# server_prompts = :
#server_set_id = $2
#
#auth_login:
# driver = plaintext
# public_name = LOGIN
# server_condition = ${lookup mysql{SELECT id FROM users \
# WHERE id = '${quote_mysql:${local_part:$1}}' \
# AND mbox_host = '${quote_mysql:${domain:$1}}' \
# AND passwd = '${quote_mysql:$2}' \
# AND active = 'Y'}{yes}{no}}
# server_prompts = Username:: : Password::
#server_set_id = $1

auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${if crypteq{$3} \
{${lookup mysql{SELECT crypt FROM users \
WHERE id = '${quote_mysql:${local_part:$2}}' \
AND mbox_host = '${quote_mysql:${domain:$2}}' \
# AND passwd = '${quote_mysql:$3}' \
AND active = 'Y'}{$value}{*}}}{yes}{no}}
server_prompts = :
server_set_id = $2

# AUTH LOGIN authentication method used by MS Outlook.
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${if crypteq{$2} {${lookup mysql{SELECT crypt FROM users \
WHERE id = '${quote_mysql:${local_part:$1}}' \
AND mbox_host = '${quote_mysql:${domain:$1}}' \
# AND passwd = '${quote_mysql:$2}' \
AND active = 'Y'}{$value}{*}}}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1

auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT passwd FROM users \
WHERE id = '${quote_mysql:${local_part:$1}}' \
AND mbox_host = '${quote_mysql:${domain:$1}}' \
AND active = 'Y'}{$value}fail}
server_set_id = $1

# End of Exim configuration file

[/more]


Добавлено:
А Ginger здесь вообще бывает?)
Автор: hoochie
Дата сообщения: 20.06.2006 10:01

Цитата:
А Ginger здесь вообще бывает?

http://polygon.iphosting.ru/

Добавлено:
Возможно, ей скучно с твоими вопросами. В сети давным-давно есть все ответы...
Автор: tankistua
Дата сообщения: 20.06.2006 10:58
чем больше знаний - тем меньше интересных задач, соответственно и желания их решать.
Автор: hoochie
Дата сообщения: 20.06.2006 11:15
tankistua
Не, ты не прав... Интересные задачи решать всегда интересно, сколько бы у тебя знаний не было. Новое всегда рядом, но его не догнать. И эта погоня захватывает с головой, если это твое призвание.
Другое дело, когда в сотый раз нужно искать ляп в передранном конфиге. Или объяснять элементарные вещи. Короче, это не по делу, давай топик не засорять.
Автор: darkomen
Дата сообщения: 20.06.2006 11:18
hoochie

А ссылку можно на ответ который там есть? я найти не могу
Автор: tankistua
Дата сообщения: 20.06.2006 11:43
hoochie
сам только-что прочитал что написал :)

Совсем другое хотелось сказать, смысл был - нафиг нада :)
Автор: hoochie
Дата сообщения: 20.06.2006 11:46
darkomen

Цитата:
Почему я не могу проехать здесь туда, вроде все едет и в то же время стоит ... в чем грабли?

Ты свой вопрос читал? Что именно не получается? Где логи?
К тому же, судя по твоим вопросам, ты категорически игнорируешь чтение документации по Exim.

Добавлено:
Запомни для начала такую команду
exim -d+all -bd
Дальше смотри, что и как у тебя срабатывает, параллельно запустив telnet'ом smtp сессию. В доках найдешь другие ключи запуска. И еще очень много полезного, как ни странно. Exim - мощнейшая штука, позволяющая сделать все что угодно, в том числе и отладку.
Все!
Автор: dtrash
Дата сообщения: 20.06.2006 12:38
Дамы и госопода, бодрого времени суток.
Вопрос такой, никто не пробывал проверять квоты в cyrus`е и если места в ящике пользователя отстутствует, то запрещать приём сообщения (выдать ошибку 451)?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: MS Outlook Возвращает: Не удается доставить.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.