The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Qmail и Postfix, специфическая проблема..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 02:13  (MSK)
Ситуация такая, с сервера qmail работает пересылка по alias-у на другой сервер, на котором работает postfix. Так вот давая команды postfix-у qmail делает такую вещь, после команды data пишет например так:
Return-Path: <tralala@domain.tld> X-Original-To: test@dom.net Delivered-To: test@dom.net Received: from m1.domain.tld (m.domain.tld [123.213.132.231]) Delivered-To: tralala-forward@domain.tld Date: Thu, 13 Jan 2005 14:00:37 +0300 From tralala@domain.tld Thu 13 Jan 11:00:04 2005 X-Mailer: The Bat! (v2.01.3) Educational Subject: Test Content-Type: text/plain; charset=Windows-1251 Content-Transfer-Encoding: 8bit ..... и т.д.

Посмотрите на строку "From tralala@domain.tld Thu 13 Jan 11:00:04 2005" Qmail там не ставит после From двоеточие. Postfix же в свою очередь из за того, что эта запись не похожа на заголовок (нет двоеточия) считает, что уже началось тело письма и вставляет пустую строку, а все поля которые дальше прописаны, уже считаются телом письма. Соответственно получается корявое письмо, так как многие клиенты считают, что после пустой строки всегда идёт уже тело письма, да и постфикс так считает. Ну оно и верно, что они так считают.

Вопрос, кто не правильно делает, qmail, потому что пишет без двоеточия там где оно нужно или postfix, который сам доставляет пустую строку???? И как эту фичу выключить в postfix, если она конечно выключается?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 02:16  (MSK)
Сорри за форматирование, вот так пральней:

Return-Path: <tralala@domain.tld>
X-Original-To: test@dom.net
Delivered-To: test@dom.net
Received: from m1.domain.tld (m.domain.tld [123.213.132.231])
Delivered-To: tralala-forward@domain.tld
Date: Thu, 13 Jan 2005 14:00:37 +0300
From tralala@domain.tld Thu 13 Jan 11:00:04 2005
X-Mailer: The Bat! (v2.01.3) Educational
Subject: Test Content-Type: text/plain; charset=Windows-1251
Content-Transfer-Encoding: 8bit
..... и т.д.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 02:36  (MSK)
Выяснил, как сам qmail поступает в таких ситуациях, когда в заголовке письма, встречаются строки без знака ":". qmail их просто игнорирует, как будто их и не было, то есть в итоговом письме, этих строк совсем нет. Как бы сделать тоже самое в postfix, а если нет такого параметра в конфиге, то где можно в сырцах это поправить?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Qmail и Postfix, специфическая проблема..."
Сообщение от unk Искать по авторуВ закладки(ok) on 15-Янв-05, 11:49  (MSK)
>Вопрос, кто не правильно делает, qmail, потому что пишет без двоеточия там
>где оно нужно или postfix, который сам доставляет пустую строку???? И
>как эту фичу выключить в postfix, если она конечно выключается?
1) Qmail отдает именно, то что получил сам - это MTA, а не почтовый фильтр.
2) Postfix НЕ вставляет пустых строк ни при каких обстоятельствах (точнее вставить можно через PREPEND, но это не ваш случай). Несколько раз в год автора пытаются уговорить сделать это, но Venema успешно отпирается.
3) Виноват, тот кто сформировал такое письмо.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 12:14  (MSK)
>1) Qmail отдает именно, то что получил сам - это MTA, а
>не почтовый фильтр.
Понял, но я не администратор того qmail, скорее всего там такая фигня из за спамасасина или антивиря.

>2) Postfix НЕ вставляет пустых строк ни при каких обстоятельствах (точнее вставить
>можно через PREPEND, но это не ваш случай). Несколько раз в
>год автора пытаются уговорить сделать это, но Venema успешно отпирается.
Как это не вставляется, сделайте такое:

