Exim: развернутые причины отказа

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

IMB
Сообщения: 2567
ОС: Debian

Exim: развернутые причины отказа

Сообщение IMB »

Доброго дня!
Есть необходимость выдавать более развернутые сообщения в случае отказа в приеме сообщения, установлен Exim 4.63. Попытался сделать так:

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

deny
        message = "Rejected: empty HELO/EHLO.\n\
                Normally client send the EHLO command to the server, \
                indicating the client's identity.\n
                Consult with section 3.2 RFC 5321 \
                (http://tools.ietf.org/html/rfc5321#section-3.2) and contact \
                YOUR system administrator.\n\n\
                Отвергнуто: пустое HELO/EHLO.\n\
                Принято считать, что  клиент должен послать команду EHLO серверу \
                таким образом идентифицируя себя.\n
                Пожалуйста ознакомьтесь с разделом 3.2 RFC 5321 \
                (http://tools.ietf.org/html/rfc5321#section-3.2) и свяжитесь с \
                ВАШИМ системным администратором."
        condition = ${if eq{$sender_helo_name}{}}

Но увы, в логе я наблюдаю только первую строку message. В документации я не встречал упоминая про данное ограничение, в случае condition подобная конструкция, с переносом строк, работает.
Я ошибся в синтаксисе или message не может быть более одной строки?
Спасибо.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Exim: развернутые причины отказа

Сообщение KiWi »

1. Русский использовать не стоит -- врядли его кто-то сможет увидеть и прочитать.
2. \n ставить не нужно -- \ УЖЕ учитывает перевод строки.
3. multiline ответы по умолчанию включены и отключаются при помощи control = no_multiline_responses.
4. Не стоит проверять работоспособность по логам, ибо там в любом случае будет только одна строка. В документации всё есть:
If log_message is not present and there is no underlying error message (for example, from the failure of address verification), but message is present, the message text is used for logging rejections. However, if any text for logging contains newlines, only the first line is logged. In the absence of both log_message and message, a default built-in message is used for logging rejections.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: Exim: развернутые причины отказа

Сообщение IMB »

Спасибо, может быть Вы разъясните тогда следующие моменты:
- я правильно понимаю, что \\ эквивалентно двум переводам строк
- если на сервере стоит UTF-8 то и ответы уходят в ней, значит вся проблема с русским может возникнуть только из за кодировки в письме
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Exim: развернутые причины отказа

Сообщение KiWi »

IMB писал(а):
18.11.2009 12:27
Спасибо, может быть Вы разъясните тогда следующие моменты:
- я правильно понимаю, что \\ эквивалентно двум переводам строк
- если на сервере стоит UTF-8 то и ответы уходят в ней, значит вся проблема с русским может возникнуть только из за кодировки в письме

1. Нет. Перевод строки есть в самом конфиге.
2. Проблема возникнет в нарушении стандарта -- он не предусматривает использование чего-либо, отличного от первых 128 ASCII символов, то есть латиницы. http://www.faqs.org/rfcs/rfc821.html
Спасибо сказали: