EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Нужно сделать почту внутри локальной сети плюс возможность посылать и получать внешнюю почту через smarthost на ящик mail.ru.
Похоже, что ни одно из известных мне решений в exim не работает как следует.
Вроде задача элементарная. Но осложняется тем, что mail.ru требует совпадения SMTP-аутентификации, поля MAIL FROM (envelope from) и наверное еще поля From письма.
Самым логичным было бы изменение полей в транспорте с помощью headers_rewrite, но exim почему-то не поддерживает изменение envelope-полей в headers_rewrite.
Есть другое решение - изменение адреса в /etc/email-addresses или в rewrite, что по-сути одно. Это работает. Но в этом случае адреса изменяются и у локальной почты, и у всех становится один исходящий адрес, что совершенно не нужно. Нужно для локальной почты иметь локальные адреса, а для почты снаружи - внешние.
Вариант с заменой адреса отправителя в почтовой программе пользователя не вариант - нужно иметь и локальный адрес, и внешний, а значит будет неизбежна путаница. Да и не правильно обременять пользователей выбором правильного исходящего адреса.
Попутно, вырисовывается еще одна проблема - если получится как-то заранее поменять адреса в исходящей через smarthost почте (на адрес mail.ru), то в случае ошибок отправки еще на этапе передачи на mail.ru (не удалось отправить на mail.ru - превышен размер, нет адресата, сбой) сообщения будут направляться не автору письма в локальной сети, а на внешний почтовый ящик mail.ru - это плохо, отправитель не узнает об ошибке.
В транспорте нашел transport_filter - запуск внешней программы-фильтра. Попробовал поменять им адреса. Не помогает, MAIL FROM остается исходным.
Подскажите, как эту проблему наиболее корректно решить? Быть может, можно скрипт perl куда-то подключить? У exim очень много возможностей, я только начинаю кое-что понимать.
Я подобную задачу сначала попробовал реализовать на Postfix, все получилось и довольно быстро. Но в будущем понадобится реализовывать нестандартные алгоритмы работы с почтой (отправка почты после утверждения проверяющим, "пре-модерация" сообщений от некоторых пользователей, разные алгоритмы прохождения почты для разных подразделений, отчеты об отправленной почте и ее вложениях), и думаю, EXIM тут будет более гибок.
Примечание - работать потом это будет не с mail.ru, его я выбрал для освоения почтовой системы и поиска решений задач. Но может, и mail.ru тоже будет участвовать в работе системы.
Похоже, что ни одно из известных мне решений в exim не работает как следует.
Вроде задача элементарная. Но осложняется тем, что mail.ru требует совпадения SMTP-аутентификации, поля MAIL FROM (envelope from) и наверное еще поля From письма.
Самым логичным было бы изменение полей в транспорте с помощью headers_rewrite, но exim почему-то не поддерживает изменение envelope-полей в headers_rewrite.
Есть другое решение - изменение адреса в /etc/email-addresses или в rewrite, что по-сути одно. Это работает. Но в этом случае адреса изменяются и у локальной почты, и у всех становится один исходящий адрес, что совершенно не нужно. Нужно для локальной почты иметь локальные адреса, а для почты снаружи - внешние.
Вариант с заменой адреса отправителя в почтовой программе пользователя не вариант - нужно иметь и локальный адрес, и внешний, а значит будет неизбежна путаница. Да и не правильно обременять пользователей выбором правильного исходящего адреса.
Попутно, вырисовывается еще одна проблема - если получится как-то заранее поменять адреса в исходящей через smarthost почте (на адрес mail.ru), то в случае ошибок отправки еще на этапе передачи на mail.ru (не удалось отправить на mail.ru - превышен размер, нет адресата, сбой) сообщения будут направляться не автору письма в локальной сети, а на внешний почтовый ящик mail.ru - это плохо, отправитель не узнает об ошибке.
В транспорте нашел transport_filter - запуск внешней программы-фильтра. Попробовал поменять им адреса. Не помогает, MAIL FROM остается исходным.
Подскажите, как эту проблему наиболее корректно решить? Быть может, можно скрипт perl куда-то подключить? У exim очень много возможностей, я только начинаю кое-что понимать.
Я подобную задачу сначала попробовал реализовать на Postfix, все получилось и довольно быстро. Но в будущем понадобится реализовывать нестандартные алгоритмы работы с почтой (отправка почты после утверждения проверяющим, "пре-модерация" сообщений от некоторых пользователей, разные алгоритмы прохождения почты для разных подразделений, отчеты об отправленной почте и ее вложениях), и думаю, EXIM тут будет более гибок.
Примечание - работать потом это будет не с mail.ru, его я выбрал для освоения почтовой системы и поиска решений задач. Но может, и mail.ru тоже будет участвовать в работе системы.
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
По поводу перезаписи заголовков см.
http://www.exim.org/exim-html-current/d ... iting.html
http://www.exim.org/exim-html-current/d ... iting.html
IT voodoo blog https://kostikov.co
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Спасибо, я сам с этого и начинал.xM писал(а): По поводу перезаписи заголовков см.
http://www.exim.org/exim-html-current/d ... iting.html
Вот цитата из этой страницы:
For rules that are part of the headers_rewrite generic transport option, E, F, T, and S are not permitted.
Я это и сам проверил на практике - действительно, поле конверта FROM (the envelope From field) не меняется в транспорте.
А поменять его можно в rewrite, но это не транспорт, и изменяется From конверта во ВСЕХ письмах, включая локальные.
Кстати, появилась идея, не правильная, но на самый крайний случай может пригодиться. Можно поменять в rewrite поле From конверта ВСЕХ писем (и локальных, и предназначенных наружу), а в исходящем транспорте менять поле From письма.
Но тогда придется отказаться от проверки для локальных пользователей соответствия имени аутентификации и поля From, что может быть использовано для отправки писем от чужого имени.
А вот еще кажется проблема поважнее появится - ответы о статусе доставки (об ошибках) будут отправляться не локальным пользователям, а внешнему пользователю. Так как они кажется отправляются на адрес from конверта.
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
envelope вы не поменяете, а From вполне (f). По идее, при наличии авторизации на отправку (а она там, вроде бы, обязательна) этого должно быть достаточно.
Отправлено спустя 4 минуты 37 секунд:
UPD. Или посмотрите вариант с biz.mail.ru для вашего домена. Тогда я думаю вообще ничего переписывать не придётся.
Отправлено спустя 4 минуты 37 секунд:
UPD. Или посмотрите вариант с biz.mail.ru для вашего домена. Тогда я думаю вообще ничего переписывать не придётся.
IT voodoo blog https://kostikov.co
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Нет, сессия прерывается еще на этапе конверта из-за несоответствия From конверта и имени в аутентификации:
Код: Выделить всё
1chjZW-0000j3-7F ** user1@mail.ru R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after RCPT TO:<user1@mail.ru>: host smtp.mail.ru [217.69.139.160]: 501 sender address must match authenticated user
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
А попробуйте таки в вашем транспорте для смартхоста
И проверьте трассировкой сессии проходит ли у вас аутентификация.
Код: Выделить всё
headers_rewrite = *@your.domain foo@mail.ru Ffr
IT voodoo blog https://kostikov.co
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Да, я с headers_rewrite уже испробовал множество раз в разных вариантах. Менял и в smtp_транспорте, и в локальном, и даже посылал на свой рукописный smtp-сервер, чтобы лучше понять, что происходит. И даже такой вариант, который меняет все возможные заголовки:xM писал(а): А попробуйте таки в вашем транспорте для смартхоста
headers_rewrite = *@your.domain foo@mail.ru Ffr
И проверьте трассировкой сессии проходит ли у вас аутентификация.
Код: Выделить всё
headers_rewrite = *@* foo@mail.ru
Когда я с помощью rewrite менял заголовоки "rewrite = *@* foo@mail.ru Ffr" (включая From конверта), письмо успешно отправлялось.
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Тогда я не понимаю в чём проблемаИван Петров писал(а): Когда я с помощью rewrite менял заголовоки "rewrite = *@* foo@mail.ru Ffr" (включая From конверта), письмо успешно отправлялось.
IT voodoo blog https://kostikov.co
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Иван Петров писал(а): Есть другое решение - изменение адреса в /etc/email-addresses или в rewrite, что по-сути одно. Это работает. Но в этом случае адреса изменяются и у локальной почты, и у всех становится один исходящий адрес, что совершенно не нужно. Нужно для локальной почты иметь локальные адреса, а для почты снаружи - внешние.
...
Попутно, вырисовывается еще одна проблема - если получится как-то заранее поменять адреса в исходящей через smarthost почте (на адрес mail.ru), то в случае ошибок отправки еще на этапе передачи на mail.ru (не удалось отправить на mail.ru - превышен размер, нет адресата, сбой) сообщения будут направляться не автору письма в локальной сети, а на внешний почтовый ящик mail.ru - это плохо, отправитель не узнает об ошибке.
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
У локальной при использовании headers_rewrite ничего не меняется. Потому что она через этот транспорт ходить не будет.
IT voodoo blog https://kostikov.co
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Совершенно верно. Но headers_rewrite не умеет менять адрес From конверта, так что нам от него сейчас мало толка. А менять его умеет begin rewrite, который находится в файле 00_exim4-config_header, и вот этот меняет везде, включая локальные письма.
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Попробуйте error_to в роутере.
IT voodoo blog https://kostikov.co
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Хорошо, спасибо, буду иметь в виду.
Просто сейчас уже немного устал от борьбы с EXIM, от поисков, как преодолеть его ограничения.
Возможно, я ошибся, когда решил, что EXIM более гибок и удобен для реализации нестандартных схем работы с почтой.
Опять попробовал Postfix - там все просто, и почта отправляется через mail.ru, и адреса правильные - и локальные, и внешние, и сообщения о ошибках доставки приходят как и положено, локальным пользователям (правда, я пока не пытался сделать что-то действительно нестандартное).
Зачем он такой EXIM нужен (в моем случае), если с ним постоянно нужно бороться? Наверное проще использовать какую-то простую программу для отправки почты (таких кажется много, например, msmtp). Или самому на Python3 написать smtp-сервер, для него есть готовая качественная библиотека, и в программе обрабатывать адреса и заголовки именно так, как это нужно.
Еще вариант - доработать исходники Exim. Но это создаст проблему на всю жизнь - вместо простого обновления на новую версию нужно будет патчить исходники, дорабатывать их, компилировать.
Я пока еще ничего не решил, просто размышляю.
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Проверил, должно ли при отправке на smtp.mail.ru поле From письма быть равно полям конверта и аутентификации сессии (про последние уже писал выше).
Должно. В скрипте на Perl указал другой адрес From письма, и вот что получил:
По указанной ссылке ничего интересного нет - там указаны адреса серверов и номера портов для настройки почтовых клиентов.
В Postfix с настройкой этих адресов проблем нет. Случайное совпадение, или нет? Кажется, больше программ тоже предпочитают Postfix - сразу вспоминаются Postfix Admin, iRedMail, по Posfix больше материалов в интернет. Случайно ли? Вот, я только начал настраивать Exim, и сразу столкнулся с кажется неразрешимой проблемой. А если бы я попытался реализовать более сложные схемы? Или это фича Exim - трудная настройка и невозможность решения некоторых задач? У меня нет опыта работы с разными MTA, поэтому и спрашиваю.
Стоящую передо мной задачу я описал в прошлых сообщениях.
Если я выберу Postfix, что я потеряю по сравнению с Exim? Какие самые яркие преимущества Exim? Что из важного и нужного он умеет, чего не может Postfix?
Сейчас у меня складывается такое впечатление.
Подход Postfix - у вас проблема? Вот вам опция, которая разрешает именно эту проблему. Другая проблема - вот вам другая опция.
Подход Exim - вот вам куча возможностей, с помощью которых вы наверняка найдете способ решить любую проблему. Проблема не решается? Увы, вам не повезло.
Должно. В скрипте на Perl указал другой адрес From письма, и вот что получил:
Код: Выделить всё
550 Message was not accepted -- it contains invalid headers. More specially, 'From:' header must match user you are sending mail from. See http://help.mail.ru/mail-help/mailer/popsmtp for details.
В Postfix с настройкой этих адресов проблем нет. Случайное совпадение, или нет? Кажется, больше программ тоже предпочитают Postfix - сразу вспоминаются Postfix Admin, iRedMail, по Posfix больше материалов в интернет. Случайно ли? Вот, я только начал настраивать Exim, и сразу столкнулся с кажется неразрешимой проблемой. А если бы я попытался реализовать более сложные схемы? Или это фича Exim - трудная настройка и невозможность решения некоторых задач? У меня нет опыта работы с разными MTA, поэтому и спрашиваю.
Стоящую передо мной задачу я описал в прошлых сообщениях.
Если я выберу Postfix, что я потеряю по сравнению с Exim? Какие самые яркие преимущества Exim? Что из важного и нужного он умеет, чего не может Postfix?
Сейчас у меня складывается такое впечатление.
Подход Postfix - у вас проблема? Вот вам опция, которая разрешает именно эту проблему. Другая проблема - вот вам другая опция.
Подход Exim - вот вам куча возможностей, с помощью которых вы наверняка найдете способ решить любую проблему. Проблема не решается? Увы, вам не повезло.
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Попробуйте обратиться за советом к техническому директору mail.ru Владимиру Дубровину.
Он отвечает на Хабре и Тостере.
Он отвечает на Хабре и Тостере.
IT voodoo blog https://kostikov.co
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Они то правильно делают, а вот вы что-то неправильно, видимо.
IT voodoo blog https://kostikov.co
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2017-02-28 19:22:39
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
А можно узнать, что я делаю неправильно?
Та схема, которую я пытаюсь реализовать, предусмотрена в настройках Exim, наряду с обычным почтовым узлом, и называется smarthost.
Мне кажется, тут проявился эффект разработки студентов - не все продумали, что-то реализовали не лучшим образом.
Во времена, когда проектировали EXIM, считалось что почтовые сервера от своих клиентов должны принимать почту вообще без авторизации.
А теперь времена изменились, приходится защищаться от спама, делать авторизацию и дополнительные проверки.
Казалось бы, что проще - разрешить headers_rewrite для всех полей. Но раз не разрешили, значит что-то мешает. Возможно, внутри программы на эти поля что-то завязано, и их просто так не изменишь - нарушится логика работы других частей.
А я да, неправильно делаю. Я пытаюсь реализовать локальный почтовый сервер. Делай я обычный почтовый сервер или хотя бы с доменной почтой у хостера или мейла/яндекса/гугла, то скорей всего все бы заработало.
Но что еще важно - мне хотелось бы знать, что сделав шаг в сторону, я не наткнусь на неразрешимые проблемы.
Я пытаюсь на личном опыте понять, на что способна почтовая система.
Так что, даже если реальная система будет работать через сервер хостера (а сейчас она именно так работает), я вряд ли стану использовать EXIM после проблем с его настройкой в тестовом варианте. Если конечно, не узнаю, что есть простое и красивое решение, о котором я не знаю.
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Ваша патетика понятна, но вряд ли уместна.
Думаю, что имеет смысл продолжить дискуссию после получения дополнительной информации.
Думаю, что имеет смысл продолжить дискуссию после получения дополнительной информации.
IT voodoo blog https://kostikov.co
- globus
- проходил мимо
- Сообщения: 5
- Зарегистрирован: 2017-03-11 12:22:52
- Откуда: New-Sibirsk
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Здравия!
Извините за вмешательство, но надеюсь принести пользу. Взаимовыгодно :-)
Надо же, и у меня та же проблема. Переписывается всё, кроме "Envelope-From", который можно косвенно переписать установкой "Return-Path" в транспорте.
Вот так работает, но только для одного:
Можно ли в транспорте завести переменную, чтобы считывать реквизиты из /etc/email-addresses и потом эту переменную вставлять в return_path и в headers_rewrite? Во избежание многократых чтений файла.
Вот так:
Формат /etc/email-addresses:
Извините за вмешательство, но надеюсь принести пользу. Взаимовыгодно :-)
Надо же, и у меня та же проблема. Переписывается всё, кроме "Envelope-From", который можно косвенно переписать установкой "Return-Path" в транспорте.
Вот так работает, но только для одного:
Код: Выделить всё
remote_smtp:
return_path = ext-user@smarthost.ru
headers_rewrite = * ${lookup{$1}lsearch{/etc/email-addresses}{$value}fail} frs
Вот так:
Код: Выделить всё
RMSMTPHDR=(после $local_part: из /etc/email-addresses)
headers_rewrite = * $RMSMTPHDR frs
return_path = $RMSMTPHDR
Код: Выделить всё
local_user: ext-user@smarthost.ru
- globus
- проходил мимо
- Сообщения: 5
- Зарегистрирован: 2017-03-11 12:22:52
- Откуда: New-Sibirsk
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Почему в транспорте не работает такая конструкция:
, а прямая подстановка адреса работает?
Код: Выделить всё
return_path = ${lookup{$1}lsearch{/etc/email-addresses}{$value}fail}
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Вероятно, потому, что переменные типа $1 работают только в headers rewrite. Используйте стандартную $local_part.
IT voodoo blog https://kostikov.co
- globus
- проходил мимо
- Сообщения: 5
- Зарегистрирован: 2017-03-11 12:22:52
- Откуда: New-Sibirsk
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Код: Выделить всё
return_path = ${lookup{$local_part}lsearch{/etc/email-addresses}{$value}fail}
Кстати, лопатя документацию, обнаружил несоответствие с прямо противоположным переводом. Exim 4.7 $ 31.4:
Код: Выделить всё
Отметьте, что управляемая поиском перезапись [b][u]НЕ[/u][/b] может быть сделана правилом в форме
*@* ${lookup ...
где ключ поиска использует “$1” и “$2”, или “$local_part” и “$domain” для ссылки на перезаписываемый адрес.
Код: Выделить всё
Note that lookup-driven rewriting can be done by a rule of the form
*@* ${lookup ...
where the lookup key uses $1 and $2 or $local_part and $domain to refer to the address that is being rewritten.
- xM
- ст. лейтенант
- Сообщения: 1316
- Зарегистрирован: 2009-01-15 23:57:41
- Откуда: Königsberg
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
Не понимаю, где вы увидели несоответствие. Перевод точный.
Если не работает - дебажьте. Там будет видно как раскрываются переменные и почему у вас это не срабатывает.
Если не работает - дебажьте. Там будет видно как раскрываются переменные и почему у вас это не срабатывает.
IT voodoo blog https://kostikov.co
- globus
- проходил мимо
- Сообщения: 5
- Зарегистрирован: 2017-03-11 12:22:52
- Откуда: New-Sibirsk
- Контактная информация:
EXIM - локальная почта + smarthost на mail.ru - неужели нельзя?
А отрицательная частица "НЕ" в первом предложении перевода - разве так и надо? А если так надо, так может и из-за этого и не работает у меня?
Посоветуйте, пож-ста, как дебажить это дело. Поиски веду, но за час рытья документации однозначного ответа пока не нашёл.
Посоветуйте, пож-ста, как дебажить это дело. Поиски веду, но за час рытья документации однозначного ответа пока не нашёл.