$ telnet mail.domain.net 25
Trying 123.231.213.132...
Connected to mail.domain.net.
Escape character is '^]'.
220 mail.domain.net ESMTP Postfix
mail from: <test@mail.ru>
250 Ok
rcpt to: <test@domain.net>
250 Ok
data
354 End data with <CR><LF>.<CR><LF>
from <test@mail.ru>
subject: Test
.
250 Ok: queued as DF0635C326
quit
221 Bye
Connection closed by foreign host.

Перед subject, запись "from <test@mail.ru>" именно без двоеточия после from.
После такого, вы увидите, что subject почтовый клиент, не вопринимает как заголовок письма, да и сам postfix тоже. В постфиксе проверил это через body_check и header_check на subject. Если from c двоеточием, то срабатывает фильтр который в header_check, если без, то который в body_check. Версия postfix 2.1.5.

>3) Виноват, тот кто сформировал такое письмо.
Понятно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Qmail и Postfix, специфическая проблема..."
Сообщение от unk Искать по авторуВ закладки(ok) on 15-Янв-05, 12:33  (MSK)
>Понял, но я не администратор того qmail, скорее всего там такая фигня
>из за спамасасина или антивиря.
Согласен.
А postfix ваш?

>>2) Postfix НЕ вставляет пустых строк ни при каких обстоятельствах (точнее вставить
>>можно через PREPEND, но это не ваш случай). Несколько раз в
>>год автора пытаются уговорить сделать это, но Venema успешно отпирается.
>Как это не вставляется, сделайте такое:
Для вашего примера он вставит:
"To:", "Message-Id:", "Date:", "From:" и закроет вставленные им заголовки пустой строкой все. Если вы попробуете провести эксперемент с письмом содержащим эти обязательные поля (т.е с "битым" после них), то увидите, что никаких пустых строк добавленно не будет.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 12:46  (MSK)
>>Понял, но я не администратор того qmail, скорее всего там такая фигня
>>из за спамасасина или антивиря.
>Согласен.
>А postfix ваш?
>
>>>2) Postfix НЕ вставляет пустых строк ни при каких обстоятельствах (точнее вставить
>>>можно через PREPEND, но это не ваш случай). Несколько раз в
>>>год автора пытаются уговорить сделать это, но Venema успешно отпирается.
>>Как это не вставляется, сделайте такое:
>Для вашего примера он вставит:
>"To:", "Message-Id:", "Date:", "From:" и закроет вставленные им заголовки пустой строкой все.
>Если вы попробуете провести эксперемент с письмом содержащим эти обязательные поля
>(т.е с "битым" после них), то увидите, что никаких пустых строк
>добавленно не будет.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 12:52  (MSK)
Сорри!!
>>Понял, но я не администратор того qmail, скорее всего там такая фигня
>>из за спамасасина или антивиря.
>Согласен.
>А postfix ваш?
>
Postfix мой.

