The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Копирование почты"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Копирование почты"  
Сообщение от gennady email(??) on 29-Мрт-06, 15:49 
Приветствую всех. Нужно перенести непрчитанные письма из почтовых ящиков в формате mbox в почтовые ящики cyrus-imapd. Поскажите куда копать, может программа какая есть. Заранее спасибо.
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Копирование почты"  
Сообщение от John (??) on 29-Мрт-06, 17:15 
>Приветствую всех. Нужно перенести непрчитанные письма из почтовых ящиков в формате mbox
>в почтовые ящики cyrus-imapd. Поскажите куда копать, может программа какая есть.
>Заранее спасибо.


http://www.google.ru/search?hl=ru&q=convert+mbox+to+maildir&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Копирование почты"  
Сообщение от gennady email(??) on 30-Мрт-06, 05:17 
>http://www.google.ru/search?hl=ru&q=convert+mbox+to+maildir&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=
Ссылка не совсем в тему, но спасибо. Решение нашел такое - скрипт, выложенный кем-то:
----------------
#! /bin/sh
#
#       unix2cyrus.sh - feed unix mailboxes to cyrus
#
# Here's a VERY simple little script to pipe individual messages from
# a unix mailbox format spool file into "deliver" so as to move that
# user's current incoming mail into their new Cyrus IMAPd "INBOX".
#
# WARNING: This script assumes the return-path header will be just one line.
#
# Usage:  unix2cyrus /var/mail/USER

# Note the builder would have us use @AWK@

awk -v user=$(basename $1) '
        BEGIN {
                FS = " ";
                pipe_cmd = "";
                deliver_cmd = "@PREFIX@" "/cyrus/bin/deliver -q ";
                last_line = "";
                ret_path = "";
                in_header = 1;
                header[0] = "";
                hc = 1;
        }
        $1 == "From" && last_line == "" {
                close(pipe_cmd);
                hc = 1;
                in_header = 1;
                ret_path = "root@localhost";
                next;
        }
        in_header && $0 != "" {
                if ($1 ~ /[Rr][Ee][Tt][Uu][Rr][Nn]-[Pp][Aa][Tt][Hh]:/) {
                        ret_path = $2;
                        gsub(/[<>]/, "", ret_path);
                } else {
                        header[hc++] = $0;
                }
                next;
        }
        in_header && $0 == "" {
                in_header = 0;
                pipe_cmd = deliver_cmd "-f \"" ret_path "\" " user;
                for (i = 1; i <= hc; i++) {
                        print header[i] | pipe_cmd;
                }
                print "" | pipe_cmd;
                next;
        }
        ! in_header {
                last_line = $0;
                print $0 | pipe_cmd;
        }' $1
-------------------
Еще раз всем спасибо.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру