LINUX.ORG.RU

История изменений

Исправление Dima_228, (текущая версия) :

Дошло. Получается что Delivery report можно сделать отправителю только в случае deny либо drop на моем сервере. Значит скрыто получать сообщение (допустим, помещая его в папку SPAM) в то же время отвечая отправителю что сообщение не принято перманентно - невозможно.

С настройкой под конкретный домен, если Exim4 обрабатывает почту нескольких доменов на одном сервере, кажется, можно как-то так:

${if exists{/etc/exim4/domains/$domain/fwd_only}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/fwd_only}{true}{false}}}}

то есть если переменную $domain можно использовать в конфиге везде (это я пока не понял) при наличии определенного файла из него можно читать acl

acl_smtp_rcpt = ${if ={25}{$interface_port} {acl_check_rcpt} {acl_check_rcpt_submit} }
acl_smtp_data = /etc/acls/${lookup{$sender_host_address}lsearch{/etc/acllist}{$value}{default}}

(то есть подобное условие if существования файла с переменной $domain указать в значении acl_еще_понять_каком).

Тут https://sysadmin.pm/exim-filters/ прочел про system_filter, разбирается кейс блокирования исходящей почты. В нем можно использовать условие $sender_address contains «@banneddomain.com» с отказом принять сообщение, или так не сработает?

Или проще условие на $sender_address_domain либо $sender_address ставить прямо в acl, который выбирается на основе $domain ? Как лучше?

Можно условием if на $local_part применить определенные правила к одному ящику?

Вижу в примерах много if, но ни одного and / &&. Как-то можно сложные логические условия задавать?

Исправление Dima_228, :

Дошло. Получается что Delivery report можно сделать отправителю только в случае deny либо drop на моем сервере. Значит скрыто получать сообщение (допустим, помещая его в папку SPAM) в то же время отвечая отправителю что сообщение не принято перманентно - невозможно.

С настройкой под конкретный домен, если Exim4 обрабатывает почту нескольких доменов на одном сервере, кажется, можно как-то так:

${if exists{/etc/exim4/domains/$domain/fwd_only}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/fwd_only}{true}{false}}}}

то есть если переменную $domain можно использовать в конфиге везде (это я пока не понял) при наличии определенного файла из него можно читать acl

acl_smtp_rcpt = ${if ={25}{$interface_port} {acl_check_rcpt} {acl_check_rcpt_submit} }
acl_smtp_data = /etc/acls/${lookup{$sender_host_address}lsearch{/etc/acllist}{$value}{default}}

(то есть подобное условие if существования файла с переменной $domain указать в значении acl_еще_понять_каком).

Тут https://sysadmin.pm/exim-filters/ прочел про system_filter, разбирается кейс блокирования исходящей почты. В нем можно использовать условие $sender_address contains «@banneddomain.com» с отказом принять сообщение, или так не сработает?

Или проще условие на $sender_address_domain либо $sender_address ставить прямо в acl, который выбирается на основе $domain ? Как лучше?

Исходная версия Dima_228, :

Дошло. Получается что Delivery report можно сделать отправителю только в случае deny либо drop на моем сервере. Значит скрыто получать сообщение (допустим, помещая его в папку SPAM) в то же время отвечая отправителю что сообщение не принято перманентно - невозможно.

С настройкой под конкретный домен, если Exim4 обрабатывает почту нескольких доменов на одном сервере, кажется, можно как-то так:

${if exists{/etc/exim4/domains/$domain/fwd_only}{${lookup{$local_part}lsearch{/etc/exim4/domains/$domain/fwd_only}{true}{false}}}}
``
то есть если переменную $domain можно использовать в конфиге везде (это я пока не понял) при наличии определенного файла из него можно читать acl

acl_smtp_rcpt = ${if ={25}{$interface_port} {acl_check_rcpt} {acl_check_rcpt_submit} } acl_smtp_data = /etc/acls/${lookup{$sender_host_address}lsearch{/etc/acllist}{$value}{default}}

(то есть подобное условие if существования файла с переменной $domain указать в значении acl_еще_понять_каком).

Тут https://sysadmin.pm/exim-filters/ прочел про system_filter, разбирается кейс блокирования исходящей почты. 
В нем можно использовать условие **$sender_address contains "@banneddomain.com"** с отказом принять сообщение, или так не сработает?

Или проще условие на $sender_address_domain либо $sender_address ставить прямо в acl, который выбирается на основе $domain ? Как лучше?