URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 23196
[ Назад ]

Исходное сообщение
"mailbox -> Maildir"

Отправлено killall , 20-Ноя-02 09:19 
Стоит Sendmail, почта юзеров складируется в файлы в /var/spool/mail, хочу перейти на Postfix, где почта будет складываться в каталог Maildir в персональном каталоге пользователя. Почтовых пользователей много и сказать каждому, что мол забери всю почту, а то на новом сервере она не сохранится, никак не могу. Поэтому хотелось бы узнать есть ли какой-нибудь конвертер, который бы перегнал почту из mailbox'ов в Maildir?

Содержание

Сообщения в этом обсуждении
"RE: mailbox -> Maildir"
Отправлено lavr , 20-Ноя-02 16:19 
>Стоит Sendmail, почта юзеров складируется в файлы в /var/spool/mail, хочу перейти на
>Postfix, где почта будет складываться в каталог Maildir в персональном каталоге
>пользователя. Почтовых пользователей много и сказать каждому, что мол забери всю
>почту, а то на новом сервере она не сохранится, никак не
>могу. Поэтому хотелось бы узнать есть ли какой-нибудь конвертер, который бы
>перегнал почту из mailbox'ов в Maildir?

есть, ищи в районе qmail, courier-imap, imap... - везде есть ссылки на
конвертеры


"RE: mailbox -> Maildir"
Отправлено Soldier , 21-Ноя-02 06:40 
>>Стоит Sendmail, почта юзеров складируется в файлы в /var/spool/mail, хочу перейти на
>>Postfix, где почта будет складываться в каталог Maildir в персональном каталоге
>>пользователя. Почтовых пользователей много и сказать каждому, что мол забери всю
>>почту, а то на новом сервере она не сохранится, никак не
>>могу. Поэтому хотелось бы узнать есть ли какой-нибудь конвертер, который бы
>>перегнал почту из mailbox'ов в Maildir?
>
>есть, ищи в районе qmail, courier-imap, imap... - везде есть ссылки на
>
>конвертеры

А по моему быстрее самому написать, используя mail. Например в Linux-е (да думаю в BSD тоже):

Получить количество месаг:
msgcnt=`echo x | mail -f /path/to/mailbox -N | awk -F: '{print $2}' | awk '{print $1}'`
echo $msgcnt
(если месаги в /var/spool/mail, то возможно mail -u user вместо mail -f ...)


Допустим количество месаг больше нуля:

Сохранить 1-ю месагу:

i=1
printf "s%i msgi.msg\nx\n" ${i} ${i} | mail -f  /path/to/mailbox > /dev/null
               ^^^
           что то оно процент странно изображает. должно быть msg,  
           потом знак процента, потом 04, потом i.msg

Создаст в текущей директории файл msg0001.msg, содержащий первое письмо
Ну и так далее. Владельца естественно надо будет поменять.

Можно это же самое на C сделать (pipe, popen) - тогда раз в 200 быстрее будет.

По крайней мере я в свое время так сделал и проблем не было. И времени заняло считанные минуты (на написание программы, имеется ввиду).



"RE: mailbox -> Maildir"
Отправлено killall , 21-Ноя-02 12:23 
>есть, ищи в районе qmail, courier-imap, imap... - везде есть ссылки на
>конвертеры

Да, действительно. Путём всевозможных извращений в поисковике яндекса выловил интересную програмульку на перле mbox2maildir.
Вот линк, кому интересно:
http://video.spb.osi.ru/~levsha/factory/inform/qmail/mbox2ma...
Правда в нём в конце каждой строки стоит символ возврата каретки (видать сохраняли в каком-то виндовом текстовом редакторе), но после зачистки скрипт заработал на ура.
P.S. Спасибо всем за помощь.


"RE: mailbox -> Maildir"
Отправлено reboot , 16-Янв-03 13:57 
Привет всем!
Вот возникла похожая проблема -
нужно перенести cyrus mailbox в Maildir.

Может имел кто опыт?