LINUX.ORG.RU
ФорумAdmin

Courier2Cyrus


0

0

Есть сервер с курьером, есть новый сервер, там будет сайрус. Надо перенести почту.

Вопрос: Как это сделать на сервере? Можно конечно настроить почтовик на два сервера, и перетаскивать письма там, но это геморно, только лишь в случае если ничего друго не придумаю.

ЗЫ: Предложения типа "нахрен тебе сайрус, оставь курьер" не катят... Если поставил, значит есть причины.


а в чем проблемы?

или cyrus с майлдиром не дружит?

ну да ничего стращного, есть же на сайте постфикса тулза по ковертированию maildir в mbox и обратно.

gr_buza ★★★★
()
Ответ на: комментарий от gr_buza

Дружит то дружит.... но фрмат храниения отличается, простой перенос не помогает - потом реконструкт не сделать...

К примеру имя письма в курьере

1146125575.V307I1bd9c.main:2,S

а у сайруса

1.

Sargan
() автор топика
Ответ на: комментарий от Sargan

в таком случае переконверь в mailbox, а оттуда в майлдир.

а нафига sieve ендузеру (на которого, похоже, оно рассчитано)? :)

неужели не хватает postgrey+dspam (так у меня, к примеру).

спама нет вообще, кроме как у постматера (но он там фильтруется dspam'ом)

gr_buza ★★★★
()
Ответ на: комментарий от gr_buza

гмм.... постгрей письма с задержкой отправляет принимает? dspam как кстати?

эндюзер может сам правила sieve добавлять

Sargan
() автор топика
Ответ на: комментарий от Sargan

дык вот и я о том же.

нахрена это тете-маше бухгалтерше?

З.Ы. дспам рулез, систему в отличии от SA вообще не грузит.

З.З.Ы. постгрей да, письма с задержкой принимает, но только один раз, так что это не критично.

gr_buza ★★★★
()
Ответ на: комментарий от gr_buza

короче если кому понадобиться, вот скрипт который переконвертирует мэйлдиры курьера в формат сайруса

!/bin/bash

IFS=$'\n' for u in `ls -A ./src` do MAILDIR=./src/$u mkdir "$u" for q in $MAILDIR/cur/* ; do cp -p $q ./$u/ ; done for q in $MAILDIR/new/* ; do cp -p $q ./$u/ ; done for q in $MAILDIR/tmp/* ; do cp -p $q ./$u/ ; done c=0 for m in `ls ./$u` do if [ -f ./$u/$m ] ; then perl -pi -e "s/\n/\r\n/;" ./$u/$m mv ./$u/$m ./$u/$c. let c=c+1 fi done

for f in `ls -d $MAILDIR/.*` do if [ "$f" = "$MAILDIR/." ] ; then continue; fi if [ "$f" = "$MAILDIR/.." ] ; then continue; fi BASEDIR=./$u/$(basename $f) mkdir "$BASEDIR" for q in $f/cur/* ; do cp -p $q $BASEDIR/ ; done for q in $f/new/* ; do cp -p $q $BASEDIR/ ; done for q in $f/tmp/* ; do cp -p $q $BASEDIR/ ; done c=0 for m in `ls $BASEDIR` do if [ -f $BASEDIR/$m ] ; then perl -pi -e "s/\n/\r\n/;" $BASEDIR/$m mv $BASEDIR/$m $BASEDIR/$c. let c=c+1 fi done done done

Нужно только поправить права и влдельца...

Sargan
() автор топика
Ответ на: комментарий от gr_buza

>и форматирование в скрипте. >можно конечно и ручками восстановить, но уж больно геморно

;)Эстет..... А что так не работает?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.