mirror of
https://github.com/imapsync/imapsync.git
synced 2024-11-17 00:02:29 +01:00
1.161
This commit is contained in:
parent
79f17648bd
commit
7371bedc83
1
CREDITS
1
CREDITS
@ -11,6 +11,7 @@ See FAQ.
|
|||||||
|
|
||||||
Vincent Deffontaines
|
Vincent Deffontaines
|
||||||
Made me talk about --exclude 'fold1|fold2|f3'
|
Made me talk about --exclude 'fold1|fold2|f3'
|
||||||
|
Gave a patch for multiple --exclude
|
||||||
|
|
||||||
Jim Rosenberg
|
Jim Rosenberg
|
||||||
Had problems with dbmail 2.0.7.
|
Had problems with dbmail 2.0.7.
|
||||||
|
16
ChangeLog
16
ChangeLog
@ -1,15 +1,27 @@
|
|||||||
|
|
||||||
RCS file: RCS/imapsync,v
|
RCS file: RCS/imapsync,v
|
||||||
Working file: imapsync
|
Working file: imapsync
|
||||||
head: 1.159
|
head: 1.161
|
||||||
branch:
|
branch:
|
||||||
locks: strict
|
locks: strict
|
||||||
access list:
|
access list:
|
||||||
symbolic names:
|
symbolic names:
|
||||||
keyword substitution: kv
|
keyword substitution: kv
|
||||||
total revisions: 159; selected revisions: 159
|
total revisions: 161; selected revisions: 161
|
||||||
description:
|
description:
|
||||||
----------------------------
|
----------------------------
|
||||||
|
revision 1.161
|
||||||
|
date: 2006/03/20 00:09:41; author: gilles; state: Exp; lines: +12 -42
|
||||||
|
Fixed default auth to CRAM-MD5
|
||||||
|
unless not told to.
|
||||||
|
----------------------------
|
||||||
|
revision 1.160
|
||||||
|
date: 2006/03/19 23:54:48; author: gilles; state: Exp; lines: +82 -23
|
||||||
|
Added SSL support.
|
||||||
|
Added options --ssl1 --ssl2
|
||||||
|
Added PLAIN auth support
|
||||||
|
Added options --authmech1 --authmech2
|
||||||
|
----------------------------
|
||||||
revision 1.159
|
revision 1.159
|
||||||
date: 2006/03/11 13:00:52; author: gilles; state: Exp; lines: +11 -8
|
date: 2006/03/11 13:00:52; author: gilles; state: Exp; lines: +11 -8
|
||||||
Added failure story dkimap
|
Added failure story dkimap
|
||||||
|
6
Makefile
6
Makefile
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
# $Id: Makefile,v 1.8 2006/02/28 03:55:01 gilles Exp gilles $
|
# $Id: Makefile,v 1.10 2006/03/20 00:35:47 gilles Exp gilles $
|
||||||
|
|
||||||
TARGET=imapsync
|
TARGET=imapsync
|
||||||
|
|
||||||
@ -19,11 +19,11 @@ all: ChangeLog README VERSION
|
|||||||
.PHONY: test testp testf
|
.PHONY: test testp testf
|
||||||
|
|
||||||
.test: $(TARGET) tests.sh
|
.test: $(TARGET) tests.sh
|
||||||
sh tests.sh 1>/dev/null
|
nice -40 sh tests.sh 1>/dev/null
|
||||||
touch .test
|
touch .test
|
||||||
|
|
||||||
testv:
|
testv:
|
||||||
sh -x tests.sh
|
nice -40 sh -x tests.sh
|
||||||
|
|
||||||
test: .test
|
test: .test
|
||||||
|
|
||||||
|
6
README
6
README
@ -2,7 +2,7 @@ NAME
|
|||||||
imapsync - IMAP synchronization, copy or migration tool. Synchronize
|
imapsync - IMAP synchronization, copy or migration tool. Synchronize
|
||||||
mailboxes between two imap servers. Good at IMAP migration.
|
mailboxes between two imap servers. Good at IMAP migration.
|
||||||
|
|
||||||
$Revision: 1.159 $
|
$Revision: 1.161 $
|
||||||
|
|
||||||
INSTALL
|
INSTALL
|
||||||
imapsync works fine under any Unix OS.
|
imapsync works fine under any Unix OS.
|
||||||
@ -32,6 +32,8 @@ SYNOPSIS
|
|||||||
[--user1 <string>] [--passfile1 <string>]
|
[--user1 <string>] [--passfile1 <string>]
|
||||||
[--host2 server2] [--port2 <num>]
|
[--host2 server2] [--port2 <num>]
|
||||||
[--user2 <string>] [--passfile2 <string>]
|
[--user2 <string>] [--passfile2 <string>]
|
||||||
|
[--ssl1] [--ssl2]
|
||||||
|
[--authmech1 <string>] [--authmech2 <string>]
|
||||||
[--noauthmd5]
|
[--noauthmd5]
|
||||||
[--folder <string> --folder <string> ...]
|
[--folder <string> --folder <string> ...]
|
||||||
[--include <regex>] [--exclude <regex>]
|
[--include <regex>] [--exclude <regex>]
|
||||||
@ -275,5 +277,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.159 2006/03/11 13:00:52 gilles Exp $
|
$Id: imapsync,v 1.161 2006/03/20 00:09:41 gilles Exp $
|
||||||
|
|
||||||
|
@ -1,20 +1,8 @@
|
|||||||
Project: imapsync
|
Project: imapsync
|
||||||
Version: 1.155
|
Version: 1.159
|
||||||
Release-Focus: Major feature enhancements
|
Release-Focus: Major bugfixes
|
||||||
Hide: N
|
Hide: Y
|
||||||
Home-Page-URL: http://www.linux-france.org/prj/imapsync/
|
Home-Page-URL: http://www.linux-france.org/prj/imapsync/
|
||||||
Gzipped-Tar-URL: http://www.linux-france.org/prj/imapsync/dist/
|
Gzipped-Tar-URL: http://www.linux-france.org/prj/imapsync/dist/
|
||||||
|
|
||||||
From imapsync version 1.121 to 1.153, the following options have been added:
|
Code cleanup.
|
||||||
--buffersize
|
|
||||||
--expunge1 --expunge2
|
|
||||||
--fastio1 --fastio2
|
|
||||||
--minage
|
|
||||||
--useheader
|
|
||||||
--prefix1
|
|
||||||
--foldersizes
|
|
||||||
|
|
||||||
The documentation has been updated.
|
|
||||||
Also, imapsync is now "IMAP4 Namespace" RFC 2342 compliant.
|
|
||||||
More than 20 different IMAP server softwares have
|
|
||||||
successfully migrate or been synchronised with imapsync.
|
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
Project: imapsync
|
|
||||||
Version: 1.158
|
|
||||||
Release-Focus: Code cleanup
|
|
||||||
Hide: Y
|
|
||||||
Home-Page-URL: http://www.linux-france.org/prj/imapsync/
|
|
||||||
Gzipped-Tar-URL: http://www.linux-france.org/prj/imapsync/dist/
|
|
||||||
|
|
||||||
Code cleanup.
|
|
133
imapsync
133
imapsync
@ -6,7 +6,7 @@ imapsync - IMAP synchronization, copy or migration
|
|||||||
tool. Synchronize mailboxes between two imap servers. Good
|
tool. Synchronize mailboxes between two imap servers. Good
|
||||||
at IMAP migration.
|
at IMAP migration.
|
||||||
|
|
||||||
$Revision: 1.159 $
|
$Revision: 1.161 $
|
||||||
|
|
||||||
=head1 INSTALL
|
=head1 INSTALL
|
||||||
|
|
||||||
@ -38,6 +38,8 @@ $Revision: 1.159 $
|
|||||||
[--user1 <string>] [--passfile1 <string>]
|
[--user1 <string>] [--passfile1 <string>]
|
||||||
[--host2 server2] [--port2 <num>]
|
[--host2 server2] [--port2 <num>]
|
||||||
[--user2 <string>] [--passfile2 <string>]
|
[--user2 <string>] [--passfile2 <string>]
|
||||||
|
[--ssl1] [--ssl2]
|
||||||
|
[--authmech1 <string>] [--authmech2 <string>]
|
||||||
[--noauthmd5]
|
[--noauthmd5]
|
||||||
[--folder <string> --folder <string> ...]
|
[--folder <string> --folder <string> ...]
|
||||||
[--include <regex>] [--exclude <regex>]
|
[--include <regex>] [--exclude <regex>]
|
||||||
@ -323,7 +325,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.159 2006/03/11 13:00:52 gilles Exp $
|
$Id: imapsync,v 1.161 2006/03/20 00:09:41 gilles Exp $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
@ -335,6 +337,9 @@ use Mail::IMAPClient;
|
|||||||
use Digest::MD5 qw(md5_base64);
|
use Digest::MD5 qw(md5_base64);
|
||||||
use Term::ReadKey;
|
use Term::ReadKey;
|
||||||
#use Digest::HMAC_MD5;
|
#use Digest::HMAC_MD5;
|
||||||
|
use IO::Socket::SSL;
|
||||||
|
use MIME::Base64;
|
||||||
|
|
||||||
|
|
||||||
eval { require 'usr/include/sysexits.ph' };
|
eval { require 'usr/include/sysexits.ph' };
|
||||||
|
|
||||||
@ -366,12 +371,15 @@ my(
|
|||||||
$timeout, # whr (ESS/PRW)
|
$timeout, # whr (ESS/PRW)
|
||||||
$timestart, $timeend, $timediff,
|
$timestart, $timeend, $timediff,
|
||||||
$timesize, $timebefore,
|
$timesize, $timebefore,
|
||||||
|
$ssl1, $ssl2,
|
||||||
|
$authusing1, $authusing2,
|
||||||
|
$authmech1, $authmech2,
|
||||||
);
|
);
|
||||||
|
|
||||||
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.159 2006/03/11 13:00:52 gilles Exp $ ';
|
$rcs = ' $Id: imapsync,v 1.161 2006/03/20 00:09:41 gilles Exp $ ';
|
||||||
$rcs =~ m/,v (\d+\.\d+)/;
|
$rcs =~ m/,v (\d+\.\d+)/;
|
||||||
$VERSION = ($1) ? $1 : "UNKNOWN";
|
$VERSION = ($1) ? $1 : "UNKNOWN";
|
||||||
|
|
||||||
@ -408,8 +416,8 @@ $error=0;
|
|||||||
|
|
||||||
my $banner = join("",
|
my $banner = join("",
|
||||||
'$RCSfile: imapsync,v $ ',
|
'$RCSfile: imapsync,v $ ',
|
||||||
'$Revision: 1.159 $ ',
|
'$Revision: 1.161 $ ',
|
||||||
'$Date: 2006/03/11 13:00:52 $ ',
|
'$Date: 2006/03/20 00:09:41 $ ',
|
||||||
"\n",
|
"\n",
|
||||||
"Mail::IMAPClient version used here is ",
|
"Mail::IMAPClient version used here is ",
|
||||||
$VERSION_IMAPClient,"\n"
|
$VERSION_IMAPClient,"\n"
|
||||||
@ -429,10 +437,12 @@ sub missing_option {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$host1 || missing_option("--host1") ;
|
$host1 || missing_option("--host1") ;
|
||||||
$port1 = (defined($port1)) ? $port1 : 143;
|
# $port1 = (defined($port1)) ? $port1 : 143;
|
||||||
|
$port1 ||= defined $ssl1 ? 993 : 143;
|
||||||
|
|
||||||
$host2 || missing_option("--host2") ;
|
$host2 || missing_option("--host2") ;
|
||||||
$port2 = (defined($port2)) ? $port2 : 143;
|
# $port2 = (defined($port2)) ? $port2 : 143;
|
||||||
|
$port2 ||= defined $ssl2 ? 993 : 143;
|
||||||
|
|
||||||
sub connect_imap {
|
sub connect_imap {
|
||||||
my($host, $port, $debugimap) = @_;
|
my($host, $port, $debugimap) = @_;
|
||||||
@ -458,12 +468,20 @@ if ($justconnect) {
|
|||||||
$to->logout();
|
$to->logout();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$user1 || missing_option("--user1");
|
$user1 || missing_option("--user1");
|
||||||
$user2 || missing_option("--user2");
|
$user2 || missing_option("--user2");
|
||||||
|
|
||||||
$authmd5 = (defined($authmd5)) ? $authmd5 : 1;
|
if(defined($authmd5) and not($authmd5)) {
|
||||||
|
$authmech1 ||= 'PLAIN';
|
||||||
|
$authmech2 ||= 'PLAIN';
|
||||||
|
}else{
|
||||||
|
$authmech1 ||= 'CRAM-MD5';
|
||||||
|
$authmech2 ||= 'CRAM-MD5';
|
||||||
|
}
|
||||||
|
|
||||||
|
print "will try to use $authmech1 authentication on host1\n";
|
||||||
|
print "will try to use $authmech2 authentication on host2\n";
|
||||||
|
|
||||||
$syncacls = (defined($syncacls)) ? $syncacls : 0;
|
$syncacls = (defined($syncacls)) ? $syncacls : 0;
|
||||||
$foldersizes = (defined($foldersizes)) ? $foldersizes : 1;
|
$foldersizes = (defined($foldersizes)) ? $foldersizes : 1;
|
||||||
@ -497,9 +515,6 @@ $password2 = (defined($passfile2)) ? firstline ($passfile2) : $password2;
|
|||||||
my $from = ();
|
my $from = ();
|
||||||
my $to = ();
|
my $to = ();
|
||||||
|
|
||||||
my $authmech = "CRAM-MD5";
|
|
||||||
|
|
||||||
|
|
||||||
$timestart = time();
|
$timestart = time();
|
||||||
$timebefore = $timestart;
|
$timebefore = $timestart;
|
||||||
|
|
||||||
@ -507,10 +522,12 @@ $fastio1 = 1;
|
|||||||
$fastio2 = 1;
|
$fastio2 = 1;
|
||||||
|
|
||||||
$debugimap and print "From connection\n";
|
$debugimap and print "From connection\n";
|
||||||
$from = login_imap($host1, $port1, $user1, $password1, $debugimap, $timeout, $fastio1);
|
$from = login_imap($host1, $port1, $user1, $password1,
|
||||||
|
$debugimap, $timeout, $fastio1, $ssl1, $authmech1);
|
||||||
|
|
||||||
$debugimap and print "To connection\n";
|
$debugimap and print "To connection\n";
|
||||||
$to = login_imap($host2, $port2, $user2, $password2, $debugimap, $timeout, $fastio2);
|
$to = login_imap($host2, $port2, $user2, $password2,
|
||||||
|
$debugimap, $timeout, $fastio2, $ssl2, $authmech2);
|
||||||
|
|
||||||
# No history
|
# No history
|
||||||
$from->Clear(2);
|
$from->Clear(2);
|
||||||
@ -523,8 +540,20 @@ $debug and print "To Buffer I/O : ", $to->Buffer(), "\n";
|
|||||||
|
|
||||||
sub login_imap {
|
sub login_imap {
|
||||||
my($host, $port, $user, $password,
|
my($host, $port, $user, $password,
|
||||||
$debugimap, $timeout, $fastio) = @_;
|
$debugimap, $timeout, $fastio, $ssl, $authmech) = @_;
|
||||||
my $imap = Mail::IMAPClient->new();
|
my ($imap);
|
||||||
|
if ($ssl) {
|
||||||
|
my $socssl = new IO::Socket::SSL("$host:$port");
|
||||||
|
die "Error connecting to $host:$port: $@\n" unless $socssl;
|
||||||
|
$socssl->autoflush(1);
|
||||||
|
|
||||||
|
$imap = Mail::IMAPClient->new(
|
||||||
|
Socket => $socssl,
|
||||||
|
Server => $host,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$imap = Mail::IMAPClient->new();
|
||||||
|
}
|
||||||
$imap->Server($host);
|
$imap->Server($host);
|
||||||
$imap->Port($port);
|
$imap->Port($port);
|
||||||
$imap->Fast_io($fastio);
|
$imap->Fast_io($fastio);
|
||||||
@ -532,51 +561,42 @@ sub login_imap {
|
|||||||
$imap->Uid(1);
|
$imap->Uid(1);
|
||||||
$imap->Peek(1);
|
$imap->Peek(1);
|
||||||
$imap->Debug($debugimap);
|
$imap->Debug($debugimap);
|
||||||
$imap->connect()
|
if ($ssl) {
|
||||||
|
$imap->State(Mail::IMAPClient::Connected);
|
||||||
|
} else {
|
||||||
|
$imap->connect()
|
||||||
or die "Can not open imap connection on [$host] with user [$user] : $@\n";
|
or die "Can not open imap connection on [$host] with user [$user] : $@\n";
|
||||||
if ($timeout) # whr (ESS/PRW)
|
}
|
||||||
{
|
$timeout and $imap->Timeout($timeout);
|
||||||
$imap->Timeout($timeout);
|
|
||||||
print "Setting imap timeout to $timeout\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if ($authmech eq "LOGIN") {
|
||||||
|
# Default mode for Mail::IMAPClient, so don't do anything.
|
||||||
|
} elsif ($imap->has_capability("AUTH=$authmech")
|
||||||
|
or $imap->has_capability($authmech)) {
|
||||||
|
$imap->Authmechanism($authmech);
|
||||||
|
$imap->Authcallback(\&plainauth) if $authmech eq "PLAIN";
|
||||||
|
} else {
|
||||||
|
printf("%s: no support for AUTHENTICATE %s, using LOGIN\n",
|
||||||
|
$imap->Server, $authmech);
|
||||||
|
}
|
||||||
$imap->User($user);
|
$imap->User($user);
|
||||||
$imap->Password($password);
|
$imap->Password($password);
|
||||||
md5auth($imap);
|
#md5auth($imap);
|
||||||
$imap->login() or die "Error login : [$host] with user [$user] : $@";
|
$imap->login() or die "Error login : [$host] with user [$user] : $@";
|
||||||
return($imap);
|
return($imap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub plainauth() {
|
||||||
|
my $code = shift;
|
||||||
|
my $imap = shift;
|
||||||
|
|
||||||
sub md5auth() {
|
my $string = sprintf("%s\x00%s\x00%s", $imap->User,
|
||||||
my ($imap) = @_;
|
$imap->User, $imap->Password);
|
||||||
|
return encode_base64("$string");
|
||||||
unless ($authmd5) {
|
|
||||||
print "$authmech not wanted by you\n";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if ($imap->has_capability($authmech)
|
|
||||||
or $imap->has_capability("AUTH=$authmech")) {
|
|
||||||
print "Server [", $imap->Server,
|
|
||||||
"] has capability $authmech\n";
|
|
||||||
}else{
|
|
||||||
print "Server [", $imap->Server,
|
|
||||||
"] has NOT capability $authmech\n";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#print "EE", $imap->Authmechanism(), "\n";
|
|
||||||
if ($imap->Authmechanism($authmech)) {
|
|
||||||
print "Using $authmech authentification\n";
|
|
||||||
}else{
|
|
||||||
$imap->Authmechanism(undef);
|
|
||||||
print "Can NOT use $authmech authentification, using plain\n";
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
print "From software : ", ($from->Report())[0];
|
print "From software : ", ($from->Report())[0];
|
||||||
print "To software : ", ($to->Report())[0];
|
print "To software : ", ($to->Report())[0];
|
||||||
|
|
||||||
@ -1174,6 +1194,10 @@ sub get_options
|
|||||||
"skipsize!" => \$skipsize,
|
"skipsize!" => \$skipsize,
|
||||||
"fastio1!" => \$fastio1,
|
"fastio1!" => \$fastio1,
|
||||||
"fastio2!" => \$fastio2,
|
"fastio2!" => \$fastio2,
|
||||||
|
"ssl1!" => \$ssl1,
|
||||||
|
"ssl2!" => \$ssl2,
|
||||||
|
"authmech1=s" => \$authmech1,
|
||||||
|
"authmech2=s" => \$authmech2,
|
||||||
);
|
);
|
||||||
|
|
||||||
$debug and print "get options: [$opt_ret]\n";
|
$debug and print "get options: [$opt_ret]\n";
|
||||||
@ -1258,17 +1282,22 @@ usage: $0 [options]
|
|||||||
Several options are mandatory.
|
Several options are mandatory.
|
||||||
|
|
||||||
--host1 <string> : "from" imap server. Mandatory.
|
--host1 <string> : "from" imap server. Mandatory.
|
||||||
--port1 <int> : port to connect. Default is 143.
|
--port1 <int> : port to connect on host1. Default is 143.
|
||||||
--user1 <string> : user to login. Mandatory.
|
--user1 <string> : user to login on host1. Mandatory.
|
||||||
--password1 <string> : password for the user1. Dangerous, use --passfile1
|
--password1 <string> : password for the user1. Dangerous, use --passfile1
|
||||||
--passfile1 <string> : password file for the user1. Contains the password.
|
--passfile1 <string> : password file for the user1. Contains the password.
|
||||||
--host2 <string> : "destination" imap server. Mandatory.
|
--host2 <string> : "destination" imap server. Mandatory.
|
||||||
--port2 <int> : port to connect. Default is 143.
|
--port2 <int> : port to connect on host2. Default is 143.
|
||||||
--user2 <string> : user to login. Mandatory.
|
--user2 <string> : user to login on host2. Mandatory.
|
||||||
--password2 <string> : password for the user2. Dangerous, use --passfile2
|
--password2 <string> : password for the user2. Dangerous, use --passfile2
|
||||||
--passfile2 <string> : password file for the user2. Contains the password.
|
--passfile2 <string> : password file for the user2. Contains the password.
|
||||||
--noauthmd5 : don't use MD5 authentification.
|
--noauthmd5 : don't use MD5 authentification.
|
||||||
--authmd5 : use MD5 authentification.
|
--authmd5 : use MD5 authentification.
|
||||||
|
--authmech1 <string> : auth mechanism to use with host1:
|
||||||
|
PLAIN, LOGIN, CRAM-MD5 etc.
|
||||||
|
--authmech2 <string> : auth mechanism to use with host2. See --authmech1
|
||||||
|
--ssl1 : use an SSL connection on host1.
|
||||||
|
--ssl2 : use an SSL connection on host2.
|
||||||
--folder <string> : sync only this folder.
|
--folder <string> : sync only this folder.
|
||||||
--folder <string> : and this one.
|
--folder <string> : and this one.
|
||||||
--folder <string> : and this one, etc.
|
--folder <string> : and this one, etc.
|
||||||
|
4
memo
4
memo
@ -37,14 +37,14 @@ niouzes_compil
|
|||||||
|
|
||||||
fm_announce() {
|
fm_announce() {
|
||||||
software_version
|
software_version
|
||||||
NEWS_FILE_FM="/home/gilles/public_html/imapsync/freshmeat_submition2"
|
NEWS_FILE_FM="/home/gilles/public_html/imapsync/freshmeat_submition"
|
||||||
if ! newer VERSION $NEWS_FILE_FM; then
|
if ! newer VERSION $NEWS_FILE_FM; then
|
||||||
echo "$VERSION already announced"
|
echo "$VERSION already announced"
|
||||||
else
|
else
|
||||||
cat > $NEWS_FILE_FM << EOF
|
cat > $NEWS_FILE_FM << EOF
|
||||||
Project: imapsync
|
Project: imapsync
|
||||||
Version: $VERSION
|
Version: $VERSION
|
||||||
Release-Focus: Major bugfixe
|
Release-Focus: Major bugfixes
|
||||||
Hide: Y
|
Hide: Y
|
||||||
Home-Page-URL: http://www.linux-france.org/prj/imapsync/
|
Home-Page-URL: http://www.linux-france.org/prj/imapsync/
|
||||||
Gzipped-Tar-URL: http://www.linux-france.org/prj/imapsync/dist/
|
Gzipped-Tar-URL: http://www.linux-france.org/prj/imapsync/dist/
|
||||||
|
31
zzz
31
zzz
@ -1,31 +0,0 @@
|
|||||||
$RCSfile: imapsync,v $ $Revision: 1.158 $ $Date: 2006/03/02 06:28:30 $
|
|
||||||
Mail::IMAPClient version used here is 2.2.9
|
|
||||||
From imap server [loul] port [143] user [tata]
|
|
||||||
To imap server [plume] port [143] user [tata]
|
|
||||||
Server [loul] has NOT capability CRAM-MD5
|
|
||||||
Server [plume] has NOT capability CRAM-MD5
|
|
||||||
From software : 2 CAPABILITY
|
|
||||||
To software : 2 CAPABILITY
|
|
||||||
From capability : QUOTA X-NETSCAPE NAMESPACE X-NON-HIERARCHICAL-RENAME ACL UNSELECT LITERAL+ NO_ATOMIC_RENAME UIDPLUS IMAP4 IMAP4REV1
|
|
||||||
To capability : ACL AUTH=LOGIN NAMESPACE IMAP4REV1 IMAP4
|
|
||||||
From separator and prefix : [.][INBOX.]
|
|
||||||
To separator and prefix : [/][]
|
|
||||||
++++ Calculating sizes ++++
|
|
||||||
From Folder [INBOX] Size: 5703203 Messages: 1432
|
|
||||||
Total size: 5703203
|
|
||||||
Total messages: 1432
|
|
||||||
Time : 0 s
|
|
||||||
++++ Calculating sizes ++++
|
|
||||||
To Folder [INBOX] Size: 17108791 Messages: 4294
|
|
||||||
Total size: 17108791
|
|
||||||
Total messages: 4294
|
|
||||||
Time : 0 s
|
|
||||||
From folders : [INBOX]
|
|
||||||
To folders : [INBOX]
|
|
||||||
From subscribed folders : [INBOX.yop.yap]
|
|
||||||
From Folder [INBOX]
|
|
||||||
To Folder [INBOX]
|
|
||||||
++++ From [INBOX] Parse 1 ++++
|
|
||||||
++++ To [INBOX] Parse 1 ++++
|
|
||||||
++++ Verifying [INBOX] -> [INBOX] ++++
|
|
||||||
Time : 11 s
|
|
Loading…
Reference in New Issue
Block a user