>>>2) Postfix НЕ вставляет пустых строк ни при каких обстоятельствах (точнее вставить
>>>можно через PREPEND, но это не ваш случай). Несколько раз в
>>>год автора пытаются уговорить сделать это, но Venema успешно отпирается.
>>Как это не вставляется, сделайте такое:
>Для вашего примера он вставит:
>"To:", "Message-Id:", "Date:", "From:" и закроет вставленные им заголовки пустой строкой все.
>Если вы попробуете провести эксперемент с письмом содержащим эти обязательные поля
>(т.е с "битым" после них), то увидите, что никаких пустых строк
>добавленно не будет.
Верно, но заметьте, что subject, который я хотел отправить в заголовке, уже не будет в заголовке, а будет в теле письма, так как вставится пустая строка. Как я понял postfix решает что кончился заголовок по двум признакам: или при втрече пустой строки (так должно быть), или при втрече записи, которая не является заголовком (мне нужно чтобы Postfix или просто игнорировал эту строку как qmail, или хотяб оставлял, но не считал, что после этой строки идёт тело пиьсма).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Qmail и Postfix, специфическая проблема..."
Сообщение от unk Искать по авторуВ закладки(ok) on 15-Янв-05, 13:13  (MSK)
>вставится пустая строка. Как я понял postfix решает что кончился заголовок
>по двум признакам: или при втрече пустой строки (так должно быть),
>или при втрече записи, которая не является заголовком (мне нужно чтобы
Да все верно.

>Postfix или просто игнорировал эту строку как qmail, или хотяб оставлял,
>но не считал, что после этой строки идёт тело пиьсма).
Вы хотите неестественного интеллекта от cleanup (плюс Винема считает это нарушением RFC) - странно т.к. выше вы совершенно правильно расписали алгоритм отделения заголовка от тела.
С самим postfix'ом тут ни чего не сделать - можно только придумывать обходные пути. Например вам может помочь before-queue фильтр.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 13:31  (MSK)
>>вставится пустая строка. Как я понял postfix решает что кончился заголовок
>>по двум признакам: или при втрече пустой строки (так должно быть),
>>или при втрече записи, которая не является заголовком (мне нужно чтобы
>Да все верно.
>
>>Postfix или просто игнорировал эту строку как qmail, или хотяб оставлял,
>>но не считал, что после этой строки идёт тело пиьсма).
>Вы хотите неестественного интеллекта от cleanup (плюс Винема считает это нарушением RFC)
Я читал RFC давно, когда ещё осваивал, что такое почта и как она работает, и не встречал, могу ошибаться, что отделение заголовка от тела проиходит не только по путой строке, но и ещё по строке, которая не похожа на поле, то бишь без двоеточия.
И почему же неестественный интелект, в коде постфикс, нужно найти участок кода, где он узнаёт, что началось тело письма, и удалить оттудова участок кода, где он считает началом тела письма, если поступает не похожая на заголовок, строка. Больше программерских знаний нужно, что бы вместо того, чтобы считать что началось тело письма, просто проигнорировать эту строку. Мне главное найти вообще этот учаток, хотябы знать в каком файле.

>- странно т.к. выше вы совершенно правильно расписали алгоритм отделения заголовка
>от тела.
>С самим postfix'ом тут ни чего не сделать - можно только придумывать
>обходные пути. Например вам может помочь before-queue фильтр.

Попробую разобраться с этим фильтром.

Спасибо!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 13:33  (MSK)
>>С самим postfix'ом тут ни чего не сделать - можно только придумывать
>>обходные пути. Например вам может помочь before-queue фильтр.
>
>Попробую разобраться с этим фильтром.
>
>Спасибо!

Хотя стоп, мне это не подходит... Нужно разбираться с кодом постфикс.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Qmail и Postfix, специфическая проблема..."
Сообщение от unk Искать по авторуВ закладки(ok) on 15-Янв-05, 13:46  (MSK)
>>Вы хотите неестественного интеллекта от cleanup (плюс Винема считает это нарушением RFC)
>Я читал RFC давно, когда ещё осваивал, что такое почта и как
>она работает, и не встречал, могу ошибаться, что отделение заголовка от
>тела проиходит не только по путой строке, но и ещё по
>строке, которая не похожа на поле, то бишь без двоеточия.
Прочитайте еще раз 822 и 2822. Если кортоко, то
1. Про "пустую строку" не сказанно MUST
2. Формат поля заголовка:
^Field_name:[:space:](Text)?([:space:]text)?$

>И почему же неестественный интелект, в коде постфикс, нужно найти участок кода,
>где он узнаёт, что началось тело письма, и удалить оттудова участок
>кода, где он считает началом тела письма, если поступает не похожая
>на заголовок, строка. Больше программерских знаний нужно, что бы вместо того,
>чтобы считать что началось тело письма, просто проигнорировать эту строку. Мне
>главное найти вообще этот учаток, хотябы знать в каком файле.
Не естественный - потому что программа не может знать битое письмо или так и задуманно. Все что делает cleanup - приводит письмо к соответсвующему RFC виду.
Если же вам неймется что-нибуть сломать - Файл cleanup_message.c

