My goal is to search my huge webmail with more then 2000 email with attachments.
It seems that Zimbra webmail search doesnt give results in GUI mode. Sometimes it works but shows only unread mail.
In programatic mode I didnt have luck.
My question is how to perform search in Zimbra webmail (Show some example)
My second question is if there is any material about zimbra webmail search (but not their official materials because they are not usefull to me)
asked Sep 22, 2014 at 14:48
Well… I don’t quite understand, what your problem exactly is. I find it quite easy to search in Zimbra. Just enter a term and Zimbra searches in the subject, mail text and addresses.
You can add wildcards (*) to search for partial words.
Besides this, you can add tags to search for specific things. For example, to search for all mails, that Mike sent to you, you’d search for “from:mike”. (These tags are all quite well documented in Zimbra’s online help)
The same query language is used programmatically (for example in SearchRequest-Api calls).
answered Oct 29, 2014 at 21:25
4
Основные команды
Вообще все выполняется от пользователя zimbra!!!
т.е. сперва всегда su – zimbra
Запуск/перезапуск
zmcontrol start|stop|restart|status
Перезапуск postfix (например, если правили конфиг)
или
Информация о почтовом ящике
zmprov getMailboxInfo sharre@diamondplatinumrealty.com
Переиндексировать ящик
zmprov reIndexMailbox valynkin .pavel@propertyminder.com start|status|stop
Посчитать количество писем в Inbox (getAllFolders)
zmmailbox -z -m system@propertyminder.com gaf | grep Inbox | awk '{print $4}'
Если в логах сообщения со словами NO_SUCH_BLOB
то это значит, что произошло рассогласование между метаданными ящика и физическими файлами с письмами. Ну т.е. в метаданных есть ссылки на письма, а по факту файлов уже нет.
Устраняется путем перестроения метаданных на основе существующих файлов с письмами в ящике.
Для того, что бы найти ящики, у которых проблема:
grep -B2 NO_SUCH_BLOB /opt/zimbra/log/mailbox.lo* |grep mailbox= |sed -r 's/.*mailbox=([0-9]*).*$/1/' |sort -u
Пофиксить:
zmblobchk --mailboxes 6919 --export-dir /tmp --missing-blob-delete-item start|status|stop zmblobchk --mailboxes 4600 --export-dir /tmp/3 --missing-blob-delete-item --unexpected-blob-list /tmp/3/blob-list start
Работа с аккаунтом galsync
Информация об источниках данных (getDataSources)
zmprov gds galsync@vpstest.ru
Удалить аккаунт galsync
zmgsautil deleteAccount -a galsync@vpstest.ru
Узнать аккаунт (user account) по номеру ящика (MailboxId)
su - zimbra mysql use zimbra; select comment from mailbox where id=257; +----------------------+ | comment | +----------------------+ | user@domain.com | +----------------------+ 1 row in set (0.00 sec)
Апдейт правил spamassasin
Очистка ящиков от удаленных писем
Зимбра производит операцию purge_mailbox только для тех ящиков, которые находятся в момент выполнения операции в памяти (т.е. к ним кто то законнечен).
По этому для редко используемых ящиков очистка не срабатвает.
В ручном режиме:
Получаем ZimbraID ящика
zmprov -l ga letterbackup@propertyminder.com zimbraId
Загружаем ящик в память выполнив пустую операцию
zmmailbox -z -m letterbackup@propertyminder.com noOp
Очищаем ящик
zmsoap -v -z PurgeMessagesRequest/mbox @id=1ab5cf73-b393-4ae0-9723-05ee92131980
вот так:
[zimbra@mail ~]$ zmprov -l ga letterbackup@propertyminder.com zimbraId # name letterbackup@propertyminder.com zimbraId: 1ab5cf73-b393-4ae0-9723-05ee92131980 [zimbra@mail ~]$ zmmailbox -z -m letterbackup@propertyminder.com noOp [zimbra@mail ~]$ zmsoap -v -z PurgeMessagesRequest/mbox @id=1ab5cf73-b393-4ae0-9723-05ee92131980 <PurgeMessagesRequest xmlns="urn:zimbraAdmin"> <mbox id="1ab5cf73-b393-4ae0-9723-05ee92131980"/> </PurgeMessagesRequest> <PurgeMessagesResponse xmlns="urn:zimbraAdmin"> <mbox id="1ab5cf73-b393-4ae0-9723-05ee92131980" mbxid="6867" s="3030290"/> </PurgeMessagesResponse>
Можно пройтись по всем ящикам вот таким скриптом purge-all.sh:
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
#!/bin/bash # purge-all.sh # run as user zimbra # $ ./purge-all.sh # or crontab monthly/weekly # 0 1 1 * * /usr/local/bin/purge-all.sh # config TMPDIR="/var/tmp" LOGDIR="/opt/zimbra/log" SLEEP=10 if [ "$USER" != "zimbra" ]; then echo "Error: Must be run as user zimbra" exit 1 fi DATE="`date '+%Y%m%d-%H%M%S'`" exec >> $LOGDIR/purgeall-$DATE.log echo "`date`: START $0" zmprov -l gaa -s `zmhostname` > $TMPDIR/purgeall-list.out for MYUSER in `cat $TMPDIR/purgeall-list.out` do echo "`date`: Starting user: $MYUSER" ACCOUNT_ID="`zmprov -l ga $MYUSER zimbraId | awk '/^zimbraId:/ {print $2}'`" if [ -n "$ACCOUNT_ID" ]; then zmmailbox -z -m $MYUSER noOp && zmsoap -v -z PurgeMessagesRequest/mbox @id=$ACCOUNT_ID if [ $? = 0 ]; then echo "`date`: Finished user: $MYUSER" else echo "`date`: Error: $MYUSER" fi fi sleep $SLEEP done echo "`date`: END $0" exit 0 |
ENJOY!
- О портале
- Новости
- Форум
- Присоединиться
- Alfresco
- Что такое Alfresco?
- Все материалы
- Форум Alfresco
- Новости Alfresco
- Люди и компании
- KVM
- Что такое KVM?
- Все материалы
- Форум KVM
- Новости KVM
- Люди и компании
- Pentaho
- Все материалы
- Форум Pentaho
- Люди и компании
- Zabbix
- Zimbra
- Что такое Zimbra?
- Все материалы
- Форум Zimbra
- Новости Zimbra
- Люди и компании
- и другие
Сквозной поиск по всем ящикам пользователей
Гость, 12/09/2011 – 10:34
Подскажите, можно ли как то осуществить поиск по всем ящикам пользователей письма с текстом например “конфедициально” или “зарплата”. Т.е. в целях поиска пользователей рассылающих информацию. Или может есть какой то фильтр, в котором указываются ключевые слова и если такое письмо попадает, то оно идет не адресату а на указанный ящик, например security@фирма.ру
0
1
Приветствую!
Что-то пошло не так и моему пользователю перестали приходить письма от одного из контрагентов.
В логах без ошибок, только предупреждения типа:
Oct 30 17:34:15 mail postfix/smtpd[19265]: connect from mail.domain.ru[ip]
Oct 30 17:34:15 mail postfix/smtpd[19265]: NOQUEUE: filter: RCPT from mail.domain.ru[ip]: <user@DOMAIN.RU>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10026; from=<user@DOMAIN.RU> to=<my-user@my-domain.ru> proto=ESMTP helo=<mail.domain.ru>
Oct 30 17:34:15 mail postfix/smtpd[19265]: NOQUEUE: filter: RCPT from mail.domain.ru[ip]: <user@DOMAIN.RU>: Sender address triggers FILTER smtp-amavis:[127.0.0.1]:10024; from=<user@DOMAIN.RU> to=<my-user@my-domain.ru> proto=ESMTP helo=<mail.domain.ru>
Oct 30 17:34:17 mail postfix/smtpd[19265]: 0A4DC5D8064D: client=mail.domain.ru[ip]
Oct 30 17:34:29 mail postfix/cleanup[5213]: 0A4DC5D8064D: message-id=<e1d6c4a8d583cc551885c02fc7212e2b@mail.domain.ru>
Oct 30 17:34:30 mail postfix/smtpd[19265]: disconnect from mail.domain.ru[ip] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Oct 30 17:39:41 mail postfix/cleanup[18839]: B965B5D806AC: message-id=<e1d6c4a8d583cc551885c02fc7212e2b@mail.domain.ru>
Oct 30 17:39:41 mail amavis[6818]: (06818-04-2) Passed CLEAN {RelayedInbound}, [77.241.253.50]:36862 [77.241.253.50] <user@DOMAIN.RU> -> <my-user@my-domain.ru>, Queue-ID: 0A4DC5D8064D, Message-ID: <e1d6c4a8d583cc551885c02fc7212e2b@mail.domain.ru>, mail_id: hRxz_R13vD7D, Hits: -10, size: 50872, queued_as: B965B5D806AC, 218 ms
На той стороне утверждают, что письма уходят, ошибки не возвращаются.
Письма с других доменов пользователю доставляются. Домен отправителя в белом списке. В настройках ящика никаких фильтров нет. И письма нигде нет.
Как и где можно найти письмо, хотя бы по message-id и доставить его пользователю?
И в чем вообще может быть причина такого поведения зимбры?
На чтение 3 мин Просмотров 519 Опубликовано 14 августа, 2021 Обновлено 14 августа, 2021
Запуск/перезапуск
zmcontrol start|stop|restart|status
Перезапуск postfix (например, если правили конфиг)
zmmtactl reload
или
postfix reload
Информация о почтовом ящике
zmprov getMailboxInfo sharre@diamondplatinumrealty.com
Переиндексировать ящик
zmprov reIndexMailbox valynkin .pavel@propertyminder.com start|status|stop
Посчитать количество писем в Inbox (getAllFolders)
zmmailbox -z -m system@propertyminder.com gaf | grep Inbox | awk '{print $4}'
Если в логах сообщения со словами NO_SUCH_BLOB
то это значит, что произошло рассогласование между метаданными ящика и физическими файлами с письмами. Ну т.е. в метаданных есть ссылки на письма, а по факту файлов уже нет. Устраняется путем перестроения метаданных на основе существующих файлов с письмами в ящике.
Для того, что бы найти ящики, у которых проблема:
grep -B2 NO_SUCH_BLOB /opt/zimbra/log/mailbox.lo* |grep mailbox= |sed -r 's/.*mailbox=([0-9]*).*$/1/' |sort -u
Пофиксить:
zmblobchk --mailboxes 6919 --export-dir /tmp --missing-blob-delete-item start|status|stop
zmblobchk --mailboxes 4600 --export-dir /tmp/3 --missing-blob-delete-item --unexpected-blob-list /tmp/3/blob-list start
Работа с аккаунтом galsync
Информация об источниках данных (getDataSources)
zmprov gds galsync@vpstest.ru
Удалить аккаунт galsync
zmgsautil deleteAccount -a galsync@vpstest.ru
Узнать аккаунт (user account) по номеру ящика (MailboxId)
su - zimbra
mysql
use zimbra;
select comment from mailbox where id=257;
+----------------------+
| comment |
+----------------------+
| user@domain.com |
+----------------------+
1 row in set (0.00 sec)
Апдейт правил spamassasin
zimbramon /bin/sa-update
Очистка ящиков от удаленных писем
Зимбра производит операцию purge_mailbox только для тех ящиков, которые находятся в момент выполнения операции в памяти (т.е. к ним кто то законнечен). По этому для редко используемых ящиков очистка не срабатвает. В ручном режиме:
Получаем ZimbraID ящика
zmprov -l ga letterbackup@propertyminder.com zimbraId
Загружаем ящик в память выполнив пустую операцию
zmmailbox -z -m letterbackup@propertyminder.com noOp
Очищаем ящик
zmsoap -v -z PurgeMessagesRequest/mbox @id=1ab5cf73-b393-4ae0-9723-05ee92131980
вот так:
[zimbra@mail ~]$ zmprov -l ga letterbackup@propertyminder.com zimbraId
# name letterbackup@propertyminder.com
zimbraId: 1ab5cf73-b393-4ae0-9723-05ee92131980
[zimbra@mail ~]$ zmmailbox -z -m letterbackup@propertyminder.com noOp
[zimbra@mail ~]$ zmsoap -v -z PurgeMessagesRequest/mbox @id=1ab5cf73-b393-4ae0-9723-05ee92131980
<PurgeMessagesRequest xmlns="urn:zimbraAdmin">
<mbox id="1ab5cf73-b393-4ae0-9723-05ee92131980"/>
</PurgeMessagesRequest>
<PurgeMessagesResponse xmlns="urn:zimbraAdmin">
<mbox id="1ab5cf73-b393-4ae0-9723-05ee92131980" mbxid="6867" s="3030290"/>
</PurgeMessagesResponse>
Можно пройтись по всем ящикам вот таким скриптом purge-all.sh:
#!/bin/bash
# purge-all.sh
# run as user zimbra
# $ ./purge-all.sh
# or crontab monthly/weekly
# 0 1 1 * * /usr/local/bin/purge-all.sh
# config
TMPDIR="/var/tmp"
LOGDIR="/opt/zimbra/log"
SLEEP=10
if [ "$USER" != "zimbra" ]; then
echo "Error: Must be run as user zimbra"
exit 1
fi
DATE="`date '+%Y%m%d-%H%M%S'`"
exec >> $LOGDIR/purgeall-$DATE.log
echo "`date`: START $0"
zmprov -l gaa -s `zmhostname` > $TMPDIR/purgeall-list.out
for MYUSER in `cat $TMPDIR/purgeall-list.out`
do
echo "`date`: Starting user: $MYUSER"
ACCOUNT_ID="`zmprov -l ga $MYUSER zimbraId | awk '/^zimbraId:/ {print $2}'`"
if [ -n "$ACCOUNT_ID" ]; then
zmmailbox -z -m $MYUSER noOp &&
zmsoap -v -z PurgeMessagesRequest/mbox @id=$ACCOUNT_ID
if [ $? = 0 ]; then
echo "`date`: Finished user: $MYUSER"
else
echo "`date`: Error: $MYUSER"
fi
fi
sleep $SLEEP
done
echo "`date`: END $0"
exit 0
Все
-
Спецзаказ перевозка цветов в Верхних Кигах Служба доставки среди цветов.
verhnie-kigi.sredi-cvetov.ru