* On 2002.04.02, in <[EMAIL PROTECTED]>,
*       "Simon White" <[EMAIL PROTECTED]> wrote:
> 01-Apr-02 at 18:57, Robert Chien ([EMAIL PROTECTED]) wrote :
> > Hi,
> > 
> > I'm in the process of writing a CGI/Perl script to move
> > folders from one IMAP server to another IMAP server. I would
> 
> Err... why are you using Mutt? Why not just set up an NFS share or FTP
> access, and just *copy* the files from one server to the other?

You answered this yourself....


> Or is there a specific reason you need to use an MUA to do it? I can't
> think of one good reason, unless of course you don't have anything but
> IMAP access to each server

to either server, you mean.


>                             in which case you're not going to be doing it
> for a whole heap of users, are you?

Why not?


I've been in this situation (or, more accurately, postured a similar on
behalf of my users). With access to one hierarchy of mboxes, I use a
command like this to transfer them all to an IMAP server:

cd .../path/to/folders
find . -type f -print | while read folder; do
        directory=`dirname $folder`
        folder=`basename $folder`
        mutt -f $directory/$folder -e "push 
'<tag-pattern>~A<enter><tag-prefix><copy-message><kill-line>imap://SERVER/$directory/$folder<enter><enter>PASSWORD<enter><exit>'"
        echo
        echo "$directory/$folder is transferred."
done

It's trivial to extend that to handle multiple users, if you know
their passwords. If you don't know their passwords, then it's probably
possible to arrange a back-channel transfer not involving IMAP directly.


For doing this between two servers *neither* of which you have access
to, I don't see a way to automate it, since there's no direct means of
getting the folder tree structure in mutt and passing it to a script.
But if you can use another IMAP tool (or cobble your own) to get that
list, you can use a similar approach.

-- 
 -D.    [EMAIL PROTECTED]        NSIT    University of Chicago

Reply via email to