LINUX.ORG.RU
ФорумAdmin

exim4 проверка адреса отправителя


0

0

Подскажите, добрые люди, как в exime реализовать проверку адреса отправителя для аутифицированных пользователей локального домена, ну чтоб у клиента в настройках был реальный его адрес user@mydomain.com например, в данный момент я могу поставить любой существующий адрес, даже не из своего домена, и эксим не ругается. Вот что у меня в ACL

begin acl

acl_check_rcpt:

accept hosts = +relay_from_hosts

deny message = Restricted characters in address

domains = +local_domains

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

deny message = Restricted characters in address domains = !+local_domains

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

accept local_parts = postmaster

domains = +local_domains

require verify = sender

accept hosts = +relay_from_hosts

control = submission

accept authenticated = *

control = submission

require message = relay not permitted

domains = +local_domains : +relay_to_domains

require verify = recipient

accept

Я так думаю это здесь дожно фигурировать, только в каком виде?

У меня так в acl_check_mail

   # Проверка аутентификации
    accept  condition = ${if eq{${lc:$authenticated_id}}{${lc:$sender_address_local_part}}{yes}{no}}
            sender_domains = +local_domains

    # Проверка по замене e-mail из /etc/mail/allow-send (разрешаем пользователю отправлять почту от другого e-mail)
    accept  condition = ${if match{${lookup{$sender_address_local_part}lsearch{/etc/mail/allow-send}{$value}{mail}}}{^(.*,)?$authenticated_id(,.*)?\$}{yes}{
no}}
            sender_domains = +local_domains


    # Проверки пройдены остальное отклоняем
    deny  message = Must be authenticated
          log_message = Must be authenticated




Файлик /etc/mail/allow-send похож на aliases

tux2002
()

У меня так в acl_check_mail

# Проверка аутентификации
accept condition = ${if eq{${lc:$authenticated_id}}{${lc:$sender_address_local_part}}{yes}{no}}
sender_domains = +local_domains

# Проверка по замене e-mail из /etc/mail/allow-send (разрешаем пользователю отправлять почту от другого e-mail)
accept condition = ${if match{${lookup{$sender_address_local_part}lsearch{/etc/mail/allow-send}{$value} {mail}}}{^(.*,)?$authenticated_id(,.*)?\$}{yes}{no}}
sender_domains = +local_domains


# Проверки пройдены остальное отклоняем
deny message = Must be authenticated
log_message = Must be authenticated




Файлик /etc/mail/allow-send похож на aliases

tux2002
()
Ответ на: комментарий от tux2002

Спасибо, то что нужно, только у меня вторая проверка не работает, которая из файла берет исключения, файл такой

test

test1

пробовал и так:

test@example.com

test1@example.com

CheGev80
() автор топика
Ответ на: комментарий от CheGev80

И этот фильтр получается действует на все входящие письма, он всем deny делает, как сделать ято б он тока на аутифицированных пользоветелей распростронялся?

CheGev80
() автор топика
Ответ на: комментарий от Narian

Короче, я сделал так

# Проверка аутентификации

accept condition = ${if eq{${lc:$authenticated_id}}{${lc:$sender_address_local_part}}{yes}{no}}

sender_domains = +local_domains

authenticated = *

# Проверка по замене e-mail из /etc/mail/allow-send (разрешаем пользователю отправлять почту от другого e-mail)

accept condition = ${if match{${lookup{$sender_address_local_part}lsearch{/etc/exim4/allow-send}{$value }{mail}}}\ {^(.*,)?$authenticated_id(,.*)?\$}{yes}{no}}

sender_domains = +local_domains

accept verify = sender

sender_domains = !+local_domains

!authenticated = *

# Проверки пройдены остальное отклоняем

deny message = deny this email $sender_address_local_part

log_message = deny this email $value

Пока все работает, кроме {lookup{$sender_address_local_part}lsearch{/etc/exim4/allow-send}{$value}{mail} }}\!!!!

CheGev80
() автор топика
Ответ на: комментарий от CheGev80

Там файлик похож на aliases:

all-users: localpart1, loclpart2

__________________
localpart1, localpart2 могут от имени all-users

tux2002
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.