mirror of
https://github.com/imapsync/imapsync.git
synced 2025-07-23 02:35:54 +02:00
1.43
This commit is contained in:
parent
33536c36b4
commit
42be369d96
5 changed files with 55 additions and 16 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,15 +1,21 @@
|
||||||
|
|
||||||
RCS file: RCS/imapsync,v
|
RCS file: RCS/imapsync,v
|
||||||
Working file: imapsync
|
Working file: imapsync
|
||||||
head: 1.42
|
head: 1.43
|
||||||
branch:
|
branch:
|
||||||
locks: strict
|
locks: strict
|
||||||
access list:
|
access list:
|
||||||
symbolic names:
|
symbolic names:
|
||||||
keyword substitution: kv
|
keyword substitution: kv
|
||||||
total revisions: 42; selected revisions: 42
|
total revisions: 43; selected revisions: 43
|
||||||
description:
|
description:
|
||||||
----------------------------
|
----------------------------
|
||||||
|
revision 1.43
|
||||||
|
date: 2003/11/11 02:18:45; author: gilles; state: Exp; lines: +35 -8
|
||||||
|
Added --sep1 and --sep2 options in case NAMESPACE can not be
|
||||||
|
used
|
||||||
|
Wrote get_separator() function.
|
||||||
|
----------------------------
|
||||||
revision 1.42
|
revision 1.42
|
||||||
date: 2003/10/20 22:56:57; author: gilles; state: Exp; lines: +27 -16
|
date: 2003/10/20 22:56:57; author: gilles; state: Exp; lines: +27 -16
|
||||||
Added --syncinternaldates option
|
Added --syncinternaldates option
|
||||||
|
|
6
README
6
README
|
@ -1,7 +1,7 @@
|
||||||
NAME
|
NAME
|
||||||
imapsync - synchronize mailboxes between two imap servers.
|
imapsync - synchronize mailboxes between two imap servers.
|
||||||
|
|
||||||
$Revision: 1.42 $
|
$Revision: 1.43 $
|
||||||
|
|
||||||
INSTALL
|
INSTALL
|
||||||
Get imapsync at http://www.linux-france.org/prj/imapsync/dist/
|
Get imapsync at http://www.linux-france.org/prj/imapsync/dist/
|
||||||
|
@ -21,6 +21,8 @@ SYNOPSIS
|
||||||
[--user2 <string>] [--passfile2 <string>]
|
[--user2 <string>] [--passfile2 <string>]
|
||||||
[--folder <string> --folder <string> ...]
|
[--folder <string> --folder <string> ...]
|
||||||
[--prefix2 <string>]
|
[--prefix2 <string>]
|
||||||
|
[--sep1 <char>]
|
||||||
|
[--sep2 <char>]
|
||||||
[--syncinternaldate]
|
[--syncinternaldate]
|
||||||
[--delete] [--expunge]
|
[--delete] [--expunge]
|
||||||
[--dry]
|
[--dry]
|
||||||
|
@ -134,5 +136,5 @@ SIMILAR SOFTWARES
|
||||||
|
|
||||||
Feedback (good or bad) will be always welcome.
|
Feedback (good or bad) will be always welcome.
|
||||||
|
|
||||||
$Id: imapsync,v 1.42 2003/10/20 22:56:57 gilles Exp $
|
$Id: imapsync,v 1.43 2003/11/11 02:18:45 gilles Exp $
|
||||||
|
|
||||||
|
|
10
TODO
10
TODO
|
@ -9,11 +9,15 @@ Update the list of tested IMAP servers (successes and failures).
|
||||||
|
|
||||||
Add a CREDITS file.
|
Add a CREDITS file.
|
||||||
|
|
||||||
Pb with namespace INBOX.
|
Pb if "to separator" is in "from folder" name.
|
||||||
|
Have to choose a caracter != to separator and
|
||||||
|
not in from folders.
|
||||||
|
|
||||||
|
DONE. Pb with namespace INBOX.
|
||||||
http://www.inter7.com/courierimap/FAQ.html#namespace
|
http://www.inter7.com/courierimap/FAQ.html#namespace
|
||||||
http://www.rfc-editor.org/rfc/rfc2342.txt
|
http://www.rfc-editor.org/rfc/rfc2342.txt
|
||||||
|
|
||||||
Pb with date
|
DONE. Pb with date
|
||||||
|
|
||||||
Pb with \Recent flag
|
DONE. Pb with \Recent flag
|
||||||
|
|
||||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
1.42
|
1.43
|
||||||
|
|
43
imapsync
43
imapsync
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
imapsync - synchronize mailboxes between two imap servers.
|
imapsync - synchronize mailboxes between two imap servers.
|
||||||
|
|
||||||
$Revision: 1.42 $
|
$Revision: 1.43 $
|
||||||
|
|
||||||
=head1 INSTALL
|
=head1 INSTALL
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ $Revision: 1.42 $
|
||||||
[--user2 <string>] [--passfile2 <string>]
|
[--user2 <string>] [--passfile2 <string>]
|
||||||
[--folder <string> --folder <string> ...]
|
[--folder <string> --folder <string> ...]
|
||||||
[--prefix2 <string>]
|
[--prefix2 <string>]
|
||||||
|
[--sep1 <char>]
|
||||||
|
[--sep2 <char>]
|
||||||
[--syncinternaldate]
|
[--syncinternaldate]
|
||||||
[--delete] [--expunge]
|
[--delete] [--expunge]
|
||||||
[--dry]
|
[--dry]
|
||||||
|
@ -155,7 +157,7 @@ Rate imapsync : http://freshmeat.net/projects/imapsync/
|
||||||
|
|
||||||
Feedback (good or bad) will be always welcome.
|
Feedback (good or bad) will be always welcome.
|
||||||
|
|
||||||
$Id: imapsync,v 1.42 2003/10/20 22:56:57 gilles Exp $
|
$Id: imapsync,v 1.43 2003/11/11 02:18:45 gilles Exp $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
|
@ -170,7 +172,8 @@ my(
|
||||||
$rcs, $debug, $debugimap, $error,
|
$rcs, $debug, $debugimap, $error,
|
||||||
$host1, $host2, $port1, $port2,
|
$host1, $host2, $port1, $port2,
|
||||||
$user1, $user2, $password1, $password2, $passfile1, $passfile2,
|
$user1, $user2, $password1, $password2, $passfile1, $passfile2,
|
||||||
@folder, $prefix2,
|
@folder, $prefix2,
|
||||||
|
$sep1, $sep2,
|
||||||
$syncinternaldates,
|
$syncinternaldates,
|
||||||
$delete, $expunge, $dry,
|
$delete, $expunge, $dry,
|
||||||
$version, $VERSION, $help,
|
$version, $VERSION, $help,
|
||||||
|
@ -179,12 +182,12 @@ 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.42 2003/10/20 22:56:57 gilles Exp $ ';
|
$rcs = ' $Id: imapsync,v 1.43 2003/11/11 02:18:45 gilles Exp $ ';
|
||||||
$rcs =~ m/,v (\d+\.\d+)/;
|
$rcs =~ m/,v (\d+\.\d+)/;
|
||||||
$VERSION = ($1) ? $1 : "UNKNOWN";
|
$VERSION = ($1) ? $1 : "UNKNOWN";
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
my $banner = '$RCSfile: imapsync,v $ ' . '$Revision: 1.42 $ ' . '$Date: 2003/10/20 22:56:57 $ ' . "\n";
|
my $banner = '$RCSfile: imapsync,v $ ' . '$Revision: 1.43 $ ' . '$Date: 2003/11/11 02:18:45 $ ' . "\n";
|
||||||
|
|
||||||
|
|
||||||
get_options();
|
get_options();
|
||||||
|
@ -247,9 +250,29 @@ print "To capability : ", join(" ", $to->capability()), "\n";
|
||||||
my (@f_folders, @t_folders);
|
my (@f_folders, @t_folders);
|
||||||
@f_folders = (scalar(@folder)) ? @folder : @{$from->folders()};
|
@f_folders = (scalar(@folder)) ? @folder : @{$from->folders()};
|
||||||
|
|
||||||
|
my($f_sep,$t_sep);
|
||||||
# what are the private folders separators for each server ?
|
# what are the private folders separators for each server ?
|
||||||
my $f_sep = $from->namespace()->[0][0][1];
|
|
||||||
my $t_sep = $to->namespace()->[0][0][1];
|
$f_sep = get_separator($from, $sep1, "--sep1");
|
||||||
|
$t_sep = get_separator($from, $sep2, "--sep2");
|
||||||
|
|
||||||
|
sub get_separator {
|
||||||
|
my($imap, $sep_in, $sep_opt) = @_;
|
||||||
|
my($sep_out);
|
||||||
|
if ($imap->has_capability("namespace")) {
|
||||||
|
$sep_out = $imap->namespace()->[0][0][1];
|
||||||
|
}elsif ($sep_in) {
|
||||||
|
$sep_out = $sep_in;
|
||||||
|
}else{
|
||||||
|
print
|
||||||
|
"No NAMESPACE capability in imap server ",
|
||||||
|
$from->Server(),"\n",
|
||||||
|
"Give the separator caracter with the $sep_opt option\n";
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
return($sep_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
print "From separator : [$f_sep]\n";
|
print "From separator : [$f_sep]\n";
|
||||||
print "To separator : [$t_sep]\n";
|
print "To separator : [$t_sep]\n";
|
||||||
|
@ -440,6 +463,8 @@ sub get_options
|
||||||
"password2=s" => \$password2,
|
"password2=s" => \$password2,
|
||||||
"passfile1=s" => \$passfile1,
|
"passfile1=s" => \$passfile1,
|
||||||
"passfile2=s" => \$passfile2,
|
"passfile2=s" => \$passfile2,
|
||||||
|
"sep1=s" => \$sep1,
|
||||||
|
"sep2=s" => \$sep2,
|
||||||
"folder=s" => \@folder,
|
"folder=s" => \@folder,
|
||||||
"prefix2=s" => \$prefix2,
|
"prefix2=s" => \$prefix2,
|
||||||
"delete!" => \$delete,
|
"delete!" => \$delete,
|
||||||
|
@ -517,8 +542,10 @@ Several options are mandatory.
|
||||||
--folder <string> : sync only this folder and its children.
|
--folder <string> : sync only this folder and its children.
|
||||||
--folder <string> : and this one (and its children).
|
--folder <string> : and this one (and its children).
|
||||||
--folder <string> : and this one, etc.
|
--folder <string> : and this one, etc.
|
||||||
--prefix2 <string> : Add prefix to all destination folders
|
--prefix2 <string> : add prefix to all destination folders
|
||||||
(usually INBOX. for cyrus imap servers)
|
(usually INBOX. for cyrus imap servers)
|
||||||
|
--sep1 <char> : separator in case namespace is not supported.
|
||||||
|
--sep2 <char> : idem.
|
||||||
--delete : delete messages in "from" imap server after
|
--delete : delete messages in "from" imap server after
|
||||||
a successful transfert. useful in case you
|
a successful transfert. useful in case you
|
||||||
want to migrate from one server to another one.
|
want to migrate from one server to another one.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue