The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Exim4 проблема с проверкой синтаксиса FQDN"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"Exim4 проблема с проверкой синтаксиса FQDN"  +/
Сообщение от Сергей (??) on 12-Дек-12, 14:08 
С недавних пор возникла проблема с получением писем от mail.ru bk.ru list.ru

если сервер передающий почту имеет адрес smtp*.i.mail.ru где * это цифра, то письмо идет лесом. (reject)

если сервер некая букава+цифра.mail.ru короче нет буквый i все ок.

копание в конфигах принесло эти строчки

# Deny if host presented HELO/EHLO not looks like FQDN
  # i.e. without dots, with non-existent TLD, etc.
  deny
            message       = SMTP violation
            log_message   = remote host presented non-FQDN HELO/EHLO
            !acl          = acl_local_deny_exceptions
            !hosts        = 127.0.0.1 : +relay_from_hosts
            !condition    = ${if and{\
                                    {match{${lc:$sender_helo_name}}\
                                    {\N^([a-z0-9]+[a-z0-9\-]*[a-z0-9]+\.)+(.*)$\N}}\
                                    {eq{yes}{${lookup{$2}lsearch{/etc/exim4/tlds}{yes}}}}\
                                    }{yes}{no}}

Внизу я так понимаю условия, как должен выглядеть FQDN, видимо вариант имени с i как то не вписывается, но я не могу нигде найти описание команд из условия, и не понимаю что оно значит.

Помогите кто знает или дайте ссылки на описание всех этих команд.

завтра с 4 - 13 по Москве на работе буду рад дополнить информацию для ответа.
Зарание спасибо

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

Оглавление

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


1. "Exim4 проблема с проверкой синтаксиса FQDN"  +/
Сообщение от Andrey Mitrofanov on 12-Дек-12, 14:21 
> если сервер передающий почту имеет адрес smtp*.i.mail.ru где * это цифра, то
> если сервер некая букава+цифра.mail.ru короче нет буквый i все ок.
>   {\N^([a-z0-9]+[a-z0-9\-]*[a-z0-9]+\.)+(.*)$\N}}\
>   {eq{yes}{${lookup{$2}lsearch{/etc/exim4/tlds}{yes}}}}\
> Внизу я так понимаю условия, как должен выглядеть FQDN, видимо вариант имени
> с i как то не вписывается, но я не могу нигде
> найти описание команд из условия, и не понимаю что оно значит.

М-м-м... Судя по упоминанию букв tld и моему прочтению этого регекспа, оно пытается отрезать TLD от FQDN и одновременно проверять остальные части на "корректность". И да, в ту корректность остальных заложено минимум 2 символа.

Чтоб .i. пролезало, надо второй плюс в первой скобке (>[a-z0-9]+\.<) заменить на * (но тогда "части", оканчивающиеся на "-" будут пролезать -- регрессия), или дописать для _одной_буквы_ отдельную ветку: >+\.)<  --> >>+\.|[a-z])<< (?судя по тому, что ")" не экранируются, "|" тож не надо).

{\N^([a-z0-9]+[a-z0-9\-]*[a-z0-9]+\.|[a-z])+(.*)$\N}}\

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

2. "Exim4 проблема с проверкой синтаксиса FQDN"  +/
Сообщение от Andrey Mitrofanov on 12-Дек-12, 14:23 
> {\N^([a-z0-9]+[a-z0-9\-]*[a-z0-9]+\.|[a-z])+(.*)$\N}}\

Стоп! Точку забыл:

{\N^([a-z0-9]+[a-z0-9\-]*[a-z0-9]+\.|[a-z]\.)+(.*)$\N}}\

Ну или как-то так, дальше сам.

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

3. "Exim4 проблема с проверкой синтаксиса FQDN"  +/
Сообщение от Сергей (??) on 13-Дек-12, 08:20 
>> {\N^([a-z0-9]+[a-z0-9\-]*[a-z0-9]+\.|[a-z])+(.*)$\N}}\
> Стоп! Точку забыл:
>  {\N^([a-z0-9]+[a-z0-9\-]*[a-z0-9]+\.|[a-z]\.)+(.*)$\N}}\
> Ну или как-то так, дальше сам.

Все вроде заработало, письма стали проходить, спасибо большое. Вопросик, где можно почитать об этом, чтобы понимать?

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

4. "Exim4 проблема с проверкой синтаксиса FQDN"  +/
Сообщение от Andrey Mitrofanov on 13-Дек-12, 09:42 
>> Ну или как-то так, дальше сам.
> Все вроде заработало, письма стали проходить, спасибо большое. Вопросик, где можно почитать
> об этом, чтобы понимать?

Начиная с man 7 regex, через man {grep,sed,awk}[, ещё где-то есть pcre], вплоть до книжки (тут советовали где-то, не помню - мне не надо) по регулярным выражениям (=regex{p}-ам).

Если надо не "почитать", а научиться, то нужно _применять_ и набивать руку. И глаз -- начинать с чтения чужого "кода", с _понимания.

В поисковик вбить "выучить регекспы", "введение в регулярные выражения" и т.п., и т.п.

Если речь про exim, то там в комплекте spec.txt -- исключительно полное описание (=спецификация), на английском. Но "немногие долетали до середины"(тм)

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

5. "Exim4 проблема с проверкой синтаксиса FQDN"  +/
Сообщение от Сергей (??) on 13-Дек-12, 10:23 
>[оверквотинг удален]
>> об этом, чтобы понимать?
> Начиная с man 7 regex, через man {grep,sed,awk}[, ещё где-то есть pcre],
> вплоть до книжки (тут советовали где-то, не помню - мне не
> надо) по регулярным выражениям (=regex{p}-ам).
> Если надо не "почитать", а научиться, то нужно _применять_ и набивать руку.
> И глаз -- начинать с чтения чужого "кода", с _понимания.
> В поисковик вбить "выучить регекспы", "введение в регулярные выражения" и т.п., и
> т.п.
> Если речь про exim, то там в комплекте spec.txt -- исключительно полное
> описание (=спецификация), на английском. Но "немногие долетали до середины"(тм)

Ок, еще раз спасибо.

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

6. "Exim4 проблема с проверкой синтаксиса FQDN"  +/
Сообщение от DeadLoco (ok) on 13-Дек-12, 23:58 
> Начиная с man 7 regex, через man {grep,sed,awk}[, ещё где-то есть pcre]

Конкретно в экзиме используются именно pcre, только не либой, а встроенным кодом. Разраб-то один и тот же.

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

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

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




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

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