Вопрос к знатокам Exim - входящие сообщения II и рикошеты.

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
oooo1
рядовой
Сообщения: 27
Зарегистрирован: 2012-01-22 23:04:33

Вопрос к знатокам Exim - входящие сообщения II и рикошеты.

Непрочитанное сообщение oooo1 » 2012-03-21 4:59:37

Стоит Exim 4.77 с Dovecot 2.0.17 c авторизацией через OpenLDAP 2.4.28 на FreeBSD 9.0.
Есть внутренний домен mylocal.ru и внешний myexternal.ru. Настроен Exim по большей части как в статье на этом сайте.
Почта из вне на Exim идет через smtp relay hoster' a.

В local_domains указаны оба домена: mylocal.ru и внешний myexternal.ru.
У пользователей, у которых есть и "внутренний" и "внешний" почтовые адреса, они прописаны в соответствующих аттрибутах: mail - внутренний (с доменом mylocal) и proxyaddress (с доменом myexternal) .

Некоторые "термины" для данного вопроса:
- мои домены - домены mylocal.ru или myexternal.ru;
- локальный пользователь - пользователь из моих доменов;
- не локальный пользователь - пользователь, не из моих доменов;
- не существующий локальный пользователь - пользователь, которого нет в моих доменах (может потом появится) , но доменная часть его адреса содержит адреса моих доменов;
- пустой локальный пользователь - пользователь с пустой local_part, но из моих доменов (частный случай несуществующего локального пользователя - у меня такого точно нет) ;
- пустой отправитель - отправитель, отображающийся в сообщениях и log' ах без локальной и доменной части (еще отображается как <>, скорее всего mailer-daemon) ;
- статья - статья по настройке Exim +LDAP на данном сайте.

Есть маршрутизатор для обработки "внутренних писем" , немного изменен по сравнению со статьей:

Код: Выделить всё

system_aliases:
    driver      = redirect
    allow_fail
    allow_defer
    domains = +local_domains

