This commit is contained in:
Nick Bebout 2011-03-12 02:44:28 +00:00
parent 579d11054e
commit 93b2baf68d
4 changed files with 32 additions and 14 deletions

View file

@ -1,17 +1,20 @@
RCS file: RCS/imapsync,v RCS file: RCS/imapsync,v
Working file: imapsync Working file: imapsync
head: 1.180 head: 1.181
branch: branch:
locks: strict locks: strict
gilles: 1.180
access list: access list:
symbolic names: symbolic names:
keyword substitution: kv keyword substitution: kv
total revisions: 180; selected revisions: 180 total revisions: 181; selected revisions: 181
description: description:
---------------------------- ----------------------------
revision 1.180 locked by: gilles; revision 1.181
date: 2006/07/19 14:45:29; author: gilles; state: Exp; lines: +22 -7
Added several controls to check connected status.
----------------------------
revision 1.180
date: 2006/07/19 13:45:55; author: gilles; state: Exp; lines: +7 -7 date: 2006/07/19 13:45:55; author: gilles; state: Exp; lines: +7 -7
Updated success list Updated success list
---------------------------- ----------------------------

4
README
View file

@ -3,7 +3,7 @@ NAME
Synchronise mailboxes between two imap servers. Good at IMAP migration. Synchronise mailboxes between two imap servers. Good at IMAP migration.
More than 25 different IMAP server softwares supported with success. More than 25 different IMAP server softwares supported with success.
$Revision: 1.180 $ $Revision: 1.181 $
INSTALL INSTALL
imapsync works fine under any Unix OS. imapsync works fine under any Unix OS.
@ -290,5 +290,5 @@ AUTHOR
teaching free open and gratis softwares. Don't hesitate to pay him for teaching free open and gratis softwares. Don't hesitate to pay him for
that services. that services.
$Id: imapsync,v 1.180 2006/07/19 13:45:55 gilles Exp gilles $ $Id: imapsync,v 1.181 2006/07/19 14:45:29 gilles Exp $

View file

@ -1 +1 @@
1.180 1.181

View file