>Попробую разобраться с этим фильтром.
Почему он вам не подходит???

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 14:01  (MSK)
>Если же вам неймется что-нибуть сломать - Файл cleanup_message.c
>
Поищу, правда Си я совем не знаю, программировал токо под Delphi :-(

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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Qmail и Postfix, специфическая проблема..."
Сообщение от unk Искать по авторуВ закладки(ok) on 15-Янв-05, 14:09  (MSK)
>>Если же вам неймется что-нибуть сломать - Файл cleanup_message.c
>Поищу, правда Си я совем не знаю, программировал токо под Delphi :-(
Удачи желать не буду :)
Лучше постарайтесь понять, что вы ломаете логику.

>>>Попробую разобраться с этим фильтром.
>>Почему он вам не подходит???
>Потому, что уже будут вставлены автоматичеки строки, те, про которые вы говорили,
Это не верно. before-queue фильтр получит "чистое письмо".

>да и не хотелось бы чтоб письмо передовалось внешнему скрипту.
Такой фильтр тяжело написать скриптом (если под скриптами понимать *sh)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 15-Янв-05, 18:47  (MSK)
>>>Если же вам неймется что-нибуть сломать - Файл cleanup_message.c
>>Поищу, правда Си я совем не знаю, программировал токо под Delphi :-(
>Удачи желать не буду :)
>Лучше постарайтесь понять, что вы ломаете логику.
Я это понимаю, но ничего делать не остаётся.

>>>>Попробую разобраться с этим фильтром.
>>>Почему он вам не подходит???
>>Потому, что уже будут вставлены автоматичеки строки, те, про которые вы говорили,
>Это не верно. before-queue фильтр получит "чистое письмо".
>
>>да и не хотелось бы чтоб письмо передовалось внешнему скрипту.
>Такой фильтр тяжело написать скриптом (если под скриптами понимать *sh)
не обязательно sh, тот же perl.
В общем вы имеете ввиду, что прикрутить свой фильтр, как это делается для spamassasin?

З.Ы.
Помоему, чего-то Qmail не того делает. Я так понимаю, что Qmail при получении почты и раскладывании её добавляет строчку типа такой:
From user@domain.ru Wed Dec 01 22:13:36 2004 А когда пересылает эту строчку не удаляет... ЧТо за строка, чего она делает и зачем нужна QMail-у?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Qmail и Postfix, специфическая проблема..."
Сообщение от unk Искать по авторуВ закладки(ok) on 17-Янв-05, 11:08  (MSK)
>Помоему, чего-то Qmail не того делает. Я так понимаю, что Qmail при
>получении почты и раскладывании её добавляет строчку типа такой:
>From user@domain.ru Wed Dec 01 22:13:36 2004 А когда пересылает эту строчку
>не удаляет... ЧТо за строка, чего она делает и зачем нужна
>QMail-у?
Почитайте mbox(5)
Но при пересылке по alias этой строки быть не должно.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 17-Янв-05, 12:52  (MSK)
>>Помоему, чего-то Qmail не того делает. Я так понимаю, что Qmail при
>>получении почты и раскладывании её добавляет строчку типа такой:
>>From user@domain.ru Wed Dec 01 22:13:36 2004 А когда пересылает эту строчку
>>не удаляет... ЧТо за строка, чего она делает и зачем нужна
>>QMail-у?
>Почитайте mbox(5)
>Но при пересылке по alias этой строки быть не должно.

Ага, точно, начало письма в ящиках типа mbox. Только вот почему она при пересылки может сохраняться?!

И ещё вопросик, когда по pop3 протоколу это письмо забираешь, эта строка должна отдаваться mail-клиенту или нет?

З.Ы. В общем надо админа Qmail тормошить.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "Qmail и Postfix, специфическая проблема..."
Сообщение от unk Искать по авторуВ закладки(ok) on 17-Янв-05, 13:21  (MSK)
>И ещё вопросик, когда по pop3 протоколу это письмо забираешь, эта строка
>должна отдаваться mail-клиенту или нет?
Прочитайте man.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 17-Янв-05, 13:34  (MSK)
>Прочитайте man.

Не нашёл ответа... :-((

  Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "Qmail и Postfix, специфическая проблема..."
Сообщение от unk Искать по авторуВ закладки(ok) on 17-Янв-05, 13:47  (MSK)
>>Прочитайте man.
>Не нашёл ответа... :-((
The message is delivered without  an  extra  UUCP-
style  From_ line, without any >From quoting, and without an
extra blank line at the end.  The message is normally in RFC
822   format,   starting  with  a  Return-Path  line  and  a
Delivered-To line, but it  could  contain  arbitrary  binary
data.  It might not even end with a newline.

Разговор не конструктивен: вы не хотите/не способны читать
документацию - мне не интересно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 17-Янв-05, 15:13  (MSK)
Спасибо за всё...

Я и не думал, что по вопросу mailbox нужно искать ответ в man maildir. Хотя из приведённой цитаты, я так и не нашёл ответ на такой вопрос:

Если qmail хранит почту пользователя в mailbox, то pop3 сервер отдаёт строку с From bla-bla-bla mail-клиенту или нет. То есть если я забираю почту клиентом с почтового сервера, где вся почта хранится в mailbox, должен ли я увидеть уже локально у себя в заголовках писем такую строку.

А вообще за всё спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

21. "Qmail и Postfix, специфическая проблема..."
Сообщение от unk Искать по авторуВ закладки(ok) on 17-Янв-05, 15:35  (MSK)
>Я и не думал, что по вопросу mailbox нужно искать ответ в
>man maildir. Хотя из приведённой цитаты, я так и не нашёл
>ответ на такой вопрос:
qmail держит почту в maildir!
Цитата была из man 5 maildir т.к. речь о qmail, но ответ есть и в man 5 mbox (причем если я верно помню, то там детально расписан алгоритм парсинга).

>Если qmail хранит почту пользователя в mailbox, то pop3 сервер отдаёт строку
>с From bla-bla-bla mail-клиенту или нет. То есть если я забираю
Возьмите словарь и переведите это предложение:
The message is delivered without  an  extra  UUCP-
style  From_ line, without any >From quoting, and without an
extra blank line at the end.
Обратите внимание на "From_ line". "_" это space

  Рекомендовать в FAQ | Cообщить модератору | Наверх

22. "Qmail и Postfix, специфическая проблема..."
Сообщение от Гость Искать по авторуВ закладки on 17-Янв-05, 15:51  (MSK)
>qmail держит почту в maildir!

Может быть, но откудова тогда берутся строки From_, в файлах Maildir/ такого нет, по крайней мере в postfix.

>Возьмите словарь и переведите это предложение:
>The message is delivered without  an  extra  UUCP-
>style  From_ line, without any >From quoting, and without an
>extra blank line at the end.
>Обратите внимание на "From_ line". "_" это space
Поскольку эта цитата была из maildir, а в maildir нет такого признака начала письма как From_ и так понятно, что эта строка не отдаётся.

Посмотрел man 5 mbox, нашёл только упоминание о том, что одним письмом в файле является всё, что от From_ до From_ или до конца файла и если удалить эти строки, то письмо будет попадать под RFС 822. Получается, что как будто бы и не должно отдаваться. Но проанализировав ранние письма которые я получал на mail.ru вижу, что эта трока поп3 клиенту отдаётся.

З.Ы. Qmail не мой, как там что натроено я не знаю. Мне нужно сделать просто чтобы мой postfix принимал письма которые редиректит по alias qmail. И вот пытаюсь разобраться что там может быть сделано не так, почему при редиректе отдаётся строка From_.

Спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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