data = ${lookup ldapm{LDAP_AUTH ldap:///dc=my,dc=net?mail?sub?(&(accountStatus=active)(|(mail=${quote_ldap:$local_part}${quote_ldap:@}${quote_ldap:$domain})(proxyAddresses=SMTP:${quote_ldap:$local_part}${quote_ldap:@}${quote_ldap:$domain})))}{$value} {:fail: "You as $sender_address sent e-mail to Unknown user $local_part@$domain, be accurate !}}

redirect_router = ldapuser

no_more
После него, собственно маршрутизатор ldapuser вида accept, там ссылка на транспорт и все, проверок по LDAP нет (в отличии от статьи) .

В последнее время от hoster relay начали идти (не часто, но есть) , письма от пустого отправителя (без указания его принадлежности к какому - либо домену) на не существующий локальный пользователя.
Сейчас не будем рассуждать / дискутировать после чего или из - за чего или почему их присылает или "генерирует" сервер hoster' a.

Так, как письмо с локальный пользователем в качестве получателя - читай с доменом из local_domains, оно обрабатывается маршрутизатором system_aliases.
Там, при обработке запроса в data не находится такой получатель - пустая local_part, выдается fail и сообщение: You as (здесь пусто) sent e-mail to Unknown user @myexternal.ru, be accurate !
Затем генерируется рикошет от пустого отправителя (уже наверное "местного" ) , на admin@mylocal.ru (именно он указан в параметре freeze_tell) , c этим текстом, "маршрутизируется" accept маршрутизатором и отправляется на admin@mylocal.ru.
Ну и приходит на этот ящик как frozen_message с тем текстом.

При получении письма, на несущестсвующий локальный адрес от несуществующего локального пользователя, генерируется рикошет с этим сообщением для этого несуществующего локального адресата, потом Frozen (delivery error message) и все - забыли.
При получении письма, на несущестсвующий локальный адрес от несуществующего не локального пользователя, генерируется рикошет с этим сообщением для этого не локального адресата и уходит через "внешний" транспорт во вне ему и все - забыли.

В связи с этим всем 3 вопроса:
1. Нормально ли то, что сообщение с пустым отправителем, с пустым локальным пользователем в качестве получателя, в system_alias маршрутизаторе почему - то "превращается" в рикошет для admin@mylocal.ru (указанный в freeze_tell) , затем помечается как frozen сообщение и отправляется на admin@mylocal.ru;
2. почему сообщение на пустого локального пользователя, "не останавливается" на маршрутизаторе system_alias (стоит no_more) , как сообщения, указанные выше;
3. как при или после "генерации" рикошета с сообщением о несуществовании локального пользователя, но до отправки, несуществующему, в том числе пустому, но локальному пользователю (другому) , сделать проверку такого пользователя и если его нет, аннулировать / удалить / не отправлять "ему" такое сообщение ?

В догонку log:

Код: Выделить всё

Delay 25s for  [hoster smtp IP] with HELO=mail-relay-05.hostername.org. Mail from  to @myexternal.spb.ru
no host name found for IP address hoster smtp IP
Delay 25s for  [hoster smtp IP] with HELO=mail-relay-05.hostername.org. Mail from  to @myexternal.spb.ru
1SA6Ol-0003v5-SI <= <> H=(mail-relay-05.hostername.org) [hoster smtp IP] I=[my smtp IP]:25 P=esmtp S=3071 id=20120320212006.6C89F3C02D@mail-relay-05.hostername.org from <> for ""@myexternal.spb.ru
1SA6Ol-0003v5-SI ** @myexternal.spb.ru <""@myexternal.spb.ru> R=system_aliases: "You as  sent e-mail to Unknown user @myexternal.spb.ru, be accurate !"
1SA6Ol-0003vC-T2 <= <> R=1SA6Ol-0003v5-SI U=mailnull P=local S=852 from <> for admin@mylocal.spb.ru
1SA6Ol-0003v5-SI Frozen (delivery error message)
1SA6Ol-0003vC-T2 => admin <admin@mylocal.spb.ru> R=ldapuser T=dovecot_delivery
1SA6Ol-0003vC-T2 Completed
1SA6P6-0003vA-NG <= <> H=(mail-relay-05.hostername.org) [hoster smtp IP] I=[my smtp IP]:25 P=esmtp S=3175 id=20120320212027.313423C0BC@mail-relay-05.hostername.org from <> for ""@myexternal.spb.ru
1SA6P6-0003vA-NG ** @myexternal.spb.ru <""@myexternal.spb.ru> R=system_aliases: "You as  sent e-mail to Unknown user @myexternal.spb.ru, be accurate !"
1SA6P6-0003vI-Ng <= <> R=1SA6P6-0003vA-NG U=mailnull P=local S=852 from <> for admin@mylocal.spb.ru
1SA6P6-0003vA-NG Frozen (delivery error message)
1SA6P6-0003vI-Ng => admin <admin@mylocal.spb.ru> R=ldapuser T=dovecot_delivery
1SA6P6-0003vI-Ng Completed
P.S. Начал изучать Exim не давно.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ttys
*BSD
Сообщения: 402
Зарегистрирован: 2009-06-26 8:37:11
Откуда: Ростов-на-Дону
Контактная информация:

Re: Вопрос к знатокам Exim - входящие сообщения II и рикошет

Непрочитанное сообщение ttys » 2012-04-18 9:31:56

oooo1 писал(а):Стоит Exim 4.77 с Dovecot 2.0.17 c авторизацией через OpenLDAP 2.4.28 на FreeBSD 9.0.
Есть внутренний домен mylocal.ru и внешний myexternal.ru. Настроен Exim по большей части как в статье на этом сайте.
в какой статье? ато чёто у меня лдап схему для ексима не хочет хавать
я пытаюсь настраивать по статье www.lissyara.su/articles/freebsd/mail/exim+ldap