Регистрация...

Eserv Forum / E4 / Mail / Почему может не работать команда SEARCH ?

recent wikipost // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Добрый день.

Пытаемся смигрировать почту с сервера Eserv4, по протоколу IMAP4 через imapsync.
Если ставлю параметр --maxage 30, то imapsync всеравно сливает ВСЕ письма, а не только новые.
Пробовал командами на 143-й порт телнетом искать новые письма, всеравно Eserv выдает все письма.

--maxage с dovecot сервером работает отлично.

Что делать ?
 
Комментарии к этой версии (17.08.2018 14:38) [~vadeg] 06f55d64
АвторДатаТекстtags
ac20.08.2018 00:20
А на уровне IMAP как этот SEARCH maxage выглядит? Строчку из IMAP-лога Eserv приведите пожалуйста.
wikipost
vadeg22.08.2018 14:59
ред: 22.08.2018 15:23
Добрый день.
Вот как выглядит IMAP "общение" со стороны imapsync:
Host1 folder 2/31 [&BB0ENQQ2BDUEOwQwBEIENQQ7BEwEPQQwBE8- &BD8EPgRHBEIEMA-/&BB Sent 85 bytes Read: * FLAGS ($Forwarded $MDNSent \Answered \Flagged \Deleted \Draft \Seen $l Read: * 463 EXISTS * 0 RECENT * OK [UIDVALIDITY 590] UID validity status * OK [PERMANENTFLAGS ($Forwarded $MDNSent \* \Answered \Flagged \Deleted * OK [UIDNEXT 468] Predicted next UID 42 OK [READ-WRITE] SELECT completed (&BB0ENQQ2BDUEOwQwBEIENQQ7BEwEPQQwBE Sending: 43 UID SEARCH sentsince 19-Aug-2018 Sent 37 bytes Read: * SEARCH 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 43 OK SEARCH completed Hits are: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 Sending: 44 UID FETCH 1:26,28:57,59:250,252:324,326:467 RFC822.SIZE Sent 60 bytes Read: * 1 FETCH (UID 1 RFC822.SIZE 328165) * 3 FETCH (UID 3 RFC822.SIZE 1987) * 4 FETCH (UID 4 RFC822.SIZE 1987) * 5 FETCH (UID 5 RFC822.SIZE 123710) * 6 FETCH (UID 6 RFC822.SIZE 53300) * 7 FETCH (UID 7 RFC822.SIZE 25956) * 8 FETCH (UID 8 RFC822.SIZE 5675) * 9 FETCH (UID 9 RFC822.SIZE 114373) <поскипано> и список заканчивается этим: * 463 FETCH (UID 467 RFC822.SIZE 18209) 44 OK UID FETCH completed Size: 344240152 Messages: 463 Biggest: 19977575

Ключевая команда Sending: 43 UID SEARCH sentsince 19-Aug-2018

Т.е. все 463 письма любой свежести есерв отдает.
wikipost
ac24.08.2018 00:27
Заглянул в исходники. Действительно, sentsince не реализована, есть просто since.
wikipost
ac24.08.2018 01:02
Файл: acIMAP4 fixed [227478 bytes]
Исправленная замена acIMAP4.exe (старый вариант exe сохраните на всякий случай).
wikipost
ananyev29.08.2018 09:01
Добрый день!
Файл скачал, подменил, а служба не стартует! Что прислать?
wikipost
ananyev29.08.2018 15:30
Это файл предназначался для моего сервера. Vedeg мне помогает. Поэтому, как только новый acimap4 заведется, так мы с Vadeg продолжим чтение почты с определенной даты.
wikipost
pig29.08.2018 21:26
Первым делом смотрите acimap4.log
wikipost
ananyev30.08.2018 09:06
Значит лог:
<30>
Log started: Thu, 30 Aug 2018 08:56:45 +0300 (acIMAP/4.40, build 375009, 03.09.2017) KAUSTIK\NEPTUN$ Exception #-2003 at: conf\OnStartup.rules.txt:135:15: CacheLogStrInit ^ conf\OnStartup.rules.txt - file not found 2018-08-30 08:56:45;0.0.0.0;Error 2003 in the rule file "conf\OnStartup.rules.txt", line: 135, char: 15 FSubMonitor err=3 (4294965293) Файл: ((http://forum.eserv.ru/~ananyev/files/OnStartup.rules.txt OnStartup.rules.txt)) [4357 bytes]
wikipost
ac30.08.2018 23:02

Файл: acIMAP 4.41 [239662 bytes]
wikipost
ananyev03.09.2018 10:56
Все заработало! Андрей, спасибо большое!
wikipost
ananyev03.09.2018 17:42
Андрей, еще вопрос, если позволите!
Можно ли как нибудь списком (скриптом или отредактировать какой нибудь файл) вкатить псевдонимы. Или так же списком создать ящики с уже установленной переадресацией?
wikipost
ac03.09.2018 22:33
А в каком формате исходный список? Если его можно привести к CSV, то можно и не вкатывать, а прямо из исходного файла списка подключать правилами по IsInFile, как было в E3.
wikipost
ananyev04.09.2018 08:48
Да, конечно, список псевдонимов можно привести к CSV файлу. А как использовать IsInFile? В какой конфиг нужно внести изменения?
wikipost
ananyev04.09.2018 08:57
Думаю, что нужно вносить изменения в .....\acSMTP\conf\OnStartup.rules.txt. Но куда и какой синтаксис. Можно ли привести примерчик?
wikipost
ananyev04.09.2018 20:29
Ну а если совсем не трудно, укажите в каком файле, в каком месте вставить какой код.
wikipost
ac05.09.2018 21:39
Лучше ставить код прямо в SMTP-фильтрах. Например, так:


e4 smtp filter forward2

А указанный файл — CSV в формате E3. Например, так:

Email;ToEmail info@eserv.ru;support@eserv.ru postmaster@eserv.ru;support@eserv.ru
wikipost
ananyev06.09.2018 14:50
Спасибо за ответ.

Создавал поочередно 2 фильтра.

В первом (eserv1.jpg) поле "Заголовок" имеет значение "*". Получил циклическую переадресацию.
(The following message to <ananyev@kaustik_ru.eserv> was undeliverable.
The reason for the problem:
  1. 3.0 — Other mail system problem 554-"ERR loopback detected: too many 'Received:' in the header")
В настройках ящика ananyev@kaustik.ru установлена переадресация на ananyev@kaustik.ru.

Содержимое файла forward.txt
"Email;ToEmail ananyev@kaustik_ru.eserv;ananyev@kaustik.ru"

Вот втором случае (eserv2.jpg) переадресация не работает вообще. Здесь поле "Заголовок" как у Вас в примере имеет значение "Subject"

Если установить переадресацию вручную в "псевдонимах" с ящика ananyev@kaustik_ru.eserv на ananyev@kaustik.ru, то все замечательно работает.


eserv2

eserv1
wikipost
ananyev06.09.2018 14:51


eserv3
wikipost
ac06.09.2018 22:40
ред: 06.09.2018 23:00
Поле "Заголовок" я в фильтре не заполнял, то есть оно предполагается любым, соответственно не учитывается. Subject там стоит для примера (при добавлении фильтра), но значение не указано, поэтому ни на что не влияет. То есть оставьте как в моем примере.

ananyev пишет: Содержимое файла forward.txt
"Email;ToEmail ananyev@kaustik_ru.eserv;ananyev@kaustik.ru"

Именно так, в одну строчку? Там должна быть первая строка — заголовки столбцов (Email;ToEmail, конкретные названия не принципиальны), вторая и далее — собственно сравниваемые и подставляемые адреса. Если у вас вторая строка ananyev@kaustik_ru.eserv;ananyev@kaustik.ru, то фильтр, встретив получателя письма "ananyev@kaustik_ru.eserv" перешлёт его на ananyev@kaustik.ru. Вам точно приходят письма на такой домен "kaustik_ru.eserv"?

ananyev пишет: Other mail system problem 554-"ERR loopback detected: too many 'Received:' in the header")

В настройках ящика ananyev@kaustik.ru установлена переадресация на ananyev@kaustik.ru.

Ну, что заказывали такой настройкой ящика, то и получили. Свежесозданные фильтры не причем, они срабатывают только на получателя "ananyev@kaustik_ru.eserv". В чем смысл указывать в ящике пересылку на самого себя? Если письмо должно остаться в том же ящике, надо просто очистить поле "Пересылать на Email", и почта, поступившая на Eserv для ananyev@kaustik.ru, останется в ящике ananyev. Вам нужно переслать эту почту на какой-то внешний ящик через внешний сервер? Но тогда там в получателе должен быть другой домен, а не тот же kaustik.ru, который внешним сервером снова вернётся на ваш Eserv, если у этого внешнего сервера нет какой-то спец.настройки для иной маршрутизации этого домена.

Кстати, сейчас на MX вашего домена отвечает не Eserv. Вы по POP3 получаете почту домена? Но вот это сообщение о зацикливании почты 554-"ERR loopback detected: too many 'Received:' in the header" какой-то MTA получил в SMTP-сессии от Eserv.
wikipost
ananyev06.09.2018 23:07
В настройках почтового ящика с момента его создания в поле "пересылать на email" в ящиках мигрированных с e3 указан этот же ящик, а ящики созданные уже в е4 "нет, локальный". Если в этом поле оставить нет, то почта на этот ящик приходить не будет. Позавчера проверили.
wikipost
ananyev06.09.2018 23:14
При таких настройках ящика, как на последнем скрине все работает, хотя вопрос о "пересылать на email" все таки возникал, но как говориться работает и ничего не трогай. Завтра приложу схему переадрисации почты если нужно. Но почему установленный вручную псевдоним работает, а через фильтр нет?

Если у вас вторая строка ananyev@kaustik_ru.eserv;ananyev@kaustik.ru, то фильтр, встретив получателя письма "ananyev@kaustik_ru.eserv" перешлёт его на ananyev@kaustik.ru. Вам точно приходят письма на такой домен "kaustik_ru.eserv"?

Да в две строчки, да точно приходят на ananyev@kaustik_ru.eserv
wikipost
ananyev06.09.2018 23:25
Да, Вы правы:

Кстати, сейчас на MX вашего домена отвечает не Eserv. Вы по POP3 получаете почту домена? Но вот это сообщение о зацикливании почты 554-"ERR loopback detected: too many 'Received:' in the header" какой-то MTA получил в SMTP-сессии от Eserv.

У нас отвечает аппаратный спам фильтр, который потом чистые письма пересылает на eserv.

Есть еще один почтовый сервер, который обрабатывает тот же домен, что и eserv. У пользователей, созданных на нем стоит переадресация на промежуточный домен @kaustik_ru.eserv созданный в локальных dns, который в свою очередь указывает на eserv. На eserv заведен домен @kaustik_ru.eserv, но без пользователей. Что бы пользователей в @kaustik_ru.eserv на eserv не заводить я сделал псевдоним с ananyev@kaustik_ru.eserv на ananyev@kaustik.ru.
Вот собственно и схема. Это сделано для того, что бы локальная переписка во втором почтовом сервере попадала на eserv.
wikipost
ananyev06.09.2018 23:27
Но поскольку пользователей много, то руками псевдонимы создавать неохота, вот Вас и спросил как это можно сделать по-веселей.
wikipost
ananyev07.09.2018 00:01
ред: 07.09.2018 00:03
В общем так. Настроил и проверил еще раз.

Во вложении настройка почтового ящика с Вашими замечаниями. Фильтр так же. И результат пересылки (письма с темой 21 зациклились) письма со второго локального сервера на eserv. Снаружи почта на eserv приходит нормально.

eserv6

eserv5

eserv4
wikipost
ananyev07.09.2018 00:05
Повторю, что если убрать фильтр и настроить псевдоним с вручную, то со второго локального сервера почта придет как надо.
wikipost
ac08.09.2018 00:04
Тут бы ещё логи SMTP-сервера Eserv посмотреть из DATA\log\smtp, и логи исходящих SMTP-сессий из DATA\temp, чтоб до конца понять, как у вас почта ходит. Аппаратным спам-фильтром огорчили. За 16 лет использования байесов в Eserv ни разу не возникало мысли заменить или "усилить" их чем-то, работают идеально.

Правило поменяйте с
FIELD2 AddRcpt
на
uRCPTLIST 0! FIELD2 AddRcpt


"uRCPTLIST 0!" очистит текущий список получателей, чтобы FIELD2 заменял исходного получателя с промежуточным доменом, а не добавлялся к нему.
wikipost
ananyev08.09.2018 16:15
Поменял. Результат тот же. Лог во вложении. Может какой нибудь еще лог приложить? 192.168.0.41 — это наш спам фильтр.
Вот письмо, которое вернулось на второй сервер, с которого и было письмо отправлено.
(The following message to <ananyev@kaustik_ru.eserv> was undeliverable.
The reason for the problem:
  1. 3.0 — Other mail system problem 554-"ERR loopback detected: too many 'Received:' in the header"
  2. )Файл: укажите описание файла 1 [16517 bytes]
wikipost
pig08.09.2018 20:07
ред: 08.09.2018 20:08
Eserv пишет:
2018-09-08 16:12:10;192.168.0.41;@;104;9540;DELIVERY;ananyev@kaustik_ru.eserv;ExDelivery:outbound

Не убирается адресат с промежуточным доменом.
wikipost
ac09.09.2018 01:51
Добавьте kaustik_ru.eserv в список локальных доменов.
wikipost
ananyev09.09.2018 07:34
Это первым делом сделано было!
wikipost
ananyev09.09.2018 07:44


Screenshot 20180909-073556 Horizon
wikipost
ananyev10.09.2018 07:40
Так все таки шанс у меня есть псевдонимы не вручную создавать?
wikipost
ac11.09.2018 22:14
ananyev пишет: Это первым делом сделано было!

Неправильно сделано. На скриншоте не домены, а проекты/группы.
wikipost
ananyev19.09.2018 11:10
Добрый день!
В общем добавил домен в проект и ничего не поменялось. Вопрос решился так:
  1. Остановили службы;
  2. Сделали backup directory.db3;
  3. Раскудрявили файл directory.db3;
  4. Вкатили список псевдонимов (около 700 шт.) соответствующего формата в таблицу sp_emails;
  5. Поправили сиквенс sp_emails — действие обязательно ;
  6. Закудрявили назад directory.db3;
  7. Запустили службы;
  8. Открыли Web интерфейс, проверили наличие псевдонимов, проверили их работоспособность.
Все!
wikipost
Работает на Eserv/5.05567 (10.02.2020)