@ -7,7 +7,7 @@ tool. Synchronise mailboxes between two imap servers. Good
at IMAP migration. More than 25 different IMAP server softwares at IMAP migration. More than 25 different IMAP server softwares
supported with success. supported with success.
$Revision: 1.180 $ $Revision: 1.181 $
=head1 INSTALL =head1 INSTALL
@ -340,7 +340,7 @@ Gilles LAMIRAL earn his living writing, installing,
configuring and teaching free open and gratis configuring and teaching free open and gratis
softwares. Don't hesitate to pay him for that services. softwares. Don't hesitate to pay him for that services.
$Id: imapsync,v 1.180 2006/07/19 13:45:55 gilles Exp gilles $ $Id: imapsync,v 1.181 2006/07/19 14:45:29 gilles Exp $
=cut =cut
@ -397,7 +397,7 @@ my(
use vars qw ($opt_G); # missing code for this will be option. use vars qw ($opt_G); # missing code for this will be option.
$rcs = ' $Id: imapsync,v 1.180 2006/07/19 13:45:55 gilles Exp gilles $ '; $rcs = ' $Id: imapsync,v 1.181 2006/07/19 14:45:29 gilles Exp $ ';
$rcs =~ m/,v (\d+\.\d+)/; $rcs =~ m/,v (\d+\.\d+)/;
$VERSION = ($1) ? $1 : "UNKNOWN"; $VERSION = ($1) ? $1 : "UNKNOWN";
@ -434,8 +434,8 @@ $error=0;
my $banner = join("", my $banner = join("",
'$RCSfile: imapsync,v $ ', '$RCSfile: imapsync,v $ ',
'$Revision: 1.180 $ ', '$Revision: 1.181 $ ',
'$Date: 2006/07/19 13:45:55 $ ', '$Date: 2006/07/19 14:45:29 $ ',
"\n", "\n",
"Mail::IMAPClient version used here is ", "Mail::IMAPClient version used here is ",
$VERSION_IMAPClient,"\n" $VERSION_IMAPClient,"\n"
@ -906,6 +906,9 @@ FOLDER: foreach my $f_fold (@f_folders) {
$t_fold = to_folder_name($f_fold); $t_fold = to_folder_name($f_fold);
print "To Folder [$t_fold]\n"; print "To Folder [$t_fold]\n";
last FOLDER if $from->IsUnconnected();
last FOLDER if $to->IsUnconnected();
unless ($from->select($f_fold)) { unless ($from->select($f_fold)) {
warn warn
"From Folder $f_fold : Could not select ", "From Folder $f_fold : Could not select ",
@ -952,6 +955,8 @@ FOLDER: foreach my $f_fold (@f_folders) {
next FOLDER if ($justfolders); next FOLDER if ($justfolders);
last FOLDER if $from->IsUnconnected();
last FOLDER if $to->IsUnconnected();
my @f_msgs = select_msgs($from); my @f_msgs = select_msgs($from);
@ -968,7 +973,9 @@ FOLDER: foreach my $f_fold (@f_folders) {
my %t_hash = (); my %t_hash = ();
print "++++ From [$f_fold] Parse 1 ++++\n"; print "++++ From [$f_fold] Parse 1 ++++\n";
last FOLDER if $from->IsUnconnected();
last FOLDER if $to->IsUnconnected();
my $f_heads = $from->parse_headers2([@f_msgs], my $f_heads = $from->parse_headers2([@f_msgs],
@useheader)if (@f_msgs) ; @useheader)if (@f_msgs) ;
$debug and print "Time headers: ", timenext(), " s\n"; $debug and print "Time headers: ", timenext(), " s\n";
@ -983,6 +990,9 @@ FOLDER: foreach my $f_fold (@f_folders) {
$debug and print "Time headers: ", timenext(), " s\n"; $debug and print "Time headers: ", timenext(), " s\n";
print "++++ To [$t_fold] Parse 1 ++++\n"; print "++++ To [$t_fold] Parse 1 ++++\n";
last FOLDER if $from->IsUnconnected();
last FOLDER if $to->IsUnconnected();
my $t_heads = $to->parse_headers2([@t_msgs], my $t_heads = $to->parse_headers2([@t_msgs],
@useheader) if (@t_msgs); @useheader) if (@t_msgs);
$debug and print "Time headers: ", timenext(), " s\n"; $debug and print "Time headers: ", timenext(), " s\n";
@ -1034,6 +1044,7 @@ FOLDER: foreach my $f_fold (@f_folders) {
print "+ NO msg #$f_msg [$m_id] in $t_fold\n"; print "+ NO msg #$f_msg [$m_id] in $t_fold\n";
# copy # copy
print "+ Copying msg #$f_msg:$f_size to folder $t_fold\n"; print "+ Copying msg #$f_msg:$f_size to folder $t_fold\n";
last FOLDER if $from->IsUnconnected();
my $string = $from->message_string($f_msg); my $string = $from->message_string($f_msg);
foreach my $regexmess (@regexmess) { foreach my $regexmess (@regexmess) {
$debug and print "eval \$string =~ $regexmess\n"; $debug and print "eval \$string =~ $regexmess\n";
@ -1056,6 +1067,7 @@ FOLDER: foreach my $f_fold (@f_folders) {
my $new_id; my $new_id;
print "flags from : [$flags_f][$d]\n"; print "flags from : [$flags_f][$d]\n";
last FOLDER if $to->IsUnconnected();
unless ($dry) { unless ($dry) {
unless($new_id = $to->append_string($t_fold,$string, $flags_f, $d)){ unless($new_id = $to->append_string($t_fold,$string, $flags_f, $d)){
warn "Couldn't append msg #$f_msg (Subject:[".$from->subject($f_msg)."]) to folder $t_fold: ", warn "Couldn't append msg #$f_msg (Subject:[".$from->subject($f_msg)."]) to folder $t_fold: ",
@ -1086,7 +1098,10 @@ FOLDER: foreach my $f_fold (@f_folders) {
my $t_msg = $t_hash{$m_id}{'m'}; my $t_msg = $t_hash{$m_id}{'m'};
$debug and print "Setting flags\n"; $debug and print "Setting flags\n";
last FOLDER if $from->IsUnconnected();
last FOLDER if $to->IsUnconnected();
my (@flags_f,@flags_t); my (@flags_f,@flags_t);
my $flags_f_rv = $from->flags($f_msg); my $flags_f_rv = $from->flags($f_msg);
@flags_f = @{$flags_f_rv} if ref($flags_f_rv); @flags_f = @{$flags_f_rv} if ref($flags_f_rv);