Мне нужно настроить smtp авторизацию, таким образом что бы не авторизованный пользователь не смог отсылать письма никуда. На данный момент у пользователя получается отправить письмо локально, то есть user1@test.ru (не авторизован) может послать письмо user2@test.ru нужно сделать так что бы не смог. За основу взял конфиг из Virtual Exim и http://www.lissyara.su/?id=1194
Что добавил то что убрал в тестовом режиме
Код: Выделить всё
domainlist local_domains = @ : 127.0.0.1
domainlist relay_to_domains = 127.0.0.1
hostlist relay_from_hosts = 127.0.0.1
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_content
begin acl
acl_check_helo:
accept hosts = :
deny message = "HELO/EHLO require by SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
accept
acl_check_rcpt:
deny message = "HELO/EHLO require by SMTP RFC"
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
# Отрицайте, если адрес отправителя не может быть проверен
require verify = sender
accept authenticated = *
control = submission/sender_retain
# Желаемый эффект можно получить если убрать этот блок но тогда перестанет приходить почта с других доменов
accept domains = +local_domains
endpass
message = "In my mailserver not stored this user"
verify = recipient
deny local_parts = ^.*[@%!/|] : ^\\.
deny message = relay not permitted
acl_check_content:
# Include Vexim specific rcpt ACLs
.include /usr/local/etc/exim/vexim-acl-check-content.conf
# finally accept all the rest
accept