File: migrate_mbox.pl

package info (click to toggle)
libmail-imapclient-perl 3.31-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,516 kB
  • sloc: perl: 20,436; makefile: 23
file content (131 lines) | stat: -rwxr-xr-x 3,104 bytes parent folder | download | duplicates (5)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/usr/local/bin/perl
#
# This is an example demonstrating the use of the migrate method.
# Note that the migrate method is considered experimental and should 
# be used with caution. 
# 
#$Id$
# 

use Mail::IMAPClient;
use IO::File;
use File::Basename ;
use Getopt::Std;
use warnings;
use vars qw/$opt_h $opt_H 
	$opt_s $opt_u $opt_p $opt_d $opt_b $opt_o
	$opt_S $opt_U $opt_P $opt_D $opt_B $opt_O
/;

getopts('Hhs:S:u:U:p:P:d:D:b:B:o:O:');
if ($opt_h or $opt_H ) {
print << "HELP";


Usage:

$0 -[h|H]	-- prints this message

Lower-case options are for source server; upper-case options are for the target server.

$0 	-s server -S server -u uid -U uid -p passwd -P passwd \
	-b buffersize -B buffersize -o debugFile -O debugFile > error_file

All uppercase options except -O default to the lowercase option that was specified. 
If you don't specify any uppercase options at all then God help you, I don't know 
what will happen.

Always capture STDERR so that you'll be able to resolve any problems that come up.


HELP

exit;
}

my $imap = Mail::IMAPClient->new(
	Server  => $opt_s,
	User    => $opt_u,
	Password=> $opt_p,
	Uid	=> 1,
	Debug	=> $opt_d,
	Buffer	=> $opt_b||4096,
	Fast_io	=> 1,
	Timeout	=> 160,			   # True value
	Debug_fh=> ( 
		$opt_o ? IO::File->new(">$opt_o")||die "can't open $opt_o: $!\n" : undef ) 
) or die "Error opening source connection: $@\n";

my $imap2 = Mail::IMAPClient->new(	
	Server  => $opt_S||$opt_s,
	User    => $opt_U||$opt_u,
	Password=> $opt_P||$opt_p,
	Uid	=> 1,
	Debug	=> $opt_D||$opt_d,
	Buffer	=> $opt_B||$opt_b||4096,
	Fast_io	=> 1,
	Timeout	=> 160,	
	Debug_fh=> ( 
		$opt_O ? IO::File->new(">$opt_O")||die "can't open $opt_O: $!\n" : undef ) 
) or die "Error opening target connection: $@\n";


$imap->Debug_fh->autoflush;
$imap2->Debug_fh->autoflush;

for my $f ($imap->folders) { $imap->select($f) ; $imap->migrate($imap2,"ALL") ;}


=head1 AUTHOR 
	
David J. Kernen

The Kernen Group, Inc.

imap@kernengroup.com

=head1 COPYRIGHT

This example and Mail::IMAPClient are Copyright (c) 2003 
by The Kernen Group, Inc. All rights reserved.

This example is distributed with Mail::IMAPClient and 
subject to the same licensing requirements as Mail::IMAPClient.

imtest is a utility distributed with Cyrus IMAP server, 
Copyright (c) 1994-2000 Carnegie Mellon University.  
All rights reserved. 

=cut

#
#$Log: migrate_mbox.pl,v $
#Revision 19991216.2  2003/06/12 21:38:33  dkernen
#
#Preparing 2.2.8
#Added Files: COPYRIGHT
#Modified Files: Parse.grammar
#Added Files: Makefile.old
#	Makefile.PL Todo sample.perldb
#	BodyStructure.pm
#	Parse.grammar Parse.pod
# 	range.t
# 	Thread.grammar
# 	draft-crispin-imapv-17.txt rfc1731.txt rfc2060.txt rfc2062.txt
# 	rfc2221.txt rfc2359.txt rfc2683.txt
#
#Revision 1.1  2003/06/12 21:38:15  dkernen
#
#Preparing 2.2.8
#Added Files: COPYRIGHT
#Modified Files: Parse.grammar
#Added Files: Makefile.old
#	Makefile.PL Todo sample.perldb
#	BodyStructure.pm
#	Parse.grammar Parse.pod
# 	range.t
# 	Thread.grammar
# 	draft-crispin-imapv-17.txt rfc1731.txt rfc2060.txt rfc2062.txt
# 	rfc2221.txt rfc2359.txt rfc2683.txt
#
#