The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"exim bounce"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"exim bounce"  +/
Сообщение от fevil (ok), 29-Апр-20, 21:11 
Добрый день.

Есть exim и проблема с bounce. Хочу запретить слать боунс если письмо пришло на не существующий адрес. Для этого добавил в начало acl в конфиг:

______________________________________
begin acl
acl_check_rcpt:
deny   domains = local_domains
       message = Can't verify recipient
       !verify  = recipient
______________________________________

exim этот блок игнорирует и срабатывает роутер:

rcpt_check_router:
    driver = redirect
    allow_fail
    no_verify
    data = "${if eq{}{${lookup mysql{ SQLUSR }}}{:fail: unknown local user}{$local_part@$domain} }"

при этом отправителю приходит письмо о невозможности доставки от mail-daemon. как заблокировать отправку этого сообщения а отправителю ответить 550?


заменил :fail: на :blackhole: теперь все письма принимаются и нет боунса. но мне видится некорректным это.
  
rcpt_check_router:
    driver = redirect
    allow_fail
    no_verify
    data = "${if eq{}{${lookup mysql{ SQLUSR }}}{:blackhole: unknown local user}{$local_part@$domain} }"

хочется все же делать отлуп без оправки письма отправителю. укажите на путь истинный.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "exim bounce"  +1 +/
Сообщение от xm (ok), 29-Апр-20, 21:23 
Ну, во-первых, у вас ошибка в первом же правиле - именованный список без начального +
Ответить | Правка | Наверх | Cообщить модератору

2. "exim bounce"  +/
Сообщение от fevil (ok), 29-Апр-20, 22:05 
> Ну, во-первых, у вас ошибка в первом же правиле - именованный список
> без начального +

Спасибо.Верное замечание, это во время тестирования потерял, но сути дела не меняет этот блок по прежнему игнорируется и уходит на router. Такое ощущение что !verify  = recipient всегда верное.

Ответить | Правка | Наверх | Cообщить модератору

3. "exim bounce"  +1 +/
Сообщение от xm (ok), 30-Апр-20, 00:41 
>> Ну, во-первых, у вас ошибка в первом же правиле - именованный список
>> без начального +
> Спасибо.Верное замечание, это во время тестирования потерял, но сути дела не меняет
> этот блок по прежнему игнорируется и уходит на router. Такое ощущение
> что !verify  = recipient всегда верное.

Ну так в Exim есть мощный режим отладки. Запускайте и смотрите что у вас там (не)срабатывает и почему.

# service exim stop
# exim -bd -q15m -d+all

Ответить | Правка | Наверх | Cообщить модератору

5. "exim bounce"  +/
Сообщение от fevil (ok), 30-Апр-20, 01:23 
>>> Ну, во-первых, у вас ошибка в первом же правиле - именованный список
>>> без начального +
>> Спасибо.Верное замечание, это во время тестирования потерял, но сути дела не меняет
>> этот блок по прежнему игнорируется и уходит на router. Такое ощущение
>> что !verify  = recipient всегда верное.
> Ну так в Exim есть мощный режим отладки. Запускайте и смотрите что
> у вас там (не)срабатывает и почему.
> # service exim stop
> # exim -bd -q15m -d+all

в отладке и смотрю что
> !verify  = recipient

всегда проходит. Не зависимо есть пользователь или нет в системе всегда одинаково.

Ответить | Правка | Наверх | Cообщить модератору

6. "exim bounce"  +/
Сообщение от xm (ok), 30-Апр-20, 19:26 
Эта проверка эмулирует доставку через набор роутеров Exim (что хорошо видно в отладке). Т.е. если она проходит, то один из роутеров срабатывает.

> в отладке и смотрю что
>> !verify  = recipient
>  всегда проходит. Не зависимо есть пользователь или нет в системе всегда
> одинаково.

Ответить | Правка | Наверх | Cообщить модератору

4. "exim bounce"  +/
Сообщение от fevil (ok), 30-Апр-20, 01:18 
Провел небольшой эксперимент:

удалил блок:
> rcpt_check_router:
>     driver = redirect
>     allow_fail
>     no_verify
>     data = "${if eq{}{${lookup mysql{ SQLUSR }}}{:fail: unknown
> local user}{$local_part@$domain} }"

после этого в логе посыпались ошибки от LDA  что нет пользователя получателя и он не может ему письмо доставить.

вернул блок немного изменив его:

rcpt_check_router:
    driver = redirect
    allow_fail = yes
    data = :fail: Unknown local user
    no_more

в итоге получил в логе smtp :
rejected RCPT : Unknown local user

а отправителю пришел баунс от сервера отправления со значением:
SMTP error from remote mail server after RCPT TO:<nonuser@domain.example>:
550 Can't verify recipient


Взятый из блока:
>begin acl
>acl_check_rcpt:
>deny   domains = +local_domains
>       message = Can't verify recipient
>       !verify  = recipient

Подскажите я правильно понимаю что письмо приходит на сервер exim пытается отдать его на доставку LDA, тот говорит что нет такого пользователя, и тогда срабатывает роутер по обработке. Если это верно то как все же правильно проверить пользователя не отправляя на LDA а посмотреть его в базе перед приемкой?

Ответить | Правка | Наверх | Cообщить модератору

7. "exim bounce"  +/
Сообщение от xm (ok), 11-Май-20, 21:40 
Судя по ошибке похоже на то.
Проверка получателя в ACL RCPT делается через

verify = recipient

>[оверквотинг удален]
>>begin acl
>>acl_check_rcpt:
>>deny   domains = +local_domains
>>       message = Can't verify recipient
>>       !verify  = recipient
> Подскажите я правильно понимаю что письмо приходит на сервер exim пытается отдать
> его на доставку LDA, тот говорит что нет такого пользователя, и
> тогда срабатывает роутер по обработке. Если это верно то как все
> же правильно проверить пользователя не отправляя на LDA а посмотреть его
> в базе перед приемкой?

Ответить | Правка | Наверх | Cообщить модератору

8. "exim bounce"  +/
Сообщение от Аноним (8), 12-Май-20, 22:43 
Как тогда узнать дошло письмо получателю или нет? Человек может опечататься и будет думать что письмо до адресата дошло.
Лучше выявлять и блокировать тех кто постоянного шлёт на несуществующие адреса.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру