mirror of
https://github.com/imapsync/imapsync.git
synced 2024-11-16 15:52:47 +01:00
1.977
This commit is contained in:
parent
93b917b12b
commit
1d08afaba6
4
CREDITS
4
CREDITS
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: CREDITS,v 1.192 2018/10/04 10:20:47 gilles Exp gilles $
|
||||
# $Id: CREDITS,v 1.193 2019/07/31 23:05:10 gilles Exp gilles $
|
||||
|
||||
If you want to make a donation to me, imapsync author, Gilles LAMIRAL,
|
||||
use any of the following ways:
|
||||
@ -9,7 +9,7 @@ b) If you can read french, please use the following wishlist :
|
||||
(books will be send with free postal cost)
|
||||
|
||||
c) my paypal account is gilles@lamiral.info
|
||||
http://imapsync.lamiral.info/S/paypal.shtml
|
||||
http://imapsync.lamiral.info/S/donate.shtml
|
||||
|
||||
My postal address is:
|
||||
Gilles LAMIRAL
|
||||
|
169
ChangeLog
169
ChangeLog
@ -1,17 +1,178 @@
|
||||
|
||||
RCS file: RCS/imapsync,v
|
||||
Working file: imapsync
|
||||
head: 1.945
|
||||
head: 1.977
|
||||
branch:
|
||||
locks: strict
|
||||
gilles: 1.945
|
||||
gilles: 1.977
|
||||
access list:
|
||||
symbolic names:
|
||||
keyword substitution: kv
|
||||
total revisions: 945; selected revisions: 945
|
||||
total revisions: 977; selected revisions: 977
|
||||
description:
|
||||
----------------------------
|
||||
revision 1.945 locked by: gilles;
|
||||
revision 1.977 locked by: gilles;
|
||||
date: 2019/12/23 20:18:02; author: gilles; state: Exp; lines: +10 -10
|
||||
No tests_resolv( ) since resolv is not really used and tests_resolv( ) fails on mac (I do not have write to /etc/hosts)
|
||||
----------------------------
|
||||
revision 1.976
|
||||
date: 2019/12/19 15:37:33; author: gilles; state: Exp; lines: +16 -12
|
||||
Moved tests tests_probe_imapssl tests_mailimapclient_connect tests_resolv at the end.
|
||||
----------------------------
|
||||
revision 1.975
|
||||
date: 2019/12/19 10:44:23; author: gilles; state: Exp; lines: +21 -13
|
||||
Commented the tests_kill* tests
|
||||
Added a resolv petiteipv6.lamiral.info before check it (frequent failure)
|
||||
----------------------------
|
||||
revision 1.974
|
||||
date: 2019/12/16 13:01:18; author: gilles; state: Exp; lines: +18 -9
|
||||
Enhancement, internal. Use Debug_fh to set where go the --debugimap outputs.
|
||||
----------------------------
|
||||
revision 1.973
|
||||
date: 2019/12/15 00:27:10; author: gilles; state: Exp; lines: +8 -8
|
||||
Bugfix. Upgraded ks2 Dovecot and now logout in ssl does not cause failure
|
||||
----------------------------
|
||||
revision 1.972
|
||||
date: 2019/12/14 23:45:12; author: gilles; state: Exp; lines: +9 -9
|
||||
Added -utf8 when requiring CGI. Hope it will allow utf8 characters in passwords.
|
||||
----------------------------
|
||||
revision 1.971
|
||||
date: 2019/12/14 23:41:41; author: gilles; state: Exp; lines: +8 -8
|
||||
Bugfix. CGI context. charset was charset=ISO-8859-1 in header (CGI.pm default). Now "text/plain; charset=UTF-8"
|
||||
----------------------------
|
||||
revision 1.970
|
||||
date: 2019/12/09 23:09:05; author: gilles; state: Exp; lines: +297 -259
|
||||
Reread README part.
|
||||
Change tests. ks2ipv6.lamiral.info replaced by petiteipv6.lamiral.info
|
||||
1510 unit tests
|
||||
----------------------------
|
||||
revision 1.969
|
||||
date: 2019/11/29 13:00:32; author: gilles; state: Exp; lines: +9 -9
|
||||
1509 unit tests
|
||||
----------------------------
|
||||
revision 1.968
|
||||
date: 2019/11/29 12:42:13; author: gilles; state: Exp; lines: +29 -19
|
||||
Bugfix. binmode UTF-8 for log and output.
|
||||
----------------------------
|
||||
revision 1.967
|
||||
date: 2019/11/27 20:41:34; author: gilles; state: Exp; lines: +9 -9
|
||||
Bugfix. Bad tests count under docker
|
||||
----------------------------
|
||||
revision 1.966
|
||||
date: 2019/11/27 20:23:08; author: gilles; state: Exp; lines: +10 -9
|
||||
Commented test probe_imapssl: ks2ipv6.lamiral.info
|
||||
----------------------------
|
||||
revision 1.965
|
||||
date: 2019/11/27 20:16:32; author: gilles; state: Exp; lines: +13 -11
|
||||
Removed some tests that take time and sometimes fail (ipv6 related)
|
||||
----------------------------
|
||||
revision 1.964
|
||||
date: 2019/11/27 15:50:39; author: gilles; state: Exp; lines: +52 -27
|
||||
CGI context. Adaptation to a local http server webserver. pidfile and cgidir.
|
||||
Added Encode Encode::IMAPUTF7 and MIME::Base64 modules versions.
|
||||
Removed doublon "use MIME::Base64".
|
||||
Bugfix. Make --tests pass on docker context and under root.
|
||||
----------------------------
|
||||
revision 1.963
|
||||
date: 2019/11/25 12:38:44; author: gilles; state: Exp; lines: +52 -18
|
||||
Skip tests under Win Win64 and Mac that fail. ipv6 related or fork ones.
|
||||
----------------------------
|
||||
revision 1.962
|
||||
date: 2019/11/22 09:51:29; author: gilles; state: Exp; lines: +19 -9
|
||||
Added dependencies:
|
||||
* MIME::Base64
|
||||
* Encode
|
||||
Added test for Encode::find_encoding that fails with the binaries not cmpiled with perl -x
|
||||
----------------------------
|
||||
revision 1.961
|
||||
date: 2019/11/19 19:45:02; author: gilles; state: Exp; lines: +117 -47
|
||||
Added module dependency to Encode::IMAPUTF7
|
||||
Bugfix. Folders names with + characters must stay as they are.
|
||||
Bugfix. When using --subfolder2 SUB --delete2folders, do not delete the folder SUB.
|
||||
----------------------------
|
||||
revision 1.960
|
||||
date: 2019/10/31 23:08:18; author: gilles; state: Exp; lines: +54 -7
|
||||
Added test to remove header bad.
|
||||
----------------------------
|
||||
revision 1.959
|
||||
date: 2019/10/07 21:21:45; author: gilles; state: Exp; lines: +318 -92
|
||||
Added tests:
|
||||
tests_kill_zero()
|
||||
tests_killpid_by_parent()
|
||||
tests_killpid_by_brother()
|
||||
tests_abort()
|
||||
|
||||
cgidir is . when used by Net::Server::HTTP
|
||||
|
||||
Bugfix. Added SSL_cipher_list => 'DEFAULT:!DH' to tests with ssl
|
||||
Bugfix. PIDs can be negative under Windows.
|
||||
Bugfix. --resynclabels was not on with --gmail1 --gmail2
|
||||
1502 unit tests under Unix
|
||||
----------------------------
|
||||
revision 1.958
|
||||
date: 2019/09/11 21:16:40; author: gilles; state: Exp; lines: +40 -37
|
||||
cgi context is now set on with env variables SERVER_SOFTWARE and SERVER_PORT
|
||||
it is because Net::Server::HTTP does not set SERVER_SOFTWARE but SERVER_PORT
|
||||
It is a preparation to a homemade web server to serve on imapsync as a cgi and
|
||||
get free from Apache or a complicated web server stuff configuration.
|
||||
----------------------------
|
||||
revision 1.957
|
||||
date: 2019/08/29 17:40:13; author: gilles; state: Exp; lines: +34 -25
|
||||
Bugfix. Do not compute a folder size if the folder does not exist. Happened with --skipemptyfolders
|
||||
----------------------------
|
||||
revision 1.956
|
||||
date: 2019/08/02 20:18:52; author: gilles; state: Exp; lines: +118 -55
|
||||
Bugfix. Reviewed all exit_clean to include a final CR on the error message.
|
||||
Bugfix. New foldersize tried to select non existent folder that caused a premature exit
|
||||
when host2 account is mostly empty.
|
||||
Bugfix. --justconnect did not show the line "IP address:"
|
||||
----------------------------
|
||||
revision 1.955
|
||||
date: 2019/07/31 20:30:27; author: gilles; state: Exp; lines: +69 -36
|
||||
Bugfix in docker context. killing myself in docker context doesn't seem to work well, as well as sending signals several times.
|
||||
So just install catch_exit with INT (ctr-c on terminals) and exits if still alive after killing myself.
|
||||
----------------------------
|
||||
revision 1.954
|
||||
date: 2019/07/29 18:04:07; author: gilles; state: Exp; lines: +19 -14
|
||||
Bufix. In docker context, print "context detected" only with --debug. imapsync --version printed the release on the third line instead of the first.
|
||||
----------------------------
|
||||
revision 1.953
|
||||
date: 2019/07/29 05:12:18; author: gilles; state: Exp; lines: +9 -9
|
||||
Bugfix. tests_imapsync_context under Docker bugfix.
|
||||
----------------------------
|
||||
revision 1.952
|
||||
date: 2019/07/29 04:52:52; author: gilles; state: Exp; lines: +8 -8
|
||||
1477 regression tests
|
||||
----------------------------
|
||||
revision 1.951
|
||||
date: 2019/07/29 04:40:48; author: gilles; state: Exp; lines: +66 -9
|
||||
Added context in --releasecheck user_agent. CGI or Docker or Standard.
|
||||
----------------------------
|
||||
revision 1.950
|
||||
date: 2019/07/28 02:24:17; author: gilles; state: Exp; lines: +604 -189
|
||||
Folders sizes are now presented per folder from host1 and host2 as well as the differrences between them.
|
||||
----------------------------
|
||||
revision 1.949
|
||||
date: 2019/07/18 03:44:00; author: gilles; state: Exp; lines: +59 -32
|
||||
Refactor. timenext() deglobalized.
|
||||
Added tests_timenext().
|
||||
----------------------------
|
||||
revision 1.948
|
||||
date: 2019/07/17 16:51:50; author: gilles; state: Exp; lines: +153 -128
|
||||
Refactor. Moved main instructions into sub single_sync(). Goal is to prepare multiple different syncs.
|
||||
----------------------------
|
||||
revision 1.947
|
||||
date: 2019/07/15 01:10:05; author: gilles; state: Exp; lines: +119 -45
|
||||
Bugfix. Count all fatal errors.
|
||||
----------------------------
|
||||
revision 1.946
|
||||
date: 2019/07/09 18:01:42; author: gilles; state: Exp; lines: +136 -48
|
||||
Usability. Added the number of errors and the max number of errors allowed at the final line "Exiting with return value xx"
|
||||
Deglobalized $foldersizes to $sync->{ foldersizes }
|
||||
Usability. Added ETA at the beginning of a folder process.
|
||||
1467 regression tests
|
||||
----------------------------
|
||||
revision 1.945
|
||||
date: 2019/06/26 19:30:56; author: gilles; state: Exp; lines: +151 -94
|
||||
Proofread the documentation part, what will go to README.
|
||||
The pod at the beginning.
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Admin_Authentication.txt,v 1.9 2019/06/26 22:16:43 gilles Exp gilles $
|
||||
$Id: FAQ.Admin_Authentication.txt,v 1.10 2019/10/31 23:13:50 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -13,8 +13,9 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Admin_Authentication.txt
|
||||
It can be useful to authenticate without knowing each user password.
|
||||
|
||||
Using an admin account to authenticate is not a standard feature
|
||||
supported by all imap servers. Sometimes it is implemented via --authuser1
|
||||
sometimes not. It depends on the imap software server and its configuration.
|
||||
supported by all imap servers. Sometimes it is implemented via the
|
||||
--authuser1 option, sometimes not. It depends on the imap software
|
||||
server and its configuration.
|
||||
|
||||
You have to follow this road:
|
||||
* Determine what is the imap software server
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Archiving.txt,v 1.14 2019/03/22 11:50:36 gilles Exp gilles $
|
||||
$Id: FAQ.Archiving.txt,v 1.18 2019/10/23 17:56:28 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -11,49 +11,82 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Archiving.txt
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. Can I archive different accounts on the same destination account,
|
||||
Q. How can I archive different accounts on the same destination account,
|
||||
each account on a separate folder?
|
||||
|
||||
Q. How can I restore a complete account archived in a subfolder, like
|
||||
with the option --subfolder2?
|
||||
|
||||
Q. How to move emails from one IMAP folder to another either on the
|
||||
same IMAP server or a different one?
|
||||
For example, all messages older than 1 year, move from INBOX to Archive.
|
||||
same IMAP server or a different one?
|
||||
For example, all messages older than 1 year, move from INBOX to Archive.
|
||||
|
||||
Q. Can imapsync be used to maintain a local offline copy of a
|
||||
mailbox from host1, eg for backup purposes, so that if the
|
||||
server fails, then the mailbox could be reinstated,
|
||||
ideally without requiring a second IMAP host?
|
||||
Q. Can imapsync be used to maintain and restore a local offline copy
|
||||
of a mailbox, eg for backup purposes, using Mbox or Maildir
|
||||
format, so that if the server fails, then the mailbox could be
|
||||
reinstated?
|
||||
|
||||
Q. How to archive a whole year in a subfolder?
|
||||
|
||||
Q. How to archive a whole year in subfolders but without subsubfolders?
|
||||
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Archiving.txt
|
||||
=======================================================================
|
||||
Q. Can I archive different accounts on the same destination account,
|
||||
Q. How can I archive different accounts on the same destination account,
|
||||
each account on a separate folder?
|
||||
|
||||
R. Yes. Use --subfolder2
|
||||
R. Use --subfolder2
|
||||
|
||||
--subfolder2 str : Syncs the whole host1 folders hierarchy under the
|
||||
host2 given folder str.
|
||||
(It does it internally by adding two --regextrans2
|
||||
options before all others.)
|
||||
|
||||
Example:
|
||||
Examples:
|
||||
|
||||
imapsync ... --user1 Foo --subfolder2 FooArch
|
||||
imapsync ... --user1 Foo --subfolder2 FooArchiv
|
||||
|
||||
imapsync ... --user1 Bar --subfolder2 BarArch
|
||||
imapsync ... --user1 Bar --subfolder2 BarArchiv
|
||||
|
||||
In case you need a strict sync, add --delete2 --delete2foldersonly "FooArch"
|
||||
(or "BarArch" for the second example); it will delete on account2
|
||||
what is not on account1 but only in the right place, ie, the subfolder "foo".
|
||||
Example:
|
||||
In case you need a very strict sync, add options
|
||||
--delete2 --delete2foldersonly "FooArchiv"
|
||||
(or "BarArchiv" for the second example).
|
||||
It will delete on account2 what is not on account1 but only in the right place,
|
||||
ie, the subfolder "FooArchiv".
|
||||
|
||||
Examples:
|
||||
|
||||
imapsync ... --user1 Foo --subfolder2 FooArchiv --delete2 --delete2foldersonly "FooArchiv"
|
||||
|
||||
imapsync ... --user1 Bar --subfolder2 BarArchiv --delete2 --delete2foldersonly "BarArchiv"
|
||||
|
||||
=======================================================================
|
||||
Q. How can I restore a complete account archived in a subfolder, like
|
||||
with the option --subfolder2?
|
||||
|
||||
R. Use --subfolder1
|
||||
|
||||
--subfolder1 str : Syncs the host1 folders hierarchy under folder str
|
||||
to the root hierarchy of host2.
|
||||
It's the couterpart of a sync done by --subfolder2
|
||||
when doing it in the reverse order.
|
||||
Backup/Restore scenario:
|
||||
Use --subfolder2 str for a backup to the folder str
|
||||
on host2. Then use --subfolder1 str for restoring
|
||||
from the folder str, after inverting
|
||||
host1/host2 user1/user2 values.
|
||||
|
||||
Examples:
|
||||
|
||||
imapsync ... --user2 Foo --subfolder1 FooArchiv
|
||||
|
||||
imapsync ... --user2 Bar --subfolder1 BarArchiv
|
||||
|
||||
imapsync ... --user1 Foo --subfolder2 FooArch --delete2 --delete2foldersonly "FooArch"
|
||||
|
||||
=======================================================================
|
||||
Q. How to move emails from one IMAP folder to another either on the
|
||||
same IMAP server or a different one?
|
||||
For example, move all messages older than 1 year from INBOX to Archive.
|
||||
same IMAP server or a different one?
|
||||
For example, all messages older than 1 year, move from INBOX to Archive.
|
||||
|
||||
R1. Solution:
|
||||
|
||||
@ -67,12 +100,12 @@ R2. See also file FAQ.Folders_Mapping.txt
|
||||
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Archiving.txt
|
||||
=======================================================================
|
||||
Q. Can imapsync be used to maintain a local offline copy of a
|
||||
mailbox from host1, eg for backup purposes, so that if the
|
||||
server fails, then the mailbox could be reinstated,
|
||||
ideally without requiring a second IMAP host?
|
||||
Q. Can imapsync be used to maintain and restore a local offline copy
|
||||
of a mailbox, eg for backup purposes, using Mbox or Maildir
|
||||
format, so that if the server fails, then the mailbox could be
|
||||
reinstated?
|
||||
|
||||
R1. No. Imapsync plays with imap servers only.
|
||||
R1. No. Imapsync plays with IMAP servers only.
|
||||
|
||||
R2. Imapsync can't but rick-sanders-imap-tools can!
|
||||
See https://github.com/andrewnimmo/rick-sanders-imap-tools
|
||||
@ -88,6 +121,23 @@ R2. Imapsync can't but rick-sanders-imap-tools can!
|
||||
is more dangerous than doing no backups at all. No backups makes
|
||||
people act in a safer way, well, usually...
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
||||
R3. Use ImportExportTools for Mozilla Thunderbird by Paolo Kaosmos.
|
||||
ImportExportTools does not do IMAP as a destination.
|
||||
|
||||
=======================================================================
|
||||
Q. How to archive a whole year in a subfolder?
|
||||
|
||||
R.
|
||||
|
||||
imapsync ... --search "SENTSINCE 1-Jan-2018 SENTBEFORE 31-Dec-2018" \
|
||||
--folder2 ARCHIVE_2018 --justfolders --dry
|
||||
|
||||
=======================================================================
|
||||
Q. How to archive a whole year in subfolders but without subsubfolders?
|
||||
|
||||
|
||||
imapsync ... --search "SENTSINCE 1-Jan-2018 SENTBEFORE 31-Dec-2018" \
|
||||
--sep2 _ --regextrans2 's{(.*)}{Archive_$1_2018}' --justfolders --dry
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Big_Mailbox.txt,v 1.2 2018/07/25 10:37:30 gilles Exp gilles $
|
||||
$Id: FAQ.Big_Mailbox.txt,v 1.4 2019/07/31 10:37:15 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -10,24 +10,36 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Big_Mailbox.txt
|
||||
Imapsync tips to deal with huge mailboxes
|
||||
=====================================================================
|
||||
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. How to deal with huge mailboxes, whose size is over dozens of GB?
|
||||
|
||||
|
||||
|
||||
Now the questions again with their answers.
|
||||
|
||||
=====================================================================
|
||||
Q. How to deal with huge mailboxes, whose size is over dozens of GB?
|
||||
|
||||
R. It should be ok with imapsync. In case imapsync seems to stall
|
||||
when sizing the folders or before syncing a huge folder and
|
||||
you wander if it is doing something or just frozen, you can
|
||||
add option --debugimap. Option --debugimap will show what is
|
||||
currently done, it's quite a big output but it helps waiting,
|
||||
saying to ourself
|
||||
"ok it's long but it's working, let's wait a little more".
|
||||
The real purpose of --debugimap is to show genuine IMAP
|
||||
commands used and their responses.
|
||||
R1. It should be ok with imapsync.
|
||||
|
||||
In case imapsync seems to stall when sizing the folders or before
|
||||
syncing a huge folder and you wander wether it is doing something or
|
||||
just frozen, you can add option --debugimap. Option --debugimap shows
|
||||
what is currently done, it's quite a big output but it helps waiting,
|
||||
saying to ourselves "ok it's long but it's working, let's wait a
|
||||
little more". The real purpose of --debugimap is to show genuine IMAP
|
||||
commands used and their responses. The problem with --debugimap is
|
||||
that it is very verbose and so with a big mailbox it generates a very
|
||||
BIG logfile.
|
||||
|
||||
R2. If it is not ok with imapsync then consider spliting the whole
|
||||
sync into smaller chunks using --search
|
||||
|
||||
For example, select messages only for a given year:
|
||||
|
||||
...
|
||||
..imapsync ... --search "SENTSINCE 1-Jan-2017 SENTBEFORE 31-Dec-2017"
|
||||
imapsync ... --search "SENTSINCE 1-Jan-2018 SENTBEFORE 31-Dec-2018"
|
||||
imapsync ... --search "SENTSINCE 1-Jan-2019 SENTBEFORE 31-Dec-2019"
|
||||
|
||||
=====================================================================
|
||||
=====================================================================
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Dates.txt,v 1.10 2019/05/27 14:26:39 gilles Exp gilles $
|
||||
$Id: FAQ.Dates.txt,v 1.11 2019/12/23 12:46:50 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -26,6 +26,10 @@ Q. We have found that the time and date displayed have been changed to
|
||||
R. This is the case by default with some email readers like:
|
||||
- Outlook 2003
|
||||
- Ipad
|
||||
- Iphone
|
||||
- spark https://sparkmailapp.com/ (iphone app)
|
||||
- Edison mail https://apps.apple.com/us/app/email-edison-mail/id922793622 (iphone app)
|
||||
- ...
|
||||
|
||||
but not with:
|
||||
|
||||
@ -37,9 +41,9 @@ but not with:
|
||||
First, a thing to keep in mind.
|
||||
|
||||
Imapsync does not touch any byte of messages unless told to do so by
|
||||
special options like --regexmess or --pipemess. Messages on both
|
||||
parts should be exactly identical because imapsync does a verbatim
|
||||
sync of all messages, by default.
|
||||
special and rarely used options like --regexmess or --pipemess.
|
||||
Messages on both parts should be exactly identical because imapsync
|
||||
does a verbatim sync of all messages, by default.
|
||||
|
||||
Now I explain the whole picture about dates of messages.
|
||||
|
||||
|
65
FAQ.d/FAQ.Docker.txt
Normal file
65
FAQ.d/FAQ.Docker.txt
Normal file
@ -0,0 +1,65 @@
|
||||
#!/bin/cat
|
||||
# $Id: FAQ.Docker.txt,v 1.6 2019/12/11 15:39:14 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Docker.txt
|
||||
|
||||
=======================================================================
|
||||
Installing and using imapsync docker image
|
||||
=======================================================================
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. How can I install and use the imapsync Docker image on my system?
|
||||
|
||||
Q. How can I install or update only the imapsync Docker image on my system?
|
||||
|
||||
Q. Where is the imapsync Docker hub location?
|
||||
|
||||
Q. Any tips for the Docker Mailcow distribution?
|
||||
|
||||
|
||||
Now the questions again with their answers.
|
||||
|
||||
=======================================================================
|
||||
Q. How can I install and use the imapsync Docker image on my system?
|
||||
|
||||
R. Install Docker on your system. Once Docker is installed on your system,
|
||||
all you have to do in order to run imapsync is the command line:
|
||||
|
||||
docker run gilleslamiral/imapsync imapsync <usual imapsync arguments>
|
||||
|
||||
=======================================================================
|
||||
Q. How can I install or update only the imapsync Docker image on my system?
|
||||
|
||||
R. To install or update the imapsync image, run:
|
||||
|
||||
docker pull gilleslamiral/imapsync
|
||||
|
||||
=======================================================================
|
||||
Q. Where is the imapsync Docker hub location?
|
||||
|
||||
R. Here:
|
||||
|
||||
https://hub.docker.com/r/gilleslamiral/imapsync/
|
||||
|
||||
=======================================================================
|
||||
Q. Any tips for the Docker Mailcow distribution?
|
||||
|
||||
R. With the Mailcow distribution, imapsync is running inside a Docker
|
||||
container. Quoting Mathilde:
|
||||
|
||||
To make it work with Mailcow, options should be added like this:
|
||||
|
||||
--regexflag=s/\\Indexed//gi
|
||||
|
||||
Without spaces, without quotes.
|
||||
|
||||
See the original Mathilde's comment:
|
||||
|
||||
https://github.com/imapsync/imapsync/issues/201#issuecomment-559500077
|
||||
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: FAQ.Domino.txt,v 1.10 2018/05/24 11:34:30 gilles Exp gilles $
|
||||
# $Id: FAQ.Domino.txt,v 1.12 2019/10/31 23:13:31 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -10,9 +10,23 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Domino.txt
|
||||
Imapsync tips for Domino.
|
||||
=======================================================================
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. How to use imapsync from Domino Notes to XXX?
|
||||
|
||||
Q. How to use imapsync from XXX to Domino Notes?
|
||||
|
||||
Q. Whan I use --maxage imapsync sees no messages at all.
|
||||
What can I do?
|
||||
|
||||
Q. My usual email software client like Thunderbird sees more messages
|
||||
than imapsync. How can it be possible?
|
||||
|
||||
Now the questions again with their answers:
|
||||
|
||||
|
||||
=======================================================================
|
||||
Q. From Domino Notes to XXX
|
||||
Q. How to use imapsync from Domino Notes to XXX?
|
||||
|
||||
R1. Use --domino1, like this:
|
||||
|
||||
@ -30,7 +44,7 @@ On Unix use:
|
||||
imapsync ... --sep1 '\' --prefix1 '' --messageidnodomain
|
||||
|
||||
=======================================================================
|
||||
Q. From XXX to Domino Notes
|
||||
Q. How to use imapsync from XXX to Domino Notes
|
||||
|
||||
R1. Use --domino2, like this:
|
||||
|
||||
@ -89,6 +103,28 @@ For Domino 853FP6 on Linux, we used this command on Unix:
|
||||
--prefix2 "" --sep2 "\/" --messageidnodomain \
|
||||
--regexmess 's{\A(.*?(?! ^$))^Date:(.*?)$}{$1Migratedbyus:$2\nx-MailDate:$2}gxms'
|
||||
|
||||
=======================================================================
|
||||
Q. Whan I use --maxage imapsync sees no messages at all.
|
||||
What can I do?
|
||||
|
||||
R. Use --noabletosearch
|
||||
|
||||
imapsync ... --noabletosearch
|
||||
|
||||
Same thing with --minage
|
||||
|
||||
=======================================================================
|
||||
Q. My usual email software client like Thunderbird sees more messages
|
||||
than imapsync. How can it be possible?
|
||||
|
||||
R. (Issue given and solved by Falko Veith)
|
||||
"As you might know, it is possible to replicate databases, aka mailboxes,
|
||||
across domino servers. THAT is the explanation. Thunderbird and some Notes
|
||||
clients may be connected to one server and imapsync to another.
|
||||
As funny and simply the solution is, as mysterious is why those two
|
||||
databases are not completely in sync - new emails are replicated but not
|
||||
the old ones. One mystery solved - and a new one to go.
|
||||
|
||||
Thanks to Falko Veith for this question and the answer!
|
||||
|
||||
=======================================================================
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Dovecot.txt,v 1.6 2018/05/24 11:34:30 gilles Exp gilles $
|
||||
$Id: FAQ.Dovecot.txt,v 1.7 2019/09/25 09:25:52 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -11,6 +11,15 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Dovecot.txt
|
||||
=======================================================================
|
||||
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. Subfolders are not created by imapsync and the error is
|
||||
"Mailbox doesn't allow inferior mailboxes"
|
||||
|
||||
Q. How to migrate to Dovecot with an admin/MasterUser account?
|
||||
|
||||
Now the questions again with their answers.
|
||||
|
||||
=======================================================================
|
||||
Q. How to migrate to Dovecot with an admin/MasterUser account?
|
||||
|
||||
@ -21,5 +30,23 @@ R. Dovecot uses the same syntax as uw-imap
|
||||
To setup a Dovecot MasterUser see
|
||||
http://wiki2.dovecot.org/Authentication/MasterUsers
|
||||
|
||||
=======================================================================
|
||||
Q. Subfolders are not created by imapsync and the error is
|
||||
"Mailbox doesn't allow inferior mailboxes"
|
||||
|
||||
R. Dovecot usually supports subfolders with messages and subfolders,
|
||||
it's a Dovecot configuration issue.
|
||||
|
||||
If you can change the Dovecot configuration dovecot.conf,
|
||||
then try this:
|
||||
|
||||
mail_location = maildir:~/Maildir:LAYOUT=fs
|
||||
|
||||
See details at:
|
||||
https://superuser.com/questions/813362/sub-folders-in-dovecot
|
||||
https://wiki2.dovecot.org/MailLocation/Maildir
|
||||
|
||||
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
@ -1,5 +1,5 @@
|
||||
|
||||
$Id: FAQ.Exchange.txt,v 1.50 2019/04/02 09:29:38 gilles Exp gilles $
|
||||
$Id: FAQ.Exchange.txt,v 1.57 2019/12/04 18:26:28 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -52,10 +52,6 @@ Q. From XXX to Exchange 2010/2013 or Office365 I get this error message
|
||||
Q. From XXX to Exchange 2010 or 2013 or Office365 the flag Flagged does
|
||||
not seem to be well synced. What can I do?
|
||||
|
||||
Q. Exchange and Office365 have throttle mechanisms to limit any huge
|
||||
usage. Sometimes imapsync transfers are too stressful for servers.
|
||||
How to deal with that?
|
||||
|
||||
Q. How to migrate from or to Exchange 2007/2010/2013 with an
|
||||
admin/authuser account?
|
||||
|
||||
@ -71,7 +67,10 @@ Q. Couldn't create folder [trash] "Mailbox already exists".
|
||||
Q. Migrating to Exchange 201O, messages get date of the transfer,
|
||||
this is bad for sorting and listing. What can I do?
|
||||
|
||||
Q. How to sync from any to Exchange2007?
|
||||
Q. How to sync from any to Exchange 2007?
|
||||
|
||||
Q. Exchange 2007 folders ending with a space cause an imapsync crash.
|
||||
"Could not select: socket closed while reading data from server"
|
||||
|
||||
Q. How to sync from Microsoft Exchange 2000 IMAP4rev1 server?
|
||||
|
||||
@ -104,33 +103,37 @@ On Windows, use:
|
||||
|
||||
imapsync.exe ... --exchange2
|
||||
|
||||
or use (before imapsync release 1.836):
|
||||
which is equivalent in imapsync release 1.970 to:
|
||||
|
||||
imapsync.exe ... ^
|
||||
--maxsize 10000000 ^
|
||||
--maxsize 10_000_000 ^
|
||||
--maxmessagespersecond 4 ^
|
||||
--regexflag "s/\\Flagged//g" ^
|
||||
--disarmreadreceipts ^
|
||||
--regexmess "s,(.{9900}),$1\r\n,g"
|
||||
--regexflag "s/\\Flagged//g" ^
|
||||
--regexmess "s,(.{10239}),$1\r\n,g"
|
||||
|
||||
On Unix, use:
|
||||
|
||||
imapsync ... --exchange2
|
||||
|
||||
or use (before imapsync release 1.836):
|
||||
which is equivalent in imapsync release 1.970 to:
|
||||
|
||||
imapsync ... \
|
||||
--maxsize 10000000 \
|
||||
--maxlinelength 9900 \
|
||||
--maxsize 10_000_000 \
|
||||
--maxmessagespersecond 4 \
|
||||
--maxlinelength 10239 \
|
||||
--regexflag 's/\\Flagged//g' \
|
||||
--disarmreadreceipts \
|
||||
--maxlinelengthcmd 'reformime -r7'
|
||||
--regexmess 's,(.{10239}),$1\r\n,g'
|
||||
|
||||
On Linux, to get the "reformime" command, install the "maildrop" package.
|
||||
In case you don't have it you can still use
|
||||
--regexmess 's,(.{9900}),$1\r\n,g'
|
||||
instead of --maxlinelengthcmd 'reformime -r7'
|
||||
|
||||
|
||||
On Linux, you can also try the "reformime" command
|
||||
that can be used like:
|
||||
|
||||
imapsync ... --maxlinelengthcmd "reformime -r7"
|
||||
|
||||
To get reformime, install the "maildrop" package.
|
||||
|
||||
=======================================================================
|
||||
Q. How to sync from Office365 to XXX?
|
||||
@ -143,6 +146,11 @@ On Unix, use:
|
||||
|
||||
imapsync ... --office1
|
||||
|
||||
Option --office1 is like (release 1.970):
|
||||
|
||||
imapsync ... --host1 outlook.office365.com \
|
||||
--ssl1 \
|
||||
--exclude "^Files$"
|
||||
|
||||
=======================================================================
|
||||
Q. How to sync from XXX to Office365
|
||||
@ -158,36 +166,27 @@ R. Here is a command line resume that solves most encountered issues when
|
||||
next Q/R sections.
|
||||
|
||||
|
||||
On Windows, use:
|
||||
|
||||
imapsync.exe ... --office2
|
||||
|
||||
or use (before imapsync release 1.836):
|
||||
imapsync.exe ... ^
|
||||
--maxsize 45000000 ^
|
||||
--maxmessagespersecond 2 ^
|
||||
--regexflag "s/\\Flagged//g" ^
|
||||
--disarmreadreceipts ^
|
||||
--regexmess "s,(.{10500}),$1\r\n,g"
|
||||
|
||||
On Unix, use:
|
||||
|
||||
imapsync ... --office2
|
||||
|
||||
or use (before imapsync release 1.836):
|
||||
which is equivalent to (in imapsync release 1.870):
|
||||
|
||||
imapsync ... \
|
||||
--host2 outlook.office365.com \
|
||||
--ssl2 \
|
||||
--maxsize 45000000 \
|
||||
--maxlinelength 10500 \
|
||||
--maxmessagespersecond 2 \
|
||||
--regexflag 's/\\Flagged//g' \
|
||||
--maxmessagespersecond 4 \
|
||||
--disarmreadreceipts \
|
||||
--maxlinelengthcmd 'reformime -r7'
|
||||
--regexmess "s,(.{10239}),$1\r\n,g" \
|
||||
--f1f2 "Files=Files_renamed_by_imapsync"
|
||||
|
||||
|
||||
On Linux, you can also try the "reformime" command
|
||||
that can be used like:
|
||||
|
||||
imapsync ... --maxlinelengthcmd "reformime -r7"
|
||||
|
||||
To get reformime, install the "maildrop" package.
|
||||
|
||||
On Linux, to get the "reformime" command, install the "maildrop" package.
|
||||
In case you don't have it you can use
|
||||
--regexmess 's,(.{10500}),$1\r\n,g'
|
||||
instead of --maxlinelengthcmd 'reformime -r7'
|
||||
|
||||
=======================================================================
|
||||
Q. For Office365 I have double and triple checked the username and
|
||||
@ -288,13 +287,23 @@ Q. Office365 throttles the sync and says:
|
||||
"Request is throttled. Suggested Backoff Time: 299961 milliseconds".
|
||||
What can I do with that?
|
||||
|
||||
R. To solve the throttles issues from 0365, there's two solutions:
|
||||
|
||||
R. Exchange and Office365 have throttle mechanisms to limit any huge
|
||||
usage. Sometimes imapsync transfers are too stressful for servers.
|
||||
The message
|
||||
"Request is throttled. Suggested Backoff Time: 299961 milliseconds"
|
||||
comes from the imap Office365 server, imapsync just reports it
|
||||
before being disconnected from it.
|
||||
|
||||
To solve the throttles issues from 0365, there are two solutions
|
||||
at least:
|
||||
|
||||
R1. Call Microsoft Office365 and ask them to remove the limits on your
|
||||
mailboxes. That's not a joke, they do it for 90 days usually,
|
||||
sometimes only after you reach the second technician you call,
|
||||
the first one been not enough competent to understand what you're
|
||||
talking about.
|
||||
the first one usually been not enough competent to understand
|
||||
what you're talking about (I would be glad to remove this bad
|
||||
fact).
|
||||
|
||||
R2. Play with options --maxbytespersecond or --maxmessagespersecond
|
||||
or --exitwhenover
|
||||
@ -308,6 +317,14 @@ R2. Play with options --maxbytespersecond or --maxmessagespersecond
|
||||
I don't know the upper value that avoid the default throttling from 0365
|
||||
and I guess it changes over time.
|
||||
|
||||
R3. For Exchange, in case throttle appears anyway, fix them with:
|
||||
https://technet.microsoft.com/en-us/library/jj863577(v=exchg.150).aspx
|
||||
See also:
|
||||
http://www.linux-france.org/prj/imapsync_list/msg02072.html
|
||||
|
||||
Sometimes restarting the Exchange server is needed to take
|
||||
into account the change in the configuration.
|
||||
|
||||
=======================================================================
|
||||
Q. Office365 refuses to create the folder named "Files" with the error
|
||||
"NO Folder name is reserved". What happens?
|
||||
@ -323,6 +340,19 @@ R0. To fix this, add --exclude Files
|
||||
|
||||
imapsync ... --exclude Files
|
||||
|
||||
If you use --office1 then imapsync will add this exclusion
|
||||
automatically like using the option:
|
||||
|
||||
imapsync ... --exclude "^Files$"
|
||||
|
||||
If you use --office2 then imapsync will add a renaming of any
|
||||
"Files" folder on host1, like using the option:
|
||||
|
||||
imapsync ... --f1f2 "Files=Files_renamed_by_imapsync"
|
||||
|
||||
The host2 account ends up with a folder named
|
||||
"Files_renamed_by_imapsync", but no complaining.
|
||||
|
||||
R1. This folder "Files" seems to be a standard folder in Exchange Online,
|
||||
but it is not. The folder contains all attachments in every email
|
||||
that is in the mailbox, but without any headers.
|
||||
@ -455,7 +485,7 @@ encountered so you might also see "BYE Connection closed" errors from
|
||||
Exchange, which means Exchange leaves the session and say goodbye,
|
||||
come back later. Rerun a sync then.
|
||||
|
||||
If on Linux, there is a good Python script in the tarball that can
|
||||
On Linux, there is a good Python script in the tarball that can
|
||||
fix several things that Exchange or O365 have issues with.
|
||||
|
||||
Use it like this:
|
||||
@ -486,24 +516,6 @@ With STORE it sets and gets the "\Flagged" flag everywhere.
|
||||
Thanks to Dave Murray and Simon Savva for reporting and solving
|
||||
this issue.
|
||||
|
||||
======================================================================
|
||||
Q. Exchange and Office365 have throttle mechanisms to limit any huge
|
||||
usage. Sometimes imapsync transfers are too stressful for servers.
|
||||
How to deal with that?
|
||||
|
||||
R. It looks like limiting 4 messages per second is enough to avoid
|
||||
the throttle limits.
|
||||
|
||||
imapsync ... --maxmessagespersecond 4
|
||||
|
||||
In case throttle appears anyway, fix them with:
|
||||
https://technet.microsoft.com/en-us/library/jj863577(v=exchg.150).aspx
|
||||
See also:
|
||||
http://www.linux-france.org/prj/imapsync_list/msg02072.html
|
||||
|
||||
Sometimes restarting the Exchange server is needed to take
|
||||
into account the change in the configuration.
|
||||
|
||||
======================================================================
|
||||
Q. How to migrate from or to Exchange 2007/2010/2013 with an
|
||||
admin/authuser account?
|
||||
@ -580,6 +592,22 @@ and again - don't use administrator@domain.com - as that will never
|
||||
work because IMAP LOGIN is disabled for that account apparently
|
||||
under all circumstances.
|
||||
|
||||
Note from Noxyron
|
||||
https://github.com/imapsync/imapsync/issues/136#issuecomment-543761463
|
||||
|
||||
Hi guys. For a long time I could not start synchronization, I use admin rights
|
||||
and the --authuser2 switch when I migrated from Mdaemon to Exchange2016.
|
||||
I always got the error:
|
||||
"Host2 failure: Error login on [my.exchange.com] with user [mydomainuser] auth [PLAIN]: 2 NO AUTHENTICATE failed."
|
||||
In order for ImapSync to login to the user’s mailbox using administrator rights,
|
||||
you need to give for the administrator the permissions to the mailbox of this
|
||||
user with the command:
|
||||
“Add-MailboxPermission -Identity DomainUser -User DomainAdmin -AccessRights FullAccess -InheritanceType All -AutoMapping $false”
|
||||
using Exchange Management Shell.
|
||||
Without this, synchronization will not work.
|
||||
Please, add this comment to the FAQ.Exchange.txt
|
||||
(done!)
|
||||
|
||||
======================================================================
|
||||
Q. How to migrate from or to Office 365 with an admin/authuser account?
|
||||
|
||||
@ -690,7 +718,7 @@ It's often shorter to change one server than thousands clients
|
||||
so R1 might be easier to do.
|
||||
|
||||
======================================================================
|
||||
Q. How to sync from any to Exchange2007?
|
||||
Q. How to sync from any to Exchange 2007?
|
||||
|
||||
Several problems:
|
||||
- Big messages: increase the "send- and receive-connector"
|
||||
@ -701,13 +729,22 @@ R. 2 solutions
|
||||
R1. With imapsync (only partial success)
|
||||
--skipheader 'Received' \
|
||||
--regexmess 's{\A(.*?(?!^$))^Date:(.*?)$}{$1Date:$2\nReceived: From; $2}gxms'
|
||||
Any user having time to spend to debug Exchange2007 with imapsync
|
||||
Any user having time to spend to debug Exchange 2007 with imapsync
|
||||
is welcome.
|
||||
|
||||
R2. Other solution
|
||||
Two users succeeded by using "MS Transporter Suite" (which is closed
|
||||
expensive non-free software).
|
||||
|
||||
=======================================================================
|
||||
Q. Exchange 2007 folders ending with a space cause an imapsync crash.
|
||||
"Could not select: socket closed while reading data from server"
|
||||
|
||||
R. Using another imap tool like Thunderbird or Outlook, change the
|
||||
folder name to exclude the trailing space.
|
||||
|
||||
See https://github.com/imapsync/imapsync/issues/154
|
||||
|
||||
======================================================================
|
||||
Q. How to sync from Microsoft Exchange 2000 IMAP4rev1 server?
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Folders_Mapping.txt,v 1.19 2019/03/04 21:21:18 gilles Exp gilles $
|
||||
$Id: FAQ.Folders_Mapping.txt,v 1.20 2019/07/27 20:04:57 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -11,10 +11,24 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Folders_Mapping.txt
|
||||
Imapsync tips about changing folders names.
|
||||
=======================================================================
|
||||
|
||||
Folders names are by default reproduced identical except for
|
||||
the prefix and the separator which are automatically adapted
|
||||
By default, imapsync syncs all folders, one by one, in alphanumeric order.
|
||||
|
||||
By default, folders names from host1 are reproduced identical on host2,
|
||||
except for the prefix and the separator which are automatically adapted
|
||||
for host2.
|
||||
|
||||
The IMAP protocol has a specific way to code folders names,
|
||||
especially when these names use non-ascii 7bit characters.
|
||||
This encoding is called utf7imap.
|
||||
|
||||
Imapsync uses the same encoding as IMAP: utf7imap.
|
||||
|
||||
In order to well specify folders names on the command line, imapsync
|
||||
prints the complete folder list of both sides at the beginning of each run.
|
||||
|
||||
The left column is the encoding you have to use, without the first enclosing
|
||||
square brackets [], the right column is the human utf8 view.
|
||||
|
||||
This document gives most examples with the powerful but complex
|
||||
option --regextrans2. Before using --regextrans2 you should
|
||||
consider using --automap and --f1f2 because they are simpler
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Folders_Selection.txt,v 1.7 2018/05/24 11:34:30 gilles Exp gilles $
|
||||
$Id: FAQ.Folders_Selection.txt,v 1.8 2019/07/27 20:04:46 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -12,13 +12,17 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Folders_Selection.txt
|
||||
|
||||
By default, Imapsync syncs all folders, one by one, in alphanumeric order.
|
||||
|
||||
The IMAP protocol has a specific way to code folder names,
|
||||
when these names use non-ascii 7bit characters.
|
||||
Imapsync uses the same code as IMAP.
|
||||
In order to well specify them on the command line you will be
|
||||
helped by the complete folder list printed by imapsync at each run.
|
||||
The left column is what you have to use without the first enclosing
|
||||
square brackets, the right column is the human utf8 view.
|
||||
The IMAP protocol has a specific way to code folders names,
|
||||
especially when these names use non-ascii 7bit characters.
|
||||
This encoding is called utf7imap.
|
||||
|
||||
Imapsync uses the same encoding as IMAP, utf7imap.
|
||||
|
||||
In order to well specify folders names on the command line, imapsync
|
||||
prints the complete folder list of both sides at the beginning of each run.
|
||||
|
||||
The left column is the encoding you have to use, without the first enclosing
|
||||
square brackets [], the right column is the human utf8 view.
|
||||
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Folders_Sizes.txt,v 1.2 2018/05/24 11:34:30 gilles Exp gilles $
|
||||
$Id: FAQ.Folders_Sizes.txt,v 1.3 2019/07/25 15:57:04 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -9,6 +9,15 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Folders_Sizes.txt
|
||||
Imapsync tips to know folders sizes.
|
||||
=======================================================================
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. How can I know the size of all folders before launching a sync?
|
||||
|
||||
Q. The folders sizes and the number of messages don't match between
|
||||
the source mailbox and the destination mailbox.
|
||||
Why and what can I do?
|
||||
|
||||
Now the questions again with their answers.
|
||||
|
||||
|
||||
=======================================================================
|
||||
@ -16,11 +25,54 @@ Q. How can I know the size of all folders before launching a sync?
|
||||
|
||||
R. Use --justfoldersizes option.
|
||||
|
||||
With --justfoldersizes option, imapsync displays the folder size
|
||||
part of a run and then exits without doing any transfer:
|
||||
With the --justfoldersizes option, imapsync evaluates and displays the
|
||||
folders sizes on both sides and then exits without doing any transfer.
|
||||
Example:
|
||||
|
||||
imapsync ... --justfoldersizes
|
||||
|
||||
=======================================================================
|
||||
Q. The folders sizes and the number of messages don't match between
|
||||
the source mailbox on host1 and the destination mailbox on host2.
|
||||
Why and what can I do?
|
||||
|
||||
R. There are several reasons to explain the different counts between
|
||||
source and destination after a sync.
|
||||
|
||||
1) The sync ended prematurely, before syncing all wanted folders.
|
||||
Solution: run new syncs until completion.
|
||||
|
||||
2) There are messages on host2 that are not on host1, so host2 is
|
||||
bigger than host1. Imapsync doesn't delete any message by default.
|
||||
Solution: use --delete2 to have a strict sync by folder, ie,
|
||||
delete messages on host2 that are not on host1.
|
||||
|
||||
3) There are folders on host2 that are not on host1, so host2 is
|
||||
bigger. Imapsync doesn't delete any folder by default.
|
||||
Solution: use --delete2folders to have a strict sync, ie,
|
||||
delete folders on host2 that are not on host1.
|
||||
|
||||
4) There are duplicate messages on host1. Imapsync doesn't sync
|
||||
duplicates by default. But it counts them and presents the number
|
||||
found at the end on the line "Messages found duplicate on host1".
|
||||
To sync duplicates, use option --useuid
|
||||
--useuid has some caveats. See the documant FAQ.Duplicates.txt
|
||||
for details about it at
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Duplicates.txt
|
||||
|
||||
5) There are duplicate messages on host2 so host2 is
|
||||
bigger than host1. Solution: use --delete2duplicates to delete
|
||||
the host2 duplicates.
|
||||
|
||||
6) Cosmic rays...
|
||||
|
||||
The important part to take into account is the last lines of imapsync
|
||||
if you encounter the line:
|
||||
"The sync looks good, all X identified messages in host1 are on host2."
|
||||
and also no unidentified messages.
|
||||
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
||||
|
||||
|
65
FAQ.d/FAQ.GDPR.txt
Normal file
65
FAQ.d/FAQ.GDPR.txt
Normal file
@ -0,0 +1,65 @@
|
||||
$Id: FAQ.GDPR.txt,v 1.4 2019/09/12 10:07:27 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.GDPR.txt
|
||||
|
||||
=======================================================================
|
||||
Imapsync and the GDPR, General Data Protection Regulation UE 2016/679
|
||||
=======================================================================
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. Can you explain the compliance of imapsync with GDPR?
|
||||
[General Data Protection Regulation UE 2016/679]
|
||||
|
||||
|
||||
Now the questions again with their answers.
|
||||
|
||||
=======================================================================
|
||||
Q. Can you explain the compliance of imapsync with GDPR?
|
||||
[General Data Protection Regulation UE 2016/679]
|
||||
|
||||
R. 1) To know whether a newer imapsync exists or not,
|
||||
imapsync does a http GET to the file VERSION at
|
||||
http://imapsync.lamiral.info/VERSION
|
||||
|
||||
Via the HTTP User-agent header it also sends:
|
||||
* the imapsync release
|
||||
* the Perl version
|
||||
* the Mail::IMAPClient version
|
||||
* the Operating System
|
||||
* the context ( Standard, CGI, or Docker )
|
||||
|
||||
You can remove this behavior by adding the option --noreleasecheck
|
||||
on the command line or by setting $releasecheck = 0 in the source code.
|
||||
Check also https://nvd.nist.gov/vuln/detail/CVE-2013-4279
|
||||
|
||||
See also https://imapsync.lamiral.info/#NUMBERS
|
||||
|
||||
2) Each imapsync run generates a logfile that corresponds exactly
|
||||
to the output printed on the console during the run.
|
||||
This log file contains data from the mailboxes,
|
||||
not the content messages, not the passwords but
|
||||
it contains the folders names and the login names.
|
||||
Remove the log or use the option --nolog to avoid logging.
|
||||
|
||||
3) In case you purchase imapsync:
|
||||
|
||||
3.1) the data collected during the purchase,
|
||||
Name, Company Name, Postal Address, VAT number, Price,
|
||||
will be used to edit the invoice. I (Gilles LAMIRAL) keep a copy
|
||||
of the invoice for accounting.
|
||||
|
||||
3.2) Once in a while, I send an email to the buyers announcing
|
||||
a new imapsync is released and where to get it.
|
||||
|
||||
3.3) If the customer is a professional inside the EU,
|
||||
I also use his company VAT number and the amount to declare it
|
||||
to the Customs each month, before the 10th of the month, at
|
||||
https://pro.douane.gouv.fr/
|
||||
It's mandatory, it's the law inside EU and the fine is 750 EUR/month
|
||||
when it is not done or not well done a month.
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: FAQ.General.txt,v 1.240 2018/11/26 11:49:56 gilles Exp gilles $
|
||||
# $Id: FAQ.General.txt,v 1.242 2019/12/11 20:28:33 gilles Exp gilles $
|
||||
|
||||
=======================================================================
|
||||
General FAQ for imapsync
|
||||
@ -57,8 +57,8 @@ Q. How to verify imapsync.exe I got is the right file bit per bit?
|
||||
|
||||
Q. Folders are not created on host2. What happens?
|
||||
|
||||
Q. I am interested in creating a local clone of the IMAP on a LAN
|
||||
server for faster synchronizations, email will always be delivered
|
||||
Q. I am interested in creating a local clone of the IMAP on a LAN
|
||||
server for faster synchronizations, email will always be delivered
|
||||
to the remote server and so the synchronization will be one way - from
|
||||
remote to local. How suited is imapsync for continuous one-way
|
||||
synchronization of mailboxes? Is there a better solution?
|
||||
@ -288,11 +288,11 @@ R. Add also --nofoldersizes since the default behavior is to compute
|
||||
useful to see what has to be done on each folder and guess when
|
||||
the transfer will end (ETA).
|
||||
|
||||
R. Add also --noexpungeaftereach if you use --delete.
|
||||
R. Add also --noexpungeaftereach if you use --delete1.
|
||||
But be warn that an interrupted transfer can lose messages
|
||||
on host2 in a second run if you use a (silly) combination like
|
||||
on host2 in a second run if you use a (silly) combination like:
|
||||
|
||||
imapsync ... --delete --noexpunge --noexpungeaftereach --expunge2
|
||||
imapsync ... --delete1 --noexpunge1 --noexpungeaftereach --expunge2
|
||||
|
||||
Notes about --useuid
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Gmail.txt,v 1.58 2019/04/25 10:41:12 gilles Exp gilles $
|
||||
$Id: FAQ.Gmail.txt,v 1.65 2019/12/04 18:26:00 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -67,7 +67,18 @@ it has to be allowed in the Gmail configuration part:
|
||||
-> IMAP Access
|
||||
-> Enable IMAP
|
||||
|
||||
Also:
|
||||
Also, there is the authentication issue to consider.
|
||||
There are three different ways to authenticate to Gmail with Imapsync,
|
||||
either:
|
||||
|
||||
* "Access for less secure apps"
|
||||
* "2-step verification"
|
||||
* XOauth
|
||||
|
||||
For the last one, XOauth, see the document
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.XOAUTH2.txt
|
||||
|
||||
1) "Access for less secure apps" is turned ON
|
||||
|
||||
-> Verify 2-step verification is OFF
|
||||
https://myaccount.google.com/security?hl=en&pli=1&nlr=1#signin
|
||||
@ -75,6 +86,24 @@ it has to be allowed in the Gmail configuration part:
|
||||
https://www.google.com/settings/security/lesssecureapps
|
||||
https://support.google.com/accounts/answer/6010255?hl=en
|
||||
|
||||
Sometimes, with Gsuite, the login for the users are ok with imapsync
|
||||
for a while then they become forbidden with
|
||||
"failure: Error login on [imap.gmail.com] with user [xxx] auth [LOGIN]:
|
||||
2 NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)"
|
||||
|
||||
In that case, use:
|
||||
https://admin.google.com/AdminHome?hl=fr#ServiceSettings/notab=1&service=securitysetting&subtab=lesssecureappsaccess
|
||||
to allow "Access for less secure apps to all users"
|
||||
(Thanks to Sébastien R. for this input)
|
||||
|
||||
2) "2-step verification" is turned ON
|
||||
|
||||
Follow
|
||||
https://support.google.com/accounts/answer/185833?hl=en
|
||||
Even if Google says "Every App Password is only used once",
|
||||
it's false and the password can be used many times.
|
||||
|
||||
|
||||
=======================================================================
|
||||
Q. Even after several syncs the number of messages differs
|
||||
largely between imapsync and the Gmail web interface.
|
||||
@ -91,7 +120,7 @@ multiple messages and it doesn't match what imapsync presents.
|
||||
Q. How many days does it take to transfer X GB?
|
||||
|
||||
R. Basically it takes X days to transfer X GB per account.
|
||||
Gmail has usage limits per day and use throttlers when
|
||||
Gmail has usage limits per day and use throttles when
|
||||
they are overtaken
|
||||
http://support.google.com/a/bin/answer.py?hl=en&answer=1071518
|
||||
From the previous link:
|
||||
@ -124,25 +153,30 @@ imapsync \
|
||||
--password2 gmailsecret2 \
|
||||
--gmail1 --gmail2
|
||||
|
||||
Or, replacing what does --gmail1 --gmail2 (values are from imapsync 1.882):
|
||||
Or, replacing what does --gmail1 --gmail2 (values are from imapsync 1.970):
|
||||
|
||||
imapsync \
|
||||
--host1 imap.gmail.com \
|
||||
--ssl1 \
|
||||
--user1 account1@gmail.com \
|
||||
--password1 gmailsecret1 \
|
||||
--host2 imap.gmail.com \
|
||||
--ssl2 \
|
||||
--user2 account2@gmail.com \
|
||||
--password2 gmailsecret2 \
|
||||
--maxbytespersecond 20_000 \
|
||||
--maxbytesafter 1_000_000_000 \
|
||||
--maxsleep 2 \
|
||||
--automap \
|
||||
--exclude "\[Gmail\]$"
|
||||
--maxsleep 2 \
|
||||
--synclabels \
|
||||
--resynclabels \
|
||||
--exclude "\[Gmail\]$" \
|
||||
--folderlast "[Gmail]/All Mail"
|
||||
|
||||
With --gmail1 --gmail2 you can override the parameters
|
||||
that are activated by them, for example:
|
||||
|
||||
imapsync ... --gmail1 --gmail2 --maxbytespersecond 50_000
|
||||
imapsync ... --gmail1 --gmail2 --maxbytespersecond 50_000 --noautomap
|
||||
|
||||
Explanations:
|
||||
|
||||
@ -197,48 +231,40 @@ R. Use the following example:
|
||||
|
||||
imapsync --host1 mail.oldhost.com \
|
||||
--user1 my_email@oldhost.com \
|
||||
--password1 password \
|
||||
--password1 passwordold \
|
||||
--user2 my_email@gmail.com \
|
||||
--password2 password \
|
||||
--password2 gmailsecret \
|
||||
--gmail2
|
||||
|
||||
Or, replacing what does --gmail2 (values are from imapsync 1.921):
|
||||
Or, replacing what does --gmail2 (values are from imapsync 1.970):
|
||||
(For Linux only because of the quotes)
|
||||
|
||||
imapsync --host1 mail.oldhost.com \
|
||||
--user1 my_email@oldhost.com \
|
||||
--password1 password \
|
||||
--password1 passwordold \
|
||||
--host2 imap.gmail.com \
|
||||
--ssl2 \
|
||||
--user2 my_email@gmail.com \
|
||||
--password2 password \
|
||||
--password2 gmailsecret \
|
||||
--maxbytespersecond 20_000 \
|
||||
--maxbytesafter 1_000_000_000 \
|
||||
--automap \
|
||||
--expunge1 \
|
||||
--addheader \
|
||||
--maxsleep 2 \
|
||||
--maxsize 35_651_584 \
|
||||
--automap \
|
||||
--expunge1 \
|
||||
--addheader \
|
||||
--exclude "\[Gmail\]$" \
|
||||
--regextrans2 "s/['\^\"\\\\]/_/g" \
|
||||
--regextrans2 "s/[ ]+/_/g"
|
||||
--regextrans2 's,\[Gmail\].,,' \
|
||||
--regextrans2 's,^ +| +$,,g'
|
||||
--regextrans2 's,/ +| +/,/,g'
|
||||
--regextrans2 's/['"'"'\\^"]/_/g'
|
||||
--folderlast "[Gmail]/All Mail"
|
||||
|
||||
|
||||
Starting from imapsync 1.926 the last --regextrans2 replacing
|
||||
all blanks, which was:
|
||||
Starting from imapsync 1.926 a --regextrans2 replacing
|
||||
all blanks, was:
|
||||
|
||||
--regextrans2 "s/[ ]+/_/g"
|
||||
|
||||
became
|
||||
|
||||
on Winwows, like:
|
||||
|
||||
imapsync.exe ... --regexflag "s,\\Seen,," --regexflag "s,,\\Seen ,"
|
||||
|
||||
on Linux, like:
|
||||
|
||||
imapsync ... --regexflag 's,\\Seen,,' --regexflag 's,,\\Seen ,'
|
||||
|
||||
|
||||
|
||||
With --gmail2 you can override the parameters
|
||||
that are activated by them, for example:
|
||||
|
||||
@ -317,27 +343,30 @@ Q. How to synchronize from Gmail to XXX?
|
||||
R. Use this example:
|
||||
|
||||
imapsync \
|
||||
--user1 gilles.lamiral@gmail.com \
|
||||
--user1 foo@gmail.com \
|
||||
--password1 gmailsecret \
|
||||
--host2 localhost \
|
||||
--user2 tata \
|
||||
--gmail1
|
||||
|
||||
Or, replacing what does --gmail1 (values are from imapsync 1.882):
|
||||
Or, replacing what does --gmail1 (values are from imapsync 1.970):
|
||||
|
||||
imapsync \
|
||||
--host1 imap.gmail.com \
|
||||
--user1 gilles.lamiral@gmail.com \
|
||||
--ssl1 \
|
||||
--user1 foo@gmail.com \
|
||||
--password1 gmailsecret \
|
||||
--host2 localhost \
|
||||
--user2 tata \
|
||||
--password2 tatasecret \
|
||||
--maxbytespersecond 20_000 \
|
||||
--maxbytespersecond 40_000 \
|
||||
--maxbytesafter 2_500_000_000
|
||||
--automap \
|
||||
--maxsleep 2 \
|
||||
--skipcrossduplicates \
|
||||
--useheader="X-Gmail-Received" \
|
||||
--useheader "Message-Id" \
|
||||
--automap \
|
||||
--regextrans2 "s,\[Gmail\].,," \
|
||||
--skipcrossduplicates \
|
||||
--folderlast "[Gmail]/All Mail"
|
||||
|
||||
With --gmail1 you can override the parameters
|
||||
@ -347,10 +376,10 @@ imapsync ... --gmail1 --maxbytespersecond 50_000 --noskipcrossduplicates --noaut
|
||||
|
||||
Explanations:
|
||||
|
||||
--maxbytespersecond 20_000 ( 20 kBytes/s ) option is here to avoid
|
||||
--maxbytespersecond 40_000 ( 40 kBytes/s ) option is here to avoid
|
||||
locking or errors when imap transfers exceed Gmail maximum limit.
|
||||
See http://support.google.com/a/bin/answer.py?hl=en&answer=1071518
|
||||
--maxbytespersecond 20_000 is not mandatory in the sense Gmail may
|
||||
--maxbytespersecond 40_000 is not mandatory in the sense Gmail may
|
||||
allow you to use an upper value than 2 GBytes per 24h without
|
||||
disconnections.
|
||||
|
||||
@ -475,7 +504,7 @@ duplicate message as a new message, giving imapsync a new UID for this
|
||||
message, and throw it away because it already has it. Gmail
|
||||
will do this at each run so imapsync will always try to copy the
|
||||
message, and Gmail will always accept and throw away the new copy. It
|
||||
ends up with no duplicates on Gmail but a waste of bandwith and time,
|
||||
ends up with no duplicates on Gmail but a waste of bandwidth and time,
|
||||
which is the opposite goal of --usecache implied by --useuid.
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Kerio.txt,v 1.1 2019/06/26 22:14:50 gilles Exp gilles $
|
||||
$Id: FAQ.Kerio.txt,v 1.2 2019/11/15 11:33:14 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -37,4 +37,10 @@ Kerio at host2
|
||||
See also:
|
||||
https://github.com/imapsync/imapsync/pull/53
|
||||
|
||||
If you get the error
|
||||
"Host failure: Error login on ... auth [X-MASTERAUTH]: 2 BAD AUTHENTICATE Unknown authentication method"
|
||||
|
||||
Then admin authentication may not be activated yet. See:
|
||||
https://forums.gfi.com/index.php?t=msg&th=28458&goto=118447&#msg_118447
|
||||
|
||||
=======================================================================
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Massive.txt,v 1.29 2019/06/18 16:38:06 gilles Exp gilles $
|
||||
$Id: FAQ.Massive.txt,v 1.30 2019/07/24 12:01:41 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -45,8 +45,8 @@ R1. First you have to consider several periods. There is the global
|
||||
the old accounts but nothing prevents you from starting to sync
|
||||
the old accounts, as they are, to the new accounts.
|
||||
With tons of gigabytes to transfer, this period may be the longest one.
|
||||
There is nothing more to launch the presyncs and watch until
|
||||
the round is finished.
|
||||
There is nothing more than launching the presyncs and monitoring them
|
||||
until the round is finished.
|
||||
|
||||
The last period is the final sync period where only the last
|
||||
changes of the mailboxes need to be synced in order to switch
|
||||
@ -56,7 +56,9 @@ R2. To estimate the presync period, consider the mean imapsync transfer
|
||||
rate to be around 340 Kbytes/s, ie, 2.8 Mbps, no matter the local
|
||||
link bandwidth.
|
||||
It's a mean, measured upon various different syncs, coming from
|
||||
the online interface /X.
|
||||
the online service /X where the network card flow rate is 100 Mbps
|
||||
and the provider bandwidth is also 100 Mbps. Max seen is a transfer
|
||||
at 21 Mbps.
|
||||
|
||||
At 340 Kbytes/s,
|
||||
1 TB to transfer and one sync at a time will end in 35 days (1024^3/340/3600/24).
|
||||
@ -184,6 +186,9 @@ Here comes some measurements.
|
||||
|
||||
During iftop, press the h to see the display commands available,
|
||||
every single feature is useful! Press h again and try each one.
|
||||
My preferred display combination is by typing
|
||||
t p >
|
||||
meaning: one line per connection, show port numbers, sort by destination.
|
||||
|
||||
|
||||
On Windows 8.1 Windows 10 Windows 2012 R2 Windows 2016,
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Messages_Selection.txt,v 1.14 2018/05/24 11:34:30 gilles Exp gilles $
|
||||
$Id: FAQ.Messages_Selection.txt,v 1.15 2019/07/24 12:02:11 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -172,10 +172,34 @@ Q. What are the selection criteria available with --search option?
|
||||
|
||||
R. The list of search criteria are listed below, an excerpt from RFC3501.
|
||||
|
||||
http://www.faqs.org/rfcs/rfc3501.html
|
||||
|
||||
6.4.4. SEARCH Command
|
||||
https://tools.ietf.org/html/rfc3501#section-6.4.4
|
||||
...
|
||||
The SEARCH command searches the mailbox for messages that match
|
||||
the given searching criteria. Searching criteria consist of one
|
||||
or more search keys. The untagged SEARCH response from the server
|
||||
contains a listing of message sequence numbers corresponding to
|
||||
those messages that match the searching criteria.
|
||||
When multiple keys are specified, the result is the intersection
|
||||
(AND function) of all the messages that match those keys. For
|
||||
example, the criteria DELETED FROM "SMITH" SINCE 1-Feb-1994 refers
|
||||
to all deleted messages from Smith that were placed in the mailbox
|
||||
since February 1, 1994. A search key can also be a parenthesized
|
||||
list of one or more search keys (e.g., for use with the OR and NOT
|
||||
keys).
|
||||
|
||||
In all search keys that use strings, a message matches the key if
|
||||
the string is a substring of the field. The matching is
|
||||
case-insensitive.
|
||||
|
||||
The defined search keys are as follows. Refer to the Formal
|
||||
Syntax section for the precise syntactic definitions of the
|
||||
arguments.
|
||||
|
||||
<sequence set>
|
||||
Messages with message sequence numbers corresponding to the
|
||||
specified message sequence number set.
|
||||
|
||||
ALL
|
||||
All messages in the mailbox; the default initial key for
|
||||
ANDing.
|
||||
@ -306,6 +330,89 @@ http://www.faqs.org/rfcs/rfc3501.html
|
||||
UNSEEN
|
||||
Messages that do not have the \Seen flag set.
|
||||
|
||||
...
|
||||
|
||||
search = "SEARCH" [SP "CHARSET" SP astring] 1*(SP search-key)
|
||||
; CHARSET argument to MUST be registered with IANA
|
||||
...
|
||||
|
||||
search-key = "ALL" / "ANSWERED" / "BCC" SP astring /
|
||||
"BEFORE" SP date / "BODY" SP astring /
|
||||
"CC" SP astring / "DELETED" / "FLAGGED" /
|
||||
"FROM" SP astring / "KEYWORD" SP flag-keyword /
|
||||
"NEW" / "OLD" / "ON" SP date / "RECENT" / "SEEN" /
|
||||
"SINCE" SP date / "SUBJECT" SP astring /
|
||||
"TEXT" SP astring / "TO" SP astring /
|
||||
"UNANSWERED" / "UNDELETED" / "UNFLAGGED" /
|
||||
"UNKEYWORD" SP flag-keyword / "UNSEEN" /
|
||||
; Above this line were in [IMAP2]
|
||||
"DRAFT" / "HEADER" SP header-fld-name SP astring /
|
||||
"LARGER" SP number / "NOT" SP search-key /
|
||||
"OR" SP search-key SP search-key /
|
||||
"SENTBEFORE" SP date / "SENTON" SP date /
|
||||
"SENTSINCE" SP date / "SMALLER" SP number /
|
||||
"UID" SP sequence-set / "UNDRAFT" / sequence-set /
|
||||
"(" search-key *(SP search-key) ")"
|
||||
|
||||
seq-number = nz-number / "*"
|
||||
; message sequence number (COPY, FETCH, STORE
|
||||
; commands) or unique identifier (UID COPY,
|
||||
; UID FETCH, UID STORE commands).
|
||||
; * represents the largest number in use. In
|
||||
; the case of message sequence numbers, it is
|
||||
; the number of messages in a non-empty mailbox.
|
||||
; In the case of unique identifiers, it is the
|
||||
; unique identifier of the last message in the
|
||||
; mailbox or, if the mailbox is empty, the
|
||||
; mailbox's current UIDNEXT value.
|
||||
; The server should respond with a tagged BAD
|
||||
; response to a command that uses a message
|
||||
; sequence number greater than the number of
|
||||
; messages in the selected mailbox. This
|
||||
; includes "*" if the selected mailbox is empty.
|
||||
|
||||
seq-range = seq-number ":" seq-number
|
||||
; two seq-number values and all values between
|
||||
; these two regardless of order.
|
||||
; Example: 2:4 and 4:2 are equivalent and indicate
|
||||
; values 2, 3, and 4.
|
||||
; Example: a unique identifier sequence range of
|
||||
; 3291:* includes the UID of the last message in
|
||||
; the mailbox, even if that value is less than 3291.
|
||||
|
||||
sequence-set = (seq-number / seq-range) *("," sequence-set)
|
||||
; set of seq-number values, regardless of order.
|
||||
; Servers MAY coalesce overlaps and/or execute the
|
||||
; sequence in any order.
|
||||
; Example: a message sequence number set of
|
||||
; 2,4:7,9,12:* for a mailbox with 15 messages is
|
||||
; equivalent to 2,4,5,6,7,9,12,13,14,15
|
||||
; Example: a message sequence number set of *:4,5:7
|
||||
; for a mailbox with 10 messages is equivalent to
|
||||
; 10,9,8,7,6,5,4,5,6,7 and MAY be reordered and
|
||||
; overlap coalesced to be 4,5,6,7,8,9,10.
|
||||
|
||||
|
||||
See also the excellent "Introduction to IMAP" by Nick Babcock
|
||||
https://nbsoftsolutions.com/blog/introduction-to-imap
|
||||
|
||||
|
||||
|
||||
See also "WITHIN Search Extension to the IMAP Protocol"
|
||||
https://tools.ietf.org/html/rfc5032
|
||||
|
||||
...
|
||||
search-key =/ ( "OLDER" / "YOUNGER" ) SP nz-number
|
||||
; search-key defined in RFC 3501
|
||||
|
||||
4. Example
|
||||
|
||||
C: a1 SEARCH UNSEEN YOUNGER 259200
|
||||
S: a1 * SEARCH 4 8 15 16 23 42
|
||||
|
||||
Search for all unseen messages within the past 3 days, or 259200
|
||||
seconds, according to the server's current time.
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
||||
|
||||
|
56
FAQ.d/FAQ.Old_Style_Web_Design.txt
Normal file
56
FAQ.d/FAQ.Old_Style_Web_Design.txt
Normal file
@ -0,0 +1,56 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Old_Style_Web_Design.txt,v 1.4 2019/11/25 13:08:31 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Old_Style_Web_Design.txt
|
||||
|
||||
=======================================================================
|
||||
Imapsync tips for Gmail accounts.
|
||||
=======================================================================
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. Why the imapsync website looks so old fashion?
|
||||
|
||||
Now the questions again with their answers.
|
||||
|
||||
=======================================================================
|
||||
Q. Why the imapsync website looks so old fashion?
|
||||
|
||||
R. Once in a while I receive messages from people complaining about
|
||||
the website style, not that much about the content by the way,
|
||||
as people don't read.
|
||||
|
||||
I know the imapsync website has a grandmother style,
|
||||
I'm not offended by complaints about it.
|
||||
|
||||
Here are several reasons it stays like that for now:
|
||||
|
||||
* I like to do things myself
|
||||
|
||||
* I like static web
|
||||
|
||||
* I'm proud to be w3c compliant
|
||||
https://validator.w3.org/check?uri=https%3A%2F%2Fimapsync.lamiral.info
|
||||
Very very few sites are w3c compliant, it's because all CMS frameworks aren't.
|
||||
|
||||
* I prefer to spend more time on the product itself than the showcase
|
||||
|
||||
* The product is a command line, a fancy website to sell a command line
|
||||
makes more disappointed buyers
|
||||
|
||||
|
||||
I agree I could do some sort of A/B experiment and see whether during
|
||||
a month I sell more imapsync on a brand new style B site than
|
||||
the current A one.
|
||||
|
||||
|
||||
Besides, don't misunderstand buyers. The surprising thing about complainers
|
||||
is that all are web designers, none is a user not in the webdesign branch.
|
||||
I even received some phone call from a buyer saying: "I saw your website
|
||||
and I told to myself: this can't be a fake one, the product must be a good one".
|
||||
|
||||
Another folk like me:
|
||||
http://keyhut.com/pos.htm
|
||||
(well, not w3c compliant, since only mad people try to be w3c compliant)
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.OnlineUI.txt,v 1.19 2019/01/28 10:59:16 gilles Exp gilles $
|
||||
$Id: FAQ.OnlineUI.txt,v 1.20 2019/12/06 14:51:03 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -30,17 +30,17 @@ R0. Well, I don't know if asking the provider whether his online
|
||||
|
||||
R1. Some figures
|
||||
|
||||
Date of this report: 26 December 2018.
|
||||
Date of this report: 6 December 2019.
|
||||
|
||||
The online imapsync service /X started 9 January 2017
|
||||
(716 days of service).
|
||||
(1061 days of service).
|
||||
|
||||
In average, /X has 20 users per day lunching in mean 6
|
||||
different migrations, from one launch to many (hundreds).
|
||||
In average, /X has 50 users per day lunching in mean 6
|
||||
different migrations, from just one launch to many (hundreds).
|
||||
|
||||
The total volume /X transferred is around 45 TiB in more
|
||||
than 111 thousands email imap migrations,
|
||||
157 millions email messages.
|
||||
The total volume /X transferred is around 101 TiB in more
|
||||
than 219 thousands email imap migrations,
|
||||
340 millions email messages.
|
||||
|
||||
R2. Pros & Cons
|
||||
|
||||
@ -54,23 +54,24 @@ the imap logins and passwords, can't be eavesdropped on the network.
|
||||
Imapsync itself takes care about encryption for the imap sessions,
|
||||
if possible: It tries SSL first on port 993, then TLS on port 143
|
||||
if the servers announces TLS, then no encryption at all.
|
||||
What is done with the source imap server host1 is independent
|
||||
of what is done with the destination imap server host2.
|
||||
Concerning encryption, what is done with the source imap server host1
|
||||
is independent of what is done with the destination imap server host2.
|
||||
|
||||
At the date of 26 December 2018, there is no security problem
|
||||
At the date of 6 December 2019, there is no security problem
|
||||
detected or reported to me (Gilles LAMIRAL), so far.
|
||||
Feel free to attack the service and feel free to report any
|
||||
hole encountered. Have in mind I can watch what you try
|
||||
from the server side.
|
||||
from the server side and take measure if the service suffers from
|
||||
your acts.
|
||||
|
||||
As the owner of the service, it could have been 48 000 pairs of
|
||||
credentials collected and nearly 17 terabytes of email messages.
|
||||
As the owner of the service, it could have been 219 000 pairs of
|
||||
credentials collected and nearly 101 terabytes of email messages.
|
||||
I haven't kept them but I can't prove I haven't. It's just trust,
|
||||
like nearly every online service in the universe.
|
||||
|
||||
The imap server certificates are not checked (by default)
|
||||
because too many imap servers are crappy configured regarding
|
||||
certificates.
|
||||
The imap server certificates are not checked for authenticity
|
||||
(by default) because too many imap servers are crappy configured
|
||||
regarding certified certificates.
|
||||
|
||||
This default behavior is chosen like this because users of /X
|
||||
want their emails transferred, instead of being not transferred
|
||||
@ -90,7 +91,7 @@ imapsync is just one of them.
|
||||
Last point, who could be sure that no cracker cracked the online
|
||||
hosts and that he isn't currently sniffing the credentials?
|
||||
|
||||
No one, I'm not sure myself, even if I do take care of that
|
||||
No one, I'm not sure myself, even if I do take care of that
|
||||
possibility. So changing the imap accounts passwords after
|
||||
a sync is a safe and recommended practice!
|
||||
|
||||
@ -109,8 +110,8 @@ connections (imapsync stuff).
|
||||
|
||||
If the Browser/WebServer connection is timeout or ended,
|
||||
the imapsync sync is also ended immediately by the remote
|
||||
Apache https server. Technically, Apache sends a TERM signal,
|
||||
to the imapsync process then wait some seconds before
|
||||
Apache https server. Technically, Apache sends a TERM signal
|
||||
to the imapsync process, then wait some seconds before
|
||||
sending a KILL signal if it is still alive.
|
||||
|
||||
You can relaunch a sync again with "Sync!" button, at any time.
|
||||
@ -126,8 +127,9 @@ parameters, same credentials, or imapsync will ignore the demand.
|
||||
|
||||
In other words, you can try safely to launch several parallel
|
||||
runs between the same mailboxes. Open a new tab/windows with /X,
|
||||
and start a same sync, it's safe, the /X will say, if any, that
|
||||
there is already a current sync running.
|
||||
and start the exact same sync. It's safe, the /X will say, if any, that
|
||||
there is already a current sync running on them and it will present
|
||||
the logfile running the sync like a "tail -f" command (isn't that magic?).
|
||||
|
||||
|
||||
=====================================================================
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.POP3.txt,v 1.3 2018/05/24 11:34:30 gilles Exp gilles $
|
||||
$Id: FAQ.POP3.txt,v 1.5 2019/07/27 20:18:37 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -25,11 +25,12 @@ Q. Can I use imapsync to migrate emails from pop3 server to imap server?
|
||||
R1. No, but you can migrate emails from a pop3 server to an imap server
|
||||
with the command line tool pop2imap:
|
||||
http://www.linux-france.org/prj/pop2imap/
|
||||
http://www.linux-france.org/prj/pop2imap/README
|
||||
|
||||
R2. Yes, sometimes, because many pop3 servers runs in parallel
|
||||
with an imap server on exactly the same mailboxes. They serve
|
||||
the same INBOX (imap serves INBOX and several other folders,
|
||||
pop3 serves only INBOX).
|
||||
the same INBOX, ie, imap serves INBOX and several other folders,
|
||||
pop3 serves only INBOX.
|
||||
So have a try with imapsync on the same host1.
|
||||
|
||||
=======================================================================
|
||||
@ -38,25 +39,80 @@ Q. How can I handle those terrible POP-leaving-a-copy users?
|
||||
their emails after a migration, which is a big pain and
|
||||
causes hundreds of support calls.
|
||||
|
||||
R1. Context and condition: you have access to the POP email client tool
|
||||
and the user WILL STAY using POP.
|
||||
|
||||
R. A discussion about this issue
|
||||
POP email client tools can leave or delete the messages after pulling
|
||||
them. It's very often a configurable behavior. Configure the email client
|
||||
tool to delete the messages already pulled and then they won't never
|
||||
be pulled again from the server to the client.
|
||||
|
||||
If you can't access to the POP email client tool, see R2 below.
|
||||
|
||||
Problem in the future: INBOX will be seen as empty when the email client
|
||||
go to IMAP (unless the email client tool allows then an upload
|
||||
synchronization, but don't count on that...)
|
||||
|
||||
|
||||
R2. Context and condition: you know which users use POP.
|
||||
|
||||
If the pop mailboxes are known then all the INBOX messages can be moved
|
||||
in an subfolder called INBOX_backup for example. Ti help you do this,
|
||||
the tool pop2imap transfers messages from POP to IMAP, without duplicates,
|
||||
without deleting the messages transferred, by default, and can put them
|
||||
in any subfolder you want to. It can also delete them and, that way,
|
||||
do what the email client tool don't or can't do, for any reason.
|
||||
We're here to do a good job with what we have, do we?
|
||||
|
||||
In case of Dovecot for example, the magic can be there since already
|
||||
fetched messages via POP are seen as \Seen in IMAP but the new messages are
|
||||
seen as new messages, thanks to the Dovecot developper Timo's cleverness!.
|
||||
So it is possible to sync back only the new messages to INBOX,
|
||||
with "imapsync ... --search UNSEEN ...", and then POP users won't see the old
|
||||
messages come back but they will see the new messages and fetch them via POP.
|
||||
|
||||
|
||||
R3. Context and condition: you know nothing
|
||||
|
||||
Do R2 without the sync back of UNSEEN messages. It can't hurt to have a backup
|
||||
of INBOX in a subfolder for IMAP or POP users.
|
||||
|
||||
R4. Here are some points, an analyse that made me purpose the not
|
||||
to bad but not very good R2 answer.
|
||||
|
||||
There was a discussion about this issue on the imapsync mailing-list:
|
||||
http://www.linux-france.org/prj/imapsync_list/msg02622.html
|
||||
http://www.linux-france.org/prj/imapsync_list/msg02623.html
|
||||
My reply was not very good
|
||||
http://www.linux-france.org/prj/imapsync_list/msg02624.html
|
||||
It's because I wrote pop2imap and it uses a stateless
|
||||
mechanism to avoid duplicates, I wasn't aware of UIDL.
|
||||
|
||||
Here is a better response to handle and fix this problem, I hope:
|
||||
If the pop mailboxes are known and known to be regularly fetched, then
|
||||
all the INBOX messages, or at least the "old" ones, can be moved in an
|
||||
subfolder INBOX_back. It requires to have "access" to the POP
|
||||
sessions. The POP server log file is usually enough to know which
|
||||
account opened a pop connection, and when.
|
||||
mechanism to avoid duplicates, I wasn't aware of UIDL when I wrote pop2imap,
|
||||
and later when I entered the discussion.
|
||||
|
||||
See also Rick Sanders discussion about this issue:
|
||||
https://www.emailquestions.com/threads/how-to-prevent-duplicate-emails-after-server-migration-for-pop3-users-with-leave-mail-on-server.8109/
|
||||
|
||||
Quoting Timo Sirainen on
|
||||
https://wiki2.dovecot.org/Migration
|
||||
|
||||
"If a client already saw changed UIDLs and decided to start
|
||||
re-downloading mails, it's unlikely there is anything you can do to
|
||||
stop it. Even going back to your old server is unlikely to help at
|
||||
that point."
|
||||
|
||||
"Some (many?) POP3 clients also require that the message ordering is
|
||||
preserved."
|
||||
|
||||
"Some clients re-download all mails if you change the hostname in the
|
||||
client configuration. Be aware of this when testing."
|
||||
|
||||
Quoting
|
||||
https://wiki.dovecot.org/POP3Server
|
||||
|
||||
"Flag changes
|
||||
By default when a message is RETRed, \Seen flag is added to it.
|
||||
POP3 itself doesn't support flags, but if the mailbox is opened
|
||||
with IMAP (eg. from webmail) it's shown as seen."
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
||||
|
41
FAQ.d/FAQ.Principles.txt
Normal file
41
FAQ.d/FAQ.Principles.txt
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
$Id: FAQ.Principles.txt,v 1.5 2019/09/05 13:33:46 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Principles.txt
|
||||
|
||||
|
||||
=======================================================================
|
||||
Imapsync principles and design ideas
|
||||
=======================================================================
|
||||
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. What is the bandwidth used by imapsync?
|
||||
|
||||
|
||||
Now the questions again with their answers.
|
||||
|
||||
=======================================================================
|
||||
Q. What is the bandwidth used by imapsync?
|
||||
|
||||
R. From the host where imapsync runs, it opens two imap connections,
|
||||
one with the source account at host1, one with the destination
|
||||
account at host2.
|
||||
|
||||
So, the global bandwidth used is twice the volume of the source
|
||||
account, one volume to download the messages from host1,
|
||||
one volume to upload those messages to host2.
|
||||
|
||||
If the host2 is already filled with the messages, imapsync doesn't
|
||||
transfer them and then the volume transferred is small, just the IMAP
|
||||
commands to identify the messages on both sides.
|
||||
|
||||
There is no local cache of the email messages, except when a
|
||||
message is very big, it is temporarly saved locally.
|
||||
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Release_Checklist.txt,v 1.11 2019/05/27 14:26:57 gilles Exp gilles $
|
||||
$Id: FAQ.Release_Checklist.txt,v 1.16 2020/01/04 09:35:36 gilles Exp gilles $
|
||||
|
||||
This documentation is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -13,6 +13,7 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Release_Checklist.txt
|
||||
Checklist before release a new release:
|
||||
|
||||
- Add a new section in S/news.shtml reading "rlog imapsync"
|
||||
- In case of a new dependency, add it to all the INSTALL/* files.
|
||||
- Generate the README
|
||||
- Run a spell checker on the README
|
||||
- Read the README again slowly. Fix all issues, all.
|
||||
@ -20,15 +21,24 @@ Checklist before release a new release:
|
||||
- Read slowly README_Windows.txt
|
||||
- Read slowly the TUTORIAL_Unix file in html
|
||||
- Review the newsletter by running:
|
||||
m4 -P W/ml_announce.in
|
||||
m4 -P W/ml_announce.in.txt
|
||||
|
||||
- Review the TODO file and mark done what is done.
|
||||
- Review the general FAQ.d/FAQ.General.txt
|
||||
- Report values of --gmail1 --gmail2 to FAQ.Gmail.txt
|
||||
- Report values of --exchange* --office* to FAQ.Exchange.txt
|
||||
|
||||
- /X verify direct cgi
|
||||
- /X verify under noscript with firefox
|
||||
- /X verify under private with chrome
|
||||
|
||||
- Check the binaries imapsync.exe imapsync_64bit.exe with
|
||||
https://www.virustotal.com/
|
||||
https://www.metadefender.com/
|
||||
|
||||
|
||||
- make dist
|
||||
- verify on Windows the zip extraction and simple execution of imapsync_example.bat
|
||||
- make publish
|
||||
- verify VERSION is uploaded
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.SSL_errors.txt,v 1.7 2019/04/05 20:04:38 gilles Exp gilles $
|
||||
$Id: FAQ.SSL_errors.txt,v 1.9 2019/12/11 15:38:37 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -22,6 +22,9 @@ Q. What can I do to avoid those "SSL read/write errors"?
|
||||
Q. SSL connect attempt failed SSL
|
||||
routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
|
||||
|
||||
|
||||
Now the questions again with their answers.
|
||||
|
||||
=======================================================================
|
||||
Q. What are the errors
|
||||
DEBUG: .../IO/Socket/SSL.pm:1165: local error: SSL write error
|
||||
@ -76,7 +79,7 @@ R1. Use:
|
||||
depending on where the error occurs, host1 or host2 or both.
|
||||
|
||||
R2. If it doesn't work, I let you try other things,
|
||||
I quote the § "SSL_version" section of
|
||||
I quote the "SSL_version" section of
|
||||
https://metacpan.org/pod/IO::Socket::SSL (Module version: 2.066)
|
||||
|
||||
imapsync ... --sslargs1 SSL_version=SSLv2
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.SmarterMail.txt,v 1.13 2019/06/20 10:11:21 gilles Exp gilles $
|
||||
$Id: FAQ.SmarterMail.txt,v 1.14 2019/10/15 14:57:19 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -17,12 +17,12 @@ Q. Synchronizing from SmarterMail to XXX
|
||||
On Unix:
|
||||
imapsync --host1 imap.d1.org --user1 joe --password1 secret1 \
|
||||
--host2 imap.d2.org --user2 joe --password2 secret2 \
|
||||
--sep1 "/" --prefix1 "" --useheader Message-Id --noabletosearch1
|
||||
--sep1 "/" --prefix1 "" --useheader Message-Id --noabletosearch
|
||||
|
||||
On Windows:
|
||||
imapsync.exe --host1 imap.d1.org --user1 joe --password1 secret1 ^
|
||||
--host2 imap.d2.org --user2 joe --password2 secret2 ^
|
||||
--sep1 "/" --prefix1 "" --useheader Message-Id --noabletosearch1
|
||||
--sep1 "/" --prefix1 "" --useheader Message-Id --noabletosearch
|
||||
|
||||
|
||||
=======================================================================
|
||||
@ -31,12 +31,12 @@ Q. Synchronizing from XXX to SmarterMail
|
||||
On Unix:
|
||||
imapsync --host1 imap.d1.org --user1 joe --password1 secret1 \
|
||||
--host2 imap.d2.org --user2 joe --password2 secret2 \
|
||||
--sep2 "/" --prefix2 "" --useheader Message-Id --noabletosearch2
|
||||
--sep2 "/" --prefix2 "" --useheader Message-Id --noabletosearch
|
||||
|
||||
On Windows:
|
||||
imapsync.exe --host1 imap.d1.org --user1 joe --password1 secret1 ^
|
||||
--host2 imap.d2.org --user2 joe --password2 secret2 ^
|
||||
--sep2 "/" --prefix2 "" --useheader Message-Id --noabletosearch2
|
||||
--sep2 "/" --prefix2 "" --useheader Message-Id --noabletosearch
|
||||
|
||||
|
||||
=======================================================================
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
$Id: FAQ.Use_cache.txt,v 1.8 2018/10/22 17:30:45 gilles Exp gilles $
|
||||
$Id: FAQ.Use_cache.txt,v 1.9 2019/09/13 10:43:06 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -12,6 +12,10 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Use_cache.txt
|
||||
|
||||
Questions answered in this FAQ are:
|
||||
|
||||
Q. What is --usecache good for?
|
||||
|
||||
Q. What is the technical principle of --usecache?
|
||||
|
||||
Q. On Windows, with --useuid or --usecache a problem occurs with long
|
||||
nested folder names. The error message is:
|
||||
"No such file or directory; The filename or extension is too long"
|
||||
@ -19,7 +23,32 @@ Q. On Windows, with --useuid or --usecache a problem occurs with long
|
||||
Q. Inode problem with --usecache or --useuid on Linux
|
||||
|
||||
|
||||
Questions and their answers:
|
||||
Now the questions again and their answers
|
||||
|
||||
=======================================================================
|
||||
Q. What is --usecache good for?
|
||||
|
||||
R. The option --usecache is useful to speed up next syncs with --usecache.
|
||||
The first sync with --usecache between two imap accounts is as low
|
||||
as the first sync without --usecache.
|
||||
|
||||
=======================================================================
|
||||
Q. What is the technical principle of --usecache?
|
||||
|
||||
R. Option --usecache creates a empty file per email message
|
||||
in order to keep the UIDs mapping between account1 and account2.
|
||||
|
||||
The cache is maintened at each run. Messages UIDs enregistred
|
||||
in the cache are not fetched again to be identified. It really
|
||||
speeds up the process of syncing.
|
||||
|
||||
The cache directory is
|
||||
|
||||
<tmpdir>/imapsync_cache/
|
||||
|
||||
where <tmpdir> is the temporary directory given by the --tmpdir option
|
||||
or the one by default, /tmp on Unix, variable on Windows.
|
||||
|
||||
|
||||
=======================================================================
|
||||
Q. On Windows, with --useuid or --usecache a problem occurs with long
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Various_Software_Servers.txt,v 1.12 2019/06/26 22:17:03 gilles Exp gilles $
|
||||
$Id: FAQ.Various_Software_Servers.txt,v 1.13 2019/07/04 09:26:28 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -85,16 +85,6 @@ R. By Jamie Neil:
|
||||
I eventually managed to get the mail to migrate without errors using the
|
||||
following options:
|
||||
|
||||
--sep1 /
|
||||
- doesn't report separator so has to be set explicitly.
|
||||
|
||||
--nosyncacls
|
||||
- doesn't support ACLs.
|
||||
|
||||
--skipheader '^Content-Type'
|
||||
- MIME separator IDs seem to change every time a mail is accessed so
|
||||
this is required to stop duplicates.
|
||||
|
||||
--maxage 3650
|
||||
- some messages just don't seem to want to transfer and produce the
|
||||
perl errors I mentioned before. This prevents the errors, but the
|
||||
@ -112,16 +102,10 @@ something funny about the reported dates/sizes).
|
||||
|
||||
It think this problem has been rectified in GW6.5.
|
||||
|
||||
2) The "skipheader '^Content-Type'" directive is required to stop
|
||||
duplicate messages being created. GW seems to generate this field on
|
||||
the fly for messages that have MIME separators and so it's different
|
||||
every time.
|
||||
|
||||
3) Version 6.0.1 of the Groupwise Internet Connector sucks. I was
|
||||
2) Version 6.0.1 of the Groupwise Internet Connector sucks. I was
|
||||
getting server aborts when I pushed it a bit hard! I eventually had to
|
||||
upgrade to 6.0.4 which seems to be a lot more stable.
|
||||
|
||||
|
||||
=======================================================================
|
||||
Q. Migrating from iPlanet Messaging Server
|
||||
5.2 Patch 2 (built Jul 14 2004)) to Groupwise 7.0
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
$Id: FAQ.Virus.txt,v 1.5 2018/05/24 11:34:30 gilles Exp gilles $
|
||||
$Id: FAQ.Virus.txt,v 1.6 2019/12/06 09:43:52 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -14,9 +14,9 @@ https://imapsync.lamiral.info/FAQ.d/FAQ.Virus.txt
|
||||
Q. My virus scanner claims imapsync.exe is a virus/malware/trojan etc.
|
||||
What the hell?
|
||||
|
||||
R1. Yes, I found the same. Two antivirus, Baidu and Jiangmin, report that
|
||||
R1. Yes, I find the same sometimes with few antivirus, some report that
|
||||
imapsync might have a trojan in it.
|
||||
All others virus scanner say imapsync.exe is ok.
|
||||
Most virus scanners say imapsync.exe and is ok.
|
||||
I've done this test on imapsync.exe release 1.727 on the two following
|
||||
meta-virus-scanners:
|
||||
https://www.virustotal.com/
|
||||
@ -36,11 +36,24 @@ R3. There is no virus alerts reported for the Perl script imapsync
|
||||
the script imapsync, with perl interpreter itself and all modules
|
||||
needed by imapsync in order to make imapsync.exe a standalone software.
|
||||
|
||||
R4. imapsync.exe release 1.836 is reported as totally clean by both
|
||||
R4. Using online meta-virus-scanners
|
||||
https://www.virustotal.com/
|
||||
https://www.virustotal.com/#/file/2a33eb93198da77677a4013a5dfb4868cb6aa8f4513e2102a55884b258d19043/detection
|
||||
https://www.metadefender.com/
|
||||
|
||||
and https://metadefender.opswat.com/
|
||||
Release 1.945
|
||||
|
||||
imapsync.exe release 1.945 is reported as totally clean:
|
||||
* https://www.virustotal.com/gui/file/c122fd3bc82c9c784e8b27504e1843f95b1dfd9beba05f50a2893853ad4a6c59/details
|
||||
* https://metadefender.opswat.com/results#!/file/bzE5MTIwNVN5ZXNDa2NMVEhCeWJpQTFjVVRT/regular/overview
|
||||
|
||||
imapsync_64bit.exe release 1.945 is reported as totally clean:
|
||||
* https://www.virustotal.com/gui/file/f561c6e457c3173f7b0379ee8cc267347feff1bc1991cf47fea7c513c81ccb0a/detection
|
||||
* https://metadefender.opswat.com/results#!/file/bzE5MDkzMHJ5dk9qb2gxZEhIMXVkaWloeV9C/regular/multiscan
|
||||
|
||||
|
||||
Release 1.836
|
||||
|
||||
imapsync.exe release 1.836 is reported as totally clean:
|
||||
https://www.virustotal.com/#/file/2a33eb93198da77677a4013a5dfb4868cb6aa8f4513e2102a55884b258d19043/detection
|
||||
https://metadefender.opswat.com/results#!/file/ZTE4MDMxN1MxZTk4aGhxdEdCSlpxVTJoOVlN/regular/information
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.XOAUTH2.txt,v 1.15 2018/08/28 21:48:53 gilles Exp gilles $
|
||||
$Id: FAQ.XOAUTH2.txt,v 1.16 2019/07/31 22:58:36 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
@ -154,7 +154,8 @@ imapsync \
|
||||
|
||||
Use your own xoauth2 values.
|
||||
|
||||
|
||||
See also
|
||||
http://www.notearthday.org/nedtech/2016/05/creating-creating-oauth2-credentials-with-google-apps/
|
||||
|
||||
=======================================================================
|
||||
Q. How to use a proxy with XOAUTH2 authentication?
|
||||
|
26
FAQ.d/FAQ.Yandex.txt
Normal file
26
FAQ.d/FAQ.Yandex.txt
Normal file
@ -0,0 +1,26 @@
|
||||
#!/bin/cat
|
||||
$Id: FAQ.Yandex.txt,v 1.1 2019/09/12 10:08:05 gilles Exp gilles $
|
||||
|
||||
This document is also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Kerio.txt
|
||||
|
||||
=======================================================================
|
||||
Imapsync tips for Yandex accounts.
|
||||
=======================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
=======================================================================
|
||||
Q. How to migrate from or to Yandex
|
||||
|
||||
|
||||
R. Use:
|
||||
|
||||
imapsync ... --useheader Message-Id --noabletosearch
|
||||
|
||||
The option --noabletosearch is needed only if options --maxage or --minage
|
||||
are used. I don't know which --search commands could work, maybe none.
|
||||
|
||||
The imap server for --host1 or --host2 is usually imap.yandex.ru
|
@ -1,55 +1,62 @@
|
||||
|
||||
# $Id: htaccess.txt,v 1.25 2019/05/17 10:16:00 gilles Exp gilles $
|
||||
# $Id: htaccess.txt,v 1.27 2019/12/08 16:05:27 gilles Exp gilles $
|
||||
|
||||
|
||||
AddDescription "<b>Back</b> to Imapsync main page." ..
|
||||
AddDescription "<b>APPEND errors</b>." FAQ.Admin_Authentication.txt
|
||||
AddDescription "<b>Authenticate via an admin account</b>." FAQ.APPEND_errors.txt
|
||||
AddDescription "<b>Authentication failures</b>." FAQ.Authentication_failure.txt
|
||||
AddDescription "<b>Archiving</b> tips." FAQ.Archiving.txt
|
||||
AddDescription "<b>Big mailboxes</b> tips." FAQ.Big_Mailbox.txt
|
||||
AddDescription "<b>Connection issues</b>." FAQ.Connection.txt
|
||||
AddDescription "<b>Contacts & Calendars & Chat issues</b>." FAQ.Contacts_Calendars.txt
|
||||
AddDescription "<b>Dates issues</b>." FAQ.Dates.txt
|
||||
AddDescription "<b>David Tobit</b>." FAQ.David_Tobit.txt
|
||||
AddDescription "<b>Domino</b>." FAQ.Domino.txt
|
||||
AddDescription "<b>Dovecot</b>." FAQ.Dovecot.txt
|
||||
AddDescription "<b>Duplicated</b> messages issues." FAQ.Duplicates.txt
|
||||
AddDescription "<b>Emptying</b> an account." FAQ.Emptying.txt
|
||||
AddDescription "<b>Exchange 20xx</b> and <b>Office365</b>." FAQ.Exchange.txt
|
||||
AddDescription "<b>Changing folders names</b>." FAQ.Folders_Mapping.txt
|
||||
AddDescription "<b>Selecting folders</b>." FAQ.Folders_Selection.txt
|
||||
AddDescription "<b>Folders sizes with Imapsync</b>." FAQ.Folders_Sizes.txt
|
||||
AddDescription "<b>Back</b> to Imapsync main page." ..
|
||||
AddDescription "<b>Where this Description column comes from</b>." htaccess.txt
|
||||
|
||||
AddDescription "<b>APPEND errors</b>." FAQ.Admin_Authentication.txt
|
||||
AddDescription "<b>Authenticate via an admin account</b>." FAQ.APPEND_errors.txt
|
||||
AddDescription "<b>Archiving</b> tips." FAQ.Archiving.txt
|
||||
AddDescription "<b>Authentication failures</b>." FAQ.Authentication_failure.txt
|
||||
AddDescription "<b>Big mailboxes</b> tips." FAQ.Big_Mailbox.txt
|
||||
AddDescription "<b>Changing folders names</b>." FAQ.Folders_Mapping.txt
|
||||
AddDescription "<b>Connection issues</b>." FAQ.Connection.txt
|
||||
AddDescription "<b>Contacts & Calendars & Chat issues</b>." FAQ.Contacts_Calendars.txt
|
||||
AddDescription "<b>Dates issues</b>." FAQ.Dates.txt
|
||||
AddDescription "<b>David Tobit</b> accounts." FAQ.David_Tobit.txt
|
||||
AddDescription "<b>Domino</b> accounts." FAQ.Domino.txt
|
||||
AddDescription "<b>Dovecot</b> accounts." FAQ.Dovecot.txt
|
||||
AddDescription "<b>Duplicated</b> messages issues." FAQ.Duplicates.txt
|
||||
AddDescription "<b>Emptying</b> an account." FAQ.Emptying.txt
|
||||
AddDescription "<b>Exchange 20xx</b> and <b>Office365</b> accounts." FAQ.Exchange.txt
|
||||
AddDescription "<b>Selecting folders</b>." FAQ.Folders_Selection.txt
|
||||
AddDescription "<b>Folders sizes with Imapsync</b>." FAQ.Folders_Sizes.txt
|
||||
|
||||
|
||||
AddDescription "<b>Flags</b>." FAQ.Flags.txt
|
||||
AddDescription "<b>General</b> and <b>pot-pourri</b> issues" FAQ.General.txt
|
||||
AddDescription "<b>Gmail</b> accounts." FAQ.Gmail.txt
|
||||
AddDescription "<b>ISP tips</b>." FAQ.ISP.txt
|
||||
AddDescription "<b>Massive/bulk migrations</b>." FAQ.Massive.txt
|
||||
AddDescription "<b>Memory issues</b>." FAQ.Memory.txt
|
||||
AddDescription "<b>Migration Plan</b>." FAQ.Migration_Plan.txt
|
||||
AddDescription "<b>The Online UI service Q&R</b>." FAQ.OnlineUI.txt
|
||||
AddDescription "<b>Password & special characters on Windows</b>." FAQ.Passwords_on_Windows.txt
|
||||
AddDescription "<b>Password & special characters on Unix</b>." FAQ.Passwords_on_Unix.txt
|
||||
AddDescription "<b>POP3 issues</b>." FAQ.POP3.txt
|
||||
AddDescription "<b>Selecting messages</b>." FAQ.Messages_Selection.txt
|
||||
AddDescription "<b>How to transfer too big messages</b>." FAQ.Messages_Too_Big.txt
|
||||
AddDescription "<b>Oracle-UCS</b>." FAQ.Oracle-UCS.txt
|
||||
AddDescription "<b>Checklist before release a new release</b>." FAQ.Release_Checklist.txt
|
||||
AddDescription "<b>Guidelines to report bugs</b>." FAQ.Reporting_Bugs.txt
|
||||
AddDescription "<b>Security</b>." FAQ.Security.txt
|
||||
AddDescription "<b>SSL errors</b>." FAQ.SSL_errors.txt
|
||||
AddDescription "<b>SmarterMail</b>." FAQ.SmarterMail.txt
|
||||
AddDescription "<b>Flags tips and issues</b>." FAQ.Flags.txt
|
||||
AddDescription "<b>General Data Protection Regulation</b> (GDPR)." FAQ.GDPR.txt
|
||||
AddDescription "<b>General</b> and <b>pot-pourri</b> issues" FAQ.General.txt
|
||||
AddDescription "<b>Gmail</b> accounts." FAQ.Gmail.txt
|
||||
AddDescription "<b>ISP tips</b>." FAQ.ISP.txt
|
||||
AddDescription "<b>Kerio</b> accounts." FAQ.Kerio.txt
|
||||
AddDescription "<b>Massive/bulk migrations</b>." FAQ.Massive.txt
|
||||
AddDescription "<b>Memory issues</b>." FAQ.Memory.txt
|
||||
AddDescription "<b>Migration Plan</b>." FAQ.Migration_Plan.txt
|
||||
AddDescription "<b>The Online UI service Q&R</b>." FAQ.OnlineUI.txt
|
||||
AddDescription "<b>Password & special characters on Windows</b>." FAQ.Passwords_on_Windows.txt
|
||||
AddDescription "<b>Password & special characters on Unix</b>." FAQ.Passwords_on_Unix.txt
|
||||
AddDescription "<b>POP3 issues</b>." FAQ.POP3.txt
|
||||
AddDescription "<b>Principles & design decisions</b>." FAQ.Principles.txt
|
||||
AddDescription "<b>Selecting messages</b>." FAQ.Messages_Selection.txt
|
||||
AddDescription "<b>How to transfer too big messages</b>." FAQ.Messages_Too_Big.txt
|
||||
AddDescription "<b>Why the imapsync web site looks so old?</b>" FAQ.Old_Style_Web_Design.txt
|
||||
AddDescription "<b>Oracle-UCS</b> accounts." FAQ.Oracle-UCS.txt
|
||||
|
||||
AddDescription "<b>TTL (Time To Live) delay in DNS configuration</b>." FAQ.TTL.txt
|
||||
AddDescription "<b>Option --usecache and inodes</b>." FAQ.Use_cache.txt
|
||||
AddDescription "<b>User concurrent access</b>." FAQ.User_Concurrent_Access.txt
|
||||
AddDescription "<b>Virus scanners on Imapsync</b>." FAQ.Virus.txt
|
||||
AddDescription "<b>Why use --addheader?</b>." FAQ.Use_addheader.txt
|
||||
AddDescription "<b>Various imap software servers</b>." FAQ.Various_Software_Servers.txt
|
||||
AddDescription "<b>XOAUTH2</b> (<b>Gmail</b>)." FAQ.XOAUTH2.txt
|
||||
AddDescription "<b>Yahoo</b>." FAQ.Yahoo.txt
|
||||
AddDescription "<b>Zimbra</b>." FAQ.Zimbra.txt
|
||||
AddDescription "<b>Where this Description column comes from</b>." htaccess.txt
|
||||
AddDescription "<b>Checklist before release a new release</b>." FAQ.Release_Checklist.txt
|
||||
AddDescription "<b>Guidelines to report bugs</b>." FAQ.Reporting_Bugs.txt
|
||||
AddDescription "<b>Security</b>." FAQ.Security.txt
|
||||
AddDescription "<b>SSL errors</b>." FAQ.SSL_errors.txt
|
||||
AddDescription "<b>SmarterMail</b> accounts." FAQ.SmarterMail.txt
|
||||
|
||||
AddDescription "<b>TTL (Time To Live) delay in DNS configuration</b>." FAQ.TTL.txt
|
||||
AddDescription "<b>Option --usecache and inodes</b>." FAQ.Use_cache.txt
|
||||
AddDescription "<b>User concurrent access</b>." FAQ.User_Concurrent_Access.txt
|
||||
AddDescription "<b>Virus scanners on Imapsync</b>." FAQ.Virus.txt
|
||||
AddDescription "<b>Why use --addheader?</b>." FAQ.Use_addheader.txt
|
||||
AddDescription "<b>Various imap software servers</b>." FAQ.Various_Software_Servers.txt
|
||||
AddDescription "<b>XOAUTH2</b> (<b>Gmail</b>)." FAQ.XOAUTH2.txt
|
||||
AddDescription "<b>Yahoo</b> accounts." FAQ.Yahoo.txt
|
||||
AddDescription "<b>Yandex</b> accounts." FAQ.Yandex.txt
|
||||
AddDescription "<b>Zimbra</b> accounts." FAQ.Zimbra.txt
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
## Dockerfile for building a docker imapsync image
|
||||
|
||||
# $Id: Dockerfile,v 1.15 2019/02/26 11:39:31 gilles Exp gilles $
|
||||
# $Id: Dockerfile,v 1.28 2019/12/02 13:19:41 gilles Exp gilles $
|
||||
# I use the following command to build the image:
|
||||
#
|
||||
# docker build -t gilleslamiral/imapsync .
|
||||
@ -10,27 +10,40 @@
|
||||
# I like thanks
|
||||
# I like stars
|
||||
# I also like (and need) money
|
||||
# I thank you very much in advance
|
||||
# I thank you very much
|
||||
|
||||
# Number of imapsync images pulled so far (2019_12_02): 32732
|
||||
# Command used:
|
||||
# curl -s https://hub.docker.com/v2/repositories/gilleslamiral/imapsync/ | jq '.pull_count'
|
||||
|
||||
|
||||
FROM debian:stretch
|
||||
FROM debian:buster
|
||||
|
||||
LABEL maintainer "gilles@lamiral.info"
|
||||
LABEL maintainer="Gilles LAMIRAL <gilles@lamiral.info>" \
|
||||
description="Imapsync" \
|
||||
documentation="https://imapsync.lamiral.info/#doc"
|
||||
|
||||
# Put a copy of the Dockerfile in the image itself
|
||||
# It can help future maintenance, isn't it?
|
||||
|
||||
# Also put my last imapsync on / for testing purpose
|
||||
COPY Dockerfile imapsync /
|
||||
COPY Dockerfile /
|
||||
|
||||
RUN apt-get update \
|
||||
# Also put my local imapsync on /usr/bin/ for testing purpose
|
||||
# renamed imapsync_local since would be erased by the wget
|
||||
|
||||
COPY imapsync /usr/bin/imapsync_local
|
||||
COPY prerequisites_imapsync /usr/bin/prerequisites_imapsync_local
|
||||
|
||||
RUN set -xe && \
|
||||
apt-get update \
|
||||
&& apt-get install -y \
|
||||
libjson-webtoken-perl \
|
||||
libauthen-ntlm-perl \
|
||||
libcgi-pm-perl \
|
||||
libcrypt-openssl-rsa-perl \
|
||||
libdata-uniqid-perl \
|
||||
libencode-imaputf7-perl \
|
||||
libfile-copy-recursive-perl \
|
||||
libfile-tail-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libio-socket-inet6-perl \
|
||||
libio-tee-perl \
|
||||
@ -53,17 +66,25 @@ RUN apt-get update \
|
||||
wget \
|
||||
make \
|
||||
cpanminus \
|
||||
lsof \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN wget -N https://imapsync.lamiral.info/imapsync \
|
||||
https://imapsync.lamiral.info/prerequisites_imapsync \
|
||||
&& cp imapsync /usr/bin/imapsync \
|
||||
&& chmod +x /usr/bin/imapsync # just_a_comment_to_force_update 2018_09_13_14_44_03
|
||||
RUN set -xe \
|
||||
&& pwd \
|
||||
&& wget -N https://imapsync.lamiral.info/imapsync \
|
||||
https://imapsync.lamiral.info/prerequisites_imapsync \
|
||||
&& mv imapsync /usr/bin/imapsync \
|
||||
&& chmod +x /usr/bin/imapsync /usr/bin/imapsync_local # just_a_comment_to_force_update 2019_11_26_12_58_34
|
||||
|
||||
USER nobody
|
||||
|
||||
USER nobody:nogroup
|
||||
|
||||
ENV HOME /var/tmp/
|
||||
|
||||
WORKDIR /var/tmp/
|
||||
|
||||
STOPSIGNAL SIGINT
|
||||
|
||||
CMD ["/usr/bin/imapsync"]
|
||||
|
||||
#
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $Id: INSTALL.ANY.txt,v 1.58 2018/05/24 11:43:31 gilles Exp gilles $
|
||||
# $Id: INSTALL.ANY.txt,v 1.60 2019/11/28 14:37:40 gilles Exp gilles $
|
||||
#
|
||||
# This is the main INSTALL file for imapsync.
|
||||
# imapsync : IMAP sync and migrate tool.
|
||||
@ -13,6 +13,7 @@ https://imapsync.lamiral.info/INSTALL.d/INSTALL.ANY.txt
|
||||
|
||||
imapsync works fine under any operating system with Perl and Perl modules (listed below).
|
||||
imapsync.exe works fine standalone under Windows XP, Vista, Seven, 20XX, either 32 or 64bit.
|
||||
imapsync_64bit.exe works fine standalone under Seven, 20XX, but only 64bit.
|
||||
|
||||
=======================================================================
|
||||
Installing imapsync on WINDOWS
|
||||
@ -37,9 +38,11 @@ Those documents are also available at https://imapsync.lamiral.info/INSTALL.d/
|
||||
- Debian
|
||||
- Ubuntu
|
||||
- AWS EC2
|
||||
- Arch Linux
|
||||
- Docker
|
||||
- Online UI like /X
|
||||
|
||||
If you are not on one of these systems then read the section
|
||||
If you are not on one of these systems then read the last section
|
||||
below called "Installing imapsync on other Unixes".
|
||||
|
||||
=======================================================================
|
||||
@ -108,6 +111,15 @@ See the file INSTALL.d/INSTALL.AWS_EC2.txt
|
||||
This document is also available at
|
||||
https://imapsync.lamiral.info/INSTALL.d/INSTALL.AWS_EC2.txt
|
||||
|
||||
=======================================================================
|
||||
Installing imapsync on ArchLinux
|
||||
=======================================================================
|
||||
|
||||
Not so easy.
|
||||
See the file INSTALL.d/INSTALL.ArchLinux.txt
|
||||
This document is also available at
|
||||
https://imapsync.lamiral.info/INSTALL.d/INSTALL.ArchLinux.txt
|
||||
|
||||
=======================================================================
|
||||
Installing imapsync online like /X
|
||||
=======================================================================
|
||||
@ -163,7 +175,8 @@ Install make in case it is not already installed.
|
||||
Run the "cpanm" command with the missing Perl modules as arguments.
|
||||
For example it can be:
|
||||
|
||||
cpanm Authen::NTLM Data::Uniqid File::Copy::Recursive IO::Tee Mail::IMAPClient Unicode::String
|
||||
cpanm Authen::NTLM Data::Uniqid File::Copy::Recursive IO::Tee \
|
||||
Mail::IMAPClient Unicode::String Encode::IMAPUTF7
|
||||
|
||||
Once you've run the "cpanm" command, you can rerun "sh prerequisites_imapsync"
|
||||
to verify everything is ok:
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.AWS_EC2.txt,v 1.5 2018/05/24 11:43:31 gilles Exp gilles $
|
||||
# $Id: INSTALL.AWS_EC2.txt,v 1.7 2019/11/28 14:37:23 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -16,41 +16,45 @@ Amazon Linux AMI release 2017.03
|
||||
|
||||
|
||||
sudo yum install \
|
||||
perl-Class-Load \
|
||||
perl-IO-Compress \
|
||||
perl-Crypt-OpenSSL-RSA \
|
||||
perl-Data-Dumper \
|
||||
perl-Class-Load \
|
||||
perl-IO-Compress \
|
||||
perl-Crypt-OpenSSL-RSA \
|
||||
perl-Data-Dumper \
|
||||
perl-Dist-CheckConflicts \
|
||||
perl-ExtUtils-Embed \
|
||||
perl-File-Copy-Recursive \
|
||||
perl-File-Tail \
|
||||
perl-IO-Socket-INET6 \
|
||||
perl-IO-Socket-SSL \
|
||||
perl-JSON \
|
||||
perl-HTML-Parser \
|
||||
perl-libwww-perl \
|
||||
perl-IO-Socket-SSL \
|
||||
perl-JSON \
|
||||
perl-HTML-Parser \
|
||||
perl-libwww-perl \
|
||||
perl-Mail-IMAPClient \
|
||||
perl-Module-Implementation \
|
||||
perl-Module-Runtime \
|
||||
perl-Module-ScanDeps \
|
||||
perl-Net-SSLeay \
|
||||
perl-Package-Stash \
|
||||
perl-Module-Runtime \
|
||||
perl-Module-ScanDeps \
|
||||
perl-Net-SSLeay \
|
||||
perl-Package-Stash \
|
||||
perl-Package-Stash-XS \
|
||||
perl-Parse-RecDescent \
|
||||
perl-Readonly \
|
||||
perl-Regexp-Common \
|
||||
perl-Sys-MemInfo \
|
||||
perl-TermReadKey \
|
||||
perl-Test-Fatal \
|
||||
perl-Test-MockObject \
|
||||
perl-Test-Simple \
|
||||
perl-Test-Pod \
|
||||
perl-Test-Requires \
|
||||
perl-Try-Tiny \
|
||||
perl-Unicode-String \
|
||||
perl-URI \
|
||||
perl-ExtUtils-Embed \
|
||||
perl-Readonly \
|
||||
perl-Regexp-Common \
|
||||
perl-Sys-MemInfo \
|
||||
perl-TermReadKey \
|
||||
perl-Test-Fatal \
|
||||
perl-Test-MockObject \
|
||||
perl-Test-Simple \
|
||||
perl-Test-Pod \
|
||||
perl-Test-Requires \
|
||||
perl-Try-Tiny \
|
||||
perl-Unicode-String \
|
||||
perl-URI \
|
||||
cpanminus
|
||||
|
||||
sudo cpanm Authen::NTLM Data::Uniqid IO::Tee JSON::WebToken JSON::WebToken::Crypt::RSA Test::Mock::Guard
|
||||
sudo cpanm Authen::NTLM Data::Uniqid IO::Tee \
|
||||
JSON::WebToken JSON::WebToken::Crypt::RSA \
|
||||
Test::Mock::Guard \
|
||||
Encode::IMAPUTF7
|
||||
|
||||
wget -N https://imapsync.lamiral.info/imapsync
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.ArchLinux.txt,v 1.3 2018/09/03 02:00:22 gilles Exp gilles $
|
||||
# $Id: INSTALL.ArchLinux.txt,v 1.5 2019/11/28 14:37:59 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -71,13 +71,15 @@ Commands to run:
|
||||
community/perl-test-nowarnings \
|
||||
community/perl-test-deep \
|
||||
extra/perl-try-tiny \
|
||||
extra/perl-uri
|
||||
extra/perl-uri \
|
||||
community/perl-file-tail
|
||||
|
||||
Mandatory Perl modules via cpanm:
|
||||
|
||||
cpanm Mail::IMAPClient \
|
||||
Unicode::String \
|
||||
Sys::MemInfo \
|
||||
Encode::IMAPUTF7
|
||||
|
||||
Other Perl modules, needed sometimes:
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.CPanel.txt,v 1.6 2018/05/24 11:43:31 gilles Exp gilles $
|
||||
# $Id: INSTALL.CPanel.txt,v 1.7 2019/11/28 14:38:18 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -26,5 +26,12 @@ A good test that shows also the basic example:
|
||||
|
||||
imapsync
|
||||
|
||||
|
||||
If you want to update to the latest imapsync, then look at
|
||||
the Centos installation document called INSTALL.Centos.txt
|
||||
and also INSTALL.ANY.txt
|
||||
|
||||
You're on your own, I don't have access to a CPanel system.
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.Centos.txt,v 1.12 2019/05/02 12:41:07 gilles Exp gilles $
|
||||
# $Id: INSTALL.Centos.txt,v 1.14 2019/11/28 14:37:02 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -66,7 +66,10 @@ Then:
|
||||
perl-Test-Mock-Guard \
|
||||
perl-Test-Requires \
|
||||
perl-Test-Deep \
|
||||
perl-File-Tail
|
||||
perl-File-Tail \
|
||||
perl-Unicode-String
|
||||
|
||||
cpanm Encode::IMAPUTF7 # this module is not available as a rpm package
|
||||
|
||||
wget -N https://imapsync.lamiral.info/imapsync
|
||||
chmod +x imapsync
|
||||
@ -74,7 +77,7 @@ Then:
|
||||
|
||||
Now you should shave the latest imapsync locally working on Centos 7.
|
||||
|
||||
If you want to install it and replace the olf one:
|
||||
If you want to install it and replace the old one:
|
||||
|
||||
mv /usr/bin/imapsync /usr/bin/imapsync_old
|
||||
cp ./imapsync /usr/bin/imapsync
|
||||
@ -82,7 +85,7 @@ If you want to install it and replace the olf one:
|
||||
imapsync --version
|
||||
|
||||
should give the latest release number instead of 1.727
|
||||
(1.937 at the time of this writing)
|
||||
(It is 1.964 at the time of this writing)
|
||||
|
||||
If you want to install an online imapsync service
|
||||
like /X then you also need a recent decent CGI.pm,
|
||||
@ -145,7 +148,8 @@ Then:
|
||||
perl-Test-Mock-Guard \
|
||||
perl-Test-Requires \
|
||||
perl-Test-Deep \
|
||||
perl-File-Tail
|
||||
perl-File-Tail \
|
||||
perl-Unicode-String
|
||||
|
||||
wget https://imapsync.lamiral.info/imapsync
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.Darwin.txt,v 1.19 2018/12/06 10:07:58 gilles Exp gilles $
|
||||
# $Id: INSTALL.Darwin.txt,v 1.24 2019/11/28 14:42:52 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -9,6 +9,21 @@ https://imapsync.lamiral.info/INSTALL.d/INSTALL.Darwin.txt
|
||||
Installing imapsync binary on Darwin / Mac OS X
|
||||
=======================================================================
|
||||
|
||||
Caveat Catalina: The binary imapsync_bin_Darwin is detected as a malware
|
||||
or similar on the latest Mac OS X named Catalina.
|
||||
It's Catalina new security policy. I'm working on it.
|
||||
All other Mac OS X releases are ok.
|
||||
So far I found
|
||||
https://www.quora.com/What-does-Can-t-be-opened-because-it-s-integrity-cannot-be-verified-mean-on-OSX-Catalina
|
||||
https://github.com/fastlane/fastlane/issues/15186#issuecomment-532047545
|
||||
https://github.com/neovim/neovim/issues/11011#issuecomment-531369505
|
||||
Other way, on the binary: Control + Right Click -> Open
|
||||
(I don't know if it adds imapsync in the ok apps)
|
||||
See also the last section of https://support.apple.com/en-us/HT202491
|
||||
"How to open an app that hasn’t been notarized or is from an unidentified developer"
|
||||
|
||||
Now, let's forget Catalina for the rest of this document
|
||||
|
||||
There is a standalone imapsync binary for Mac OS X
|
||||
called "imapsync_bin_Darwin" (without the quotes),
|
||||
available in the compressed tarball called imapsync-1.xxx.tgz
|
||||
@ -42,8 +57,8 @@ real IMAP server accounts:
|
||||
If this sync works fine then imapsync_bin_Darwin is ready for any
|
||||
imap account synchronization.
|
||||
|
||||
When reading the documentation with imapsync command lines
|
||||
examples, you have to replace the command "imapsync" by "imapsync_bin_Darwin"
|
||||
When reading the documentation with imapsync command lines examples,
|
||||
you have to replace the command "imapsync" by "imapsync_bin_Darwin"
|
||||
For example, instead of the command:
|
||||
|
||||
./imapsync \
|
||||
@ -56,6 +71,33 @@ you have to use:
|
||||
--host1 test1.lamiral.info --user1 test1 --password1 secret1 \
|
||||
--host2 test2.lamiral.info --user2 test2 --password2 secret2
|
||||
|
||||
You also may have to edit the examples you use, like
|
||||
examples/imapsync_example.sh
|
||||
and replace in there the command ./imapsync by ./imapsync_bin_Darwin
|
||||
in case it is not already done.
|
||||
|
||||
Be careful the way you edit the files, use a text editor.
|
||||
Do not use a word processor because word processors add
|
||||
or use special formating characters that will break the shell
|
||||
scripts. If you use TextEdit, use the text mode.
|
||||
|
||||
|
||||
The script examples/imapsync_example_darwin.sh is ready to use,
|
||||
it is a copy of examples/imapsync_example.sh adapted to Mac users.
|
||||
|
||||
The script examples/sync_loop_darwin.sh is also ready to use.
|
||||
Try:
|
||||
|
||||
sh examples/sync_loop_darwin.sh
|
||||
|
||||
or
|
||||
|
||||
cp examples/sync_loop_darwin.sh mysync.sh
|
||||
sh mysync.sh
|
||||
|
||||
Now read on the tutorial
|
||||
https://imapsync.lamiral.info/doc/TUTORIAL_Unix.html
|
||||
|
||||
=======================================================================
|
||||
Installing imapsync script on Darwin / Mac OS X with brew
|
||||
=======================================================================
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.Debian.txt,v 1.25 2018/11/20 10:28:33 gilles Exp gilles $
|
||||
# $Id: INSTALL.Debian.txt,v 1.30 2019/11/28 14:36:18 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -7,7 +7,7 @@ https://imapsync.lamiral.info/INSTALL.d/INSTALL.Debian.txt
|
||||
|
||||
|
||||
There is three install sections in this document,
|
||||
one for Debian 9 Stretch
|
||||
one for Debian 9 Stretch and Debian 10 Buster
|
||||
one for Debian 8 Jessie
|
||||
one for Debian 7 Wheezy
|
||||
|
||||
@ -24,23 +24,31 @@ https://lists.debian.org/debian-user/2016/11/msg00849.html
|
||||
|
||||
|
||||
=======================================================================
|
||||
Installing imapsync on Debian 9 Stretch
|
||||
Installing imapsync on Debian 9 Stretch or Debian 10 Buster
|
||||
=======================================================================
|
||||
|
||||
Here is the command to install imapsync dependencies.
|
||||
How to install imapsync dependencies on a Debian system?
|
||||
|
||||
The repositories are the classical ones, ie, a
|
||||
/etc/apt/sources.list file with:
|
||||
|
||||
# Debian 9 Stretch
|
||||
deb http://deb.debian.org/debian stretch main contrib
|
||||
|
||||
or
|
||||
|
||||
# Debian 10 Buster
|
||||
deb http://deb.debian.org/debian buster main contrib
|
||||
|
||||
|
||||
You need root privilege to run it, be root or use sudo.
|
||||
|
||||
apt install -y \
|
||||
libjson-webtoken-perl \
|
||||
libauthen-ntlm-perl \
|
||||
libcgi-pm-perl \
|
||||
libcrypt-openssl-rsa-perl \
|
||||
libdata-uniqid-perl \
|
||||
libencode-imaputf7-perl \
|
||||
libfile-copy-recursive-perl \
|
||||
libfile-tail-perl \
|
||||
libio-socket-inet6-perl \
|
||||
@ -75,8 +83,9 @@ go to the section "After installing the dependencies" below.
|
||||
Installing imapsync on Debian 8 Jessie
|
||||
=======================================================================
|
||||
|
||||
Here are the commands to install imapsync dependencies.
|
||||
You need root priviledge to run them.
|
||||
How to install imapsync dependencies on a Debian system?
|
||||
|
||||
You need root priviledge.
|
||||
|
||||
The first command installs standard Debian packages:
|
||||
apt install \
|
||||
@ -84,7 +93,9 @@ apt install \
|
||||
libcgi-pm-perl \
|
||||
libcrypt-openssl-rsa-perl \
|
||||
libdata-uniqid-perl \
|
||||
libencode-imaputf7-perl \
|
||||
libfile-copy-recursive-perl \
|
||||
libfile-tail-perl \
|
||||
libio-socket-inet6-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libio-tee-perl \
|
||||
@ -144,38 +155,41 @@ go to the section "After installing the dependencies" below.
|
||||
Installing imapsync on Debian 7 Wheezy
|
||||
=======================================================================
|
||||
|
||||
Here are the two commands to install imapsync dependencies.
|
||||
You need root priviledge to run them.
|
||||
How to install imapsync dependencies on a Debian system?
|
||||
|
||||
You need root priviledge to run the commands.
|
||||
|
||||
The first command installs standard Debian packages:
|
||||
|
||||
apt-get install \
|
||||
libauthen-ntlm-perl \
|
||||
libclass-load-perl \
|
||||
libcrypt-openssl-rsa-perl \
|
||||
libdigest-hmac-perl \
|
||||
libfile-copy-recursive-perl \
|
||||
libio-compress-perl \
|
||||
libio-socket-inet6-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libio-tee-perl \
|
||||
libmail-imapclient-perl \
|
||||
libmodule-implementation-perl \
|
||||
libmodule-runtime-perl \
|
||||
libmodule-scandeps-perl \
|
||||
libpackage-stash-perl \
|
||||
libpackage-stash-xs-perl \
|
||||
libpar-packer-perl \
|
||||
libreadonly-perl \
|
||||
libterm-readkey-perl \
|
||||
libtest-fatal-perl \
|
||||
libtest-pod-perl \
|
||||
libtest-requires-perl \
|
||||
libtest-simple-perl \
|
||||
libunicode-string-perl \
|
||||
liburi-perl \
|
||||
make \
|
||||
cpanminus
|
||||
apt-get install \
|
||||
libauthen-ntlm-perl \
|
||||
libclass-load-perl \
|
||||
libcrypt-openssl-rsa-perl \
|
||||
libdigest-hmac-perl \
|
||||
libencode-imaputf7-perl \
|
||||
libfile-copy-recursive-perl \
|
||||
libfile-tail-perl \
|
||||
libio-compress-perl \
|
||||
libio-socket-inet6-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libio-tee-perl \
|
||||
libmail-imapclient-perl \
|
||||
libmodule-implementation-perl \
|
||||
libmodule-runtime-perl \
|
||||
libmodule-scandeps-perl \
|
||||
libpackage-stash-perl \
|
||||
libpackage-stash-xs-perl \
|
||||
libpar-packer-perl \
|
||||
libreadonly-perl \
|
||||
libterm-readkey-perl \
|
||||
libtest-fatal-perl \
|
||||
libtest-pod-perl \
|
||||
libtest-requires-perl \
|
||||
libtest-simple-perl \
|
||||
libunicode-string-perl \
|
||||
liburi-perl \
|
||||
make \
|
||||
cpanminus
|
||||
|
||||
|
||||
The following second command installs "manually" the Perl modules
|
||||
|
@ -1,34 +0,0 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.Docker.txt,v 1.4 2018/09/13 17:50:06 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
https://imapsync.lamiral.info/INSTALL.d/INSTALL.Docker.txt
|
||||
|
||||
=======================================================================
|
||||
Installing imapsync docker image
|
||||
=======================================================================
|
||||
|
||||
==========================
|
||||
== Installation & usage ==
|
||||
==========================
|
||||
|
||||
That's all you have to run:
|
||||
|
||||
docker run gilleslamiral/imapsync imapsync <usual imapsync arguments>
|
||||
|
||||
=========================
|
||||
== Installation alone ==
|
||||
==========================
|
||||
|
||||
To install or update the imapsync image, run:
|
||||
|
||||
docker pull gilleslamiral/imapsync
|
||||
|
||||
== Docker hub location ==
|
||||
|
||||
https://hub.docker.com/r/gilleslamiral/imapsync/
|
||||
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.Docker_build.txt,v 1.8 2018/05/24 11:43:31 gilles Exp gilles $
|
||||
# $Id: INSTALL.Docker_build.txt,v 1.12 2019/11/28 14:43:48 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -9,22 +9,53 @@ https://imapsync.lamiral.info/INSTALL.d/INSTALL.Docker_build.txt
|
||||
Building an imapsync docker image from Debian
|
||||
=======================================================================
|
||||
|
||||
Nearly verbatim copy from https://imapsync.lamiral.info/INSTALL.d/Dockerfile
|
||||
(nearly but the Dockerfile rcs tag Id: removed, that would conflict)
|
||||
|
||||
# Dockerfile for building a docker imapsync image
|
||||
## Dockerfile for building a docker imapsync image
|
||||
|
||||
FROM debian:stretch
|
||||
# Dockerfile,v 1.26 2019/11/27 15:49:13 gilles Exp gilles $
|
||||
# I use the following command to build the image:
|
||||
#
|
||||
# docker build -t gilleslamiral/imapsync .
|
||||
#
|
||||
# where this Dockerfile is in the current directory
|
||||
#
|
||||
# I like thanks
|
||||
# I like stars
|
||||
# I also like (and need) money
|
||||
# I thank you very much in advance
|
||||
|
||||
LABEL maintainer "gilles@lamiral.info"
|
||||
|
||||
RUN apt-get update \
|
||||
FROM debian:buster
|
||||
|
||||
LABEL maintainer="Gilles LAMIRAL <gilles@lamiral.info>" \
|
||||
description="Imapsync" \
|
||||
documentation="https://imapsync.lamiral.info/#doc"
|
||||
|
||||
# Put a copy of the Dockerfile in the image itself
|
||||
# It can help future maintenance, isn't it?
|
||||
|
||||
COPY Dockerfile /
|
||||
|
||||
# Also put my local imapsync on /usr/bin/ for testing purpose
|
||||
# renamed imapsync_local since would be erased by the wget
|
||||
|
||||
COPY imapsync /usr/bin/imapsync_local
|
||||
COPY prerequisites_imapsync /usr/bin/prerequisites_imapsync_local
|
||||
|
||||
RUN set -xe && \
|
||||
apt-get update \
|
||||
&& apt-get install -y \
|
||||
libjson-webtoken-perl \
|
||||
libauthen-ntlm-perl \
|
||||
libcgi-pm-perl \
|
||||
libcrypt-openssl-rsa-perl \
|
||||
libdata-uniqid-perl \
|
||||
libencode-imaputf7-perl \
|
||||
libfile-copy-recursive-perl \
|
||||
libfile-tail-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libio-socket-inet6-perl \
|
||||
libio-tee-perl \
|
||||
libhtml-parser-perl \
|
||||
libjson-webtoken-perl \
|
||||
@ -41,20 +72,36 @@ RUN apt-get update \
|
||||
libunicode-string-perl \
|
||||
liburi-perl \
|
||||
libwww-perl \
|
||||
libio-socket-inet6-perl \
|
||||
procps \
|
||||
wget \
|
||||
make \
|
||||
cpanminus \
|
||||
lsof \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN wget -N https://imapsync.lamiral.info/imapsync \
|
||||
&& cp imapsync /usr/bin/imapsync \
|
||||
&& chmod +x /usr/bin/imapsync
|
||||
RUN set -xe \
|
||||
&& pwd \
|
||||
&& wget -N https://imapsync.lamiral.info/imapsync \
|
||||
https://imapsync.lamiral.info/prerequisites_imapsync \
|
||||
&& mv imapsync /usr/bin/imapsync \
|
||||
&& chmod +x /usr/bin/imapsync /usr/bin/imapsync_local # just_a_comment_to_force_update 2019_11_26_12_58_34
|
||||
|
||||
USER nobody
|
||||
|
||||
USER nobody:nogroup
|
||||
|
||||
ENV HOME /var/tmp/
|
||||
|
||||
WORKDIR /var/tmp/
|
||||
|
||||
STOPSIGNAL SIGINT
|
||||
|
||||
CMD ["/usr/bin/imapsync"]
|
||||
|
||||
# End of Dockerfile
|
||||
#
|
||||
# End of imapsync Dockerfile
|
||||
|
||||
|
||||
|
||||
|
||||
=======================================================================
|
||||
=======================================================================
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.FreeBSD.txt,v 1.10 2018/07/03 04:29:11 gilles Exp gilles $
|
||||
# $Id: INSTALL.FreeBSD.txt,v 1.11 2019/11/28 14:38:42 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -30,6 +30,7 @@ install also:
|
||||
p5-Regexp-Common
|
||||
p5-Test-MockObject
|
||||
p5-CGI
|
||||
p5-Encode-IMAPUTF7
|
||||
|
||||
Call to FreeBSD developer: It's also the new dependencies to add
|
||||
for next the imapsync package 1.882
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.OnlineUI.txt,v 1.30 2019/03/06 17:36:50 gilles Exp gilles $
|
||||
# $Id: INSTALL.OnlineUI.txt,v 1.32 2019/11/28 14:42:17 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -9,38 +9,43 @@ https://imapsync.lamiral.info/INSTALL.d/INSTALL.OnlineUI.txt
|
||||
Installing imapsync online
|
||||
=======================================================================
|
||||
|
||||
Please consider this as relatively new and experimental.
|
||||
Please consider this as relatively experimental.
|
||||
However, to a certain extent, I'm now confident with /X
|
||||
since the /X service is up and running quite well since January 2017.
|
||||
|
||||
=======================================================================
|
||||
Hardware consideration
|
||||
|
||||
|
||||
RAM used per imapsync process, mean value: 230 MB.
|
||||
Average_bandwidth_rate: 345 KiB/s ~ 2.8 Mbps.
|
||||
Load mean: 0.8 on a CPU 4 cores "Intel(R) i5-2320 3.00GHz K8-class"
|
||||
|
||||
|
||||
|
||||
|
||||
=======================================================================
|
||||
Installation
|
||||
|
||||
You have to be a little familiar with what a CGI script is
|
||||
and how to activate a CGI script on the Apache
|
||||
HTTP server, or any other HTTP server. Linux is also a
|
||||
preferred platform.
|
||||
preferred platform (I run /X service on Linux and FreeBSD).
|
||||
|
||||
I haven't tested yet this visual interface on Windows nor Mac,
|
||||
feedback is welcome from successes or failures on those platforms.
|
||||
Like imapsync is written, it should fail on Windows because of
|
||||
some hard coded Unix paths.
|
||||
I have tested yet this visual interface on Mac. It works
|
||||
but for now it demands some skills few Mac users have.
|
||||
|
||||
I have tested this visual interface on Windows,
|
||||
it fails on Windows because of some hard coded Unix paths.
|
||||
I'm working on it to be Windows ok but it's not done yet (october 2019).
|
||||
|
||||
Some users have successfully installed a /X visual interface
|
||||
on Windows using a Linux VM machine.
|
||||
|
||||
The web visual user interface frontend /X is compounded in four
|
||||
files: a html5 file, a css file, a javascript file and
|
||||
a logo image:
|
||||
|
||||
* https://i005.lamiral.info/X/imapsync_form.html
|
||||
* https://i005.lamiral.info/X/imapsync_form_extra.html
|
||||
* https://i005.lamiral.info/X/imapsync_form.css
|
||||
* https://i005.lamiral.info/X/imapsync_form.js
|
||||
* https://i005.lamiral.info/X/logo_imapsync_Xn.png
|
||||
@ -54,11 +59,11 @@ with wget.
|
||||
Those four files can be put anywhere on a web server,
|
||||
as long as they stand in the same directory. If you
|
||||
want to put them in different directories, just change
|
||||
the content of imapsync_form.html to reflect the change,
|
||||
the content of imapsync_form_extra.html to reflect the change,
|
||||
ie, change the two lines referencing imapsync_form.css and imapsync_form.js
|
||||
href="imapsync_form.css" (near the beginning of imapsync_form.html)
|
||||
src="imapsync_form.js" (near the end of imapsync_form.html)
|
||||
I let you changing the image logo as an exercise.
|
||||
href="imapsync_form.css" (near the beginning of imapsync_form_extra.html)
|
||||
src="imapsync_form.js" (near the end of imapsync_form_extra.html)
|
||||
I let you changing the image logo as an exercise, it's safe if you fail.
|
||||
|
||||
The actual imap syncing work is done by imapsync acting as a CGI,
|
||||
the visual interface is only there to give imapsync the parameters
|
||||
@ -78,7 +83,7 @@ If it is under release 4.08 (2014-10-18) then upgrade it with
|
||||
cpanm CGI
|
||||
|
||||
It is a good thing to remove the old one if it was installed
|
||||
by a distribution package, I let you this part as an exercise.
|
||||
by a distribution package, I let you this part as an exercise too.
|
||||
|
||||
To check and fix the Perl modules dependencies, run:
|
||||
|
||||
@ -88,20 +93,21 @@ To check and fix the Perl modules dependencies, run:
|
||||
|
||||
In order to make imapsync work as a cgi, there is two conditions.
|
||||
First, imapsync has to work by itself on the web host.
|
||||
|
||||
If imapsync doesn't work by itself, as a command line,
|
||||
then it won't work as a cgi.
|
||||
Second, imapsync has to work by itself on the web host using
|
||||
the Unix user running the web server.
|
||||
Detailed examples to verify that will be provided further
|
||||
in this document.
|
||||
|
||||
The imapsync_form.html file in action calls the CGI location
|
||||
Second, imapsync has to work by itself on the web host using
|
||||
the Unix user running the web server. Detailed examples to
|
||||
verify that will be provided further in this document.
|
||||
|
||||
The imapsync_form_extra.html file in action calls the CGI location
|
||||
/cgi-bin/imapsync
|
||||
which has to be imapsync itself, the file script (not the directory).
|
||||
|
||||
The very latest and relatively stable imapsync is at
|
||||
https://imapsync.lamiral.info/imapsync
|
||||
It is the program file used verbatim for the service given at
|
||||
This file is the program file used verbatim for the service given at
|
||||
https://i005.lamiral.info/X/
|
||||
|
||||
Copy the three files imapsync_form.* on a directory that is exported
|
||||
@ -111,9 +117,14 @@ allowing CGIs and you'll have your own imapsync visual interface
|
||||
and service. The cgi-bin/ directory is usually outside the
|
||||
hierarchy exported to anybody by the HTTP server.
|
||||
|
||||
Now that I have explained the general context for any system,
|
||||
I'll describe concrete examples on several systems,
|
||||
Debian/Ubuntu and Centos. Feedbacks show that the Centos
|
||||
process is easier in case you know just a little of the
|
||||
linux distributions.
|
||||
|
||||
|
||||
Concrete example on a Debian server with Apache:
|
||||
=============================================================================
|
||||
A) Concrete example on a Debian server with Apache:
|
||||
|
||||
Imapsync script place on the server disk:
|
||||
/usr/lib/cgi-bin/imapsync
|
||||
@ -165,18 +176,18 @@ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
|
||||
|
||||
The UI front-end file place on the server disk in
|
||||
this example is
|
||||
/var/www/html/X/imapsync_form.html
|
||||
/var/www/html/X/imapsync_form_extra.html
|
||||
but it can be placed it anywhere on disk, the important
|
||||
thing is that it has to be served by the web server.
|
||||
|
||||
mkdir /var/www/html/X/
|
||||
cd /var/www/html/X/
|
||||
wget -N \
|
||||
https://i005.lamiral.info/X/imapsync_form.html \
|
||||
https://i005.lamiral.info/X/imapsync_form_extra.html \
|
||||
https://i005.lamiral.info/X/imapsync_form.css \
|
||||
https://i005.lamiral.info/X/imapsync_form.js \
|
||||
https://i005.lamiral.info/X/logo_imapsync_Xn.png
|
||||
ln -s imapsync_form.html index.html
|
||||
ln -s imapsync_form_extra.html index.html
|
||||
|
||||
The imapsync process working directory in cgi mode is
|
||||
/var/tmp/imapsync_cgi/
|
||||
@ -186,23 +197,23 @@ In this directory will go the log files and
|
||||
the pid files.
|
||||
|
||||
Check
|
||||
http://yourhost/X/imapsync_form.html
|
||||
http://yourhost/X/imapsync_form_extra.html
|
||||
or the safer
|
||||
https://yourhost/X/imapsync_form.html
|
||||
https://yourhost/X/imapsync_form_extra.html
|
||||
|
||||
That's all for installing a /X service on Debian.
|
||||
|
||||
|
||||
Example on a Centos 7 server with httpd Apache:
|
||||
=============================================================================
|
||||
B) Concrete example on a Centos 7 server with httpd Apache:
|
||||
|
||||
mkdir /var/www/html/X/
|
||||
cd /var/www/html/X/
|
||||
wget -N \
|
||||
https://i005.lamiral.info/X/imapsync_form.html \
|
||||
https://i005.lamiral.info/X/imapsync_form_extra.html \
|
||||
https://i005.lamiral.info/X/imapsync_form.css \
|
||||
https://i005.lamiral.info/X/imapsync_form.js \
|
||||
https://i005.lamiral.info/X/logo_imapsync_Xn.png
|
||||
ln -s imapsync_form.html index.html
|
||||
ln -s imapsync_form_extra.html index.html
|
||||
|
||||
cd
|
||||
wget -N https://imapsync.lamiral.info/imapsync
|
||||
@ -217,9 +228,9 @@ Example on a Centos 7 server with httpd Apache:
|
||||
|
||||
|
||||
Check
|
||||
http://yourhost/X/imapsync_form.html
|
||||
http://yourhost/X/imapsync_form_extra.html
|
||||
or the safer
|
||||
https://yourhost/X/imapsync_form.html
|
||||
https://yourhost/X/imapsync_form_extra.html
|
||||
|
||||
That's all for installing a /X service on Centos 7.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: INSTALL.Ubuntu.txt,v 1.15 2018/11/20 10:28:05 gilles Exp gilles $
|
||||
# $Id: INSTALL.Ubuntu.txt,v 1.17 2019/11/28 14:35:43 gilles Exp gilles $
|
||||
|
||||
This documentation is also located online at
|
||||
https://imapsync.lamiral.info/INSTALL.d/
|
||||
@ -21,7 +21,9 @@ libcrypt-ssleay-perl \
|
||||
libdata-uniqid-perl \
|
||||
libdigest-hmac-perl \
|
||||
libdist-checkconflicts-perl \
|
||||
libencode-imaputf7-perl \
|
||||
libfile-copy-recursive-perl \
|
||||
libfile-tail-perl \
|
||||
libio-compress-perl \
|
||||
libio-socket-inet6-perl \
|
||||
libio-socket-ssl-perl \
|
||||
|
@ -10,26 +10,42 @@ imapsync_docker_timestamp_dockerfile() {
|
||||
|
||||
echo imapsync_docker_build
|
||||
imapsync_docker_build() {
|
||||
docker build -t gilleslamiral/imapsync .
|
||||
docker images
|
||||
docker build -t gilleslamiral/imapsync . \
|
||||
&& imapsync_docker_add_tag_version && echo Build SUCCEEDED || echo Build FAILED
|
||||
|
||||
echo
|
||||
#docker run gilleslamiral/imapsync imapsync --testslive
|
||||
#docker run gilleslamiral/imapsync imapsync --testslive6
|
||||
# docker run gilleslamiral/imapsync imapsync --testslive6 --nossl2
|
||||
}
|
||||
|
||||
echo imapsync_docker_add_tag_version
|
||||
imapsync_docker_add_tag_version() {
|
||||
docker images gilleslamiral/imapsync
|
||||
echo
|
||||
version=`docker run gilleslamiral/imapsync imapsync --version`
|
||||
echo $version
|
||||
docker tag gilleslamiral/imapsync:latest gilleslamiral/imapsync:$version
|
||||
docker images gilleslamiral/imapsync
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo imapsync_docker_testslive
|
||||
imapsync_docker_testslive() {
|
||||
echo docker run gilleslamiral/imapsync imapsync --testslive
|
||||
docker run gilleslamiral/imapsync imapsync --testslive
|
||||
}
|
||||
|
||||
echo imapsync_docker_testslive6
|
||||
imapsync_docker_testslive6() {
|
||||
echo docker run gilleslamiral/imapsync imapsync --testslive6 --ssl1 --ssl2
|
||||
docker run gilleslamiral/imapsync imapsync --testslive6 --ssl1 --ssl2
|
||||
}
|
||||
|
||||
echo imapsync_docker_tests
|
||||
imapsync_docker_tests() {
|
||||
echo docker run gilleslamiral/imapsync imapsync --tests
|
||||
docker run gilleslamiral/imapsync imapsync --tests
|
||||
}
|
||||
|
||||
@ -39,6 +55,12 @@ docker_delete_all_images() {
|
||||
docker rmi `docker images -q`
|
||||
}
|
||||
|
||||
echo docker_system_prune
|
||||
docker_system_prune()
|
||||
{
|
||||
docker system prune
|
||||
}
|
||||
|
||||
echo docker_delete_dandling_images
|
||||
docker_delete_dandling_images() {
|
||||
docker images
|
||||
@ -59,8 +81,15 @@ imapsync_docker_rebuild_from_scratch() {
|
||||
|
||||
echo imapsync_docker_upload
|
||||
imapsync_docker_upload() {
|
||||
docker login --username=gilleslamiral --password=`cat $HOME/var/pass/secret.docker` \
|
||||
&& docker push gilleslamiral/imapsync
|
||||
# upload only after successful tests
|
||||
set -x \
|
||||
&& imapsync_docker_testslive \
|
||||
&& imapsync_docker_tests \
|
||||
&& docker run gilleslamiral/imapsync true \
|
||||
&& docker login --username=gilleslamiral --password=`cat $HOME/var/pass/secret.docker` \
|
||||
&& docker push gilleslamiral/imapsync:latest \
|
||||
&& set +x && echo imapsync push SUCCEEDED || echo imapsync push FAILED
|
||||
set +x
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id: prerequisites_imapsync,v 1.32 2019/05/27 18:52:23 gilles Exp gilles $
|
||||
# $Id: prerequisites_imapsync,v 1.35 2019/11/27 15:58:46 gilles Exp gilles $
|
||||
|
||||
MODULES_MANDATORY='
|
||||
File::Tail
|
||||
App::cpanminus
|
||||
Authen::NTLM
|
||||
CGI
|
||||
@ -15,8 +14,11 @@ Digest::HMAC
|
||||
Digest::HMAC_MD5
|
||||
Digest::MD5
|
||||
Dist::CheckConflicts
|
||||
Encode
|
||||
Encode::Byte
|
||||
Encode::IMAPUTF7
|
||||
File::Copy::Recursive
|
||||
File::Tail
|
||||
IO::Socket::INET
|
||||
IO::Socket::INET6
|
||||
IO::Socket::SSL
|
||||
@ -27,6 +29,7 @@ JSON::WebToken::Crypt::RSA
|
||||
HTML::Entities
|
||||
LWP::UserAgent
|
||||
Mail::IMAPClient
|
||||
MIME::Base64
|
||||
Module::Implementation
|
||||
Module::Runtime
|
||||
Module::ScanDeps
|
||||
@ -47,6 +50,7 @@ Test::More
|
||||
Test::Pod
|
||||
Test::Requires
|
||||
Test::Deep
|
||||
Text::ParseWords
|
||||
Try::Tiny
|
||||
Unicode::String
|
||||
URI::Escape
|
||||
@ -128,7 +132,7 @@ search_modules_any() {
|
||||
}
|
||||
|
||||
# Debian, Ubuntu & Co
|
||||
apt-file -h > /dev/null 2>&1 && {
|
||||
apt-cache -h > /dev/null 2>&1 && {
|
||||
search_modules_apt "$@"
|
||||
return
|
||||
}
|
||||
@ -212,7 +216,12 @@ search_modules_apt() {
|
||||
echo "==== Searching deb package name for $M with: apt-file search /$F"
|
||||
#echo apt-file search /$F
|
||||
echo
|
||||
apt-file search /$F
|
||||
if apt-file -h > /dev/null 2>&1
|
||||
then
|
||||
apt-file search /$F
|
||||
else
|
||||
echo "apt-file is not installed. Suggestion: apt-get install apt-file; apt-file update"
|
||||
fi
|
||||
echo
|
||||
echo "==== Searching deb package name for $M with: apt-cache search $M"
|
||||
#apt-cache search "$M"
|
||||
@ -259,7 +268,7 @@ test_unix() {
|
||||
|
||||
test_unix
|
||||
#exit
|
||||
test_perl || exit
|
||||
test_perl || exit 1
|
||||
test_make || exit
|
||||
test_mandatory_modules
|
||||
list_to_install
|
||||
@ -268,6 +277,13 @@ EXIT=$?
|
||||
# Help the user to install missing modules
|
||||
search_modules_any $LIST_TO_INSTALL
|
||||
|
||||
test "$1" = "MODULES_MANDATORY" && search_modules_any $MODULES_MANDATORY
|
||||
if test "$1" = "MODULES_MANDATORY"
|
||||
then
|
||||
search_modules_any $MODULES_MANDATORY
|
||||
elif test -n "$1"
|
||||
then
|
||||
search_modules_any "$@"
|
||||
fi
|
||||
|
||||
test_cpanm
|
||||
exit $EXIT
|
||||
|
237
Makefile
237
Makefile
@ -1,5 +1,5 @@
|
||||
|
||||
# $Id: Makefile,v 1.301 2019/05/28 14:25:35 gilles Exp gilles $
|
||||
# $Id: Makefile,v 1.320 2020/01/03 22:50:27 gilles Exp gilles $
|
||||
|
||||
.PHONY: help usage all doc
|
||||
|
||||
@ -61,7 +61,6 @@ PREFIX ?= /usr
|
||||
DIST_PATH := dist2/
|
||||
VERSION := $(shell perl ./imapsync --version 2>/dev/null || cat VERSION)
|
||||
VERSION_PREVIOUS := $(shell perl ./$(DIST_PATH)/imapsync --version 2>/dev/null || echo ERROR)
|
||||
VERSION_EXE := $(shell cat ./VERSION_EXE)
|
||||
|
||||
IMAPClient_3xx := ./W/Mail-IMAPClient-3.42/lib
|
||||
IMAPClient := $(IMAPClient_3xx)
|
||||
@ -83,19 +82,18 @@ DISTRO_CODE := $(shell lsb_release -c -s || echo Unknown)
|
||||
DISTRO := $(DISTRO_NAME)_$(DISTRO_RELEASE)_$(DISTRO_CODE)
|
||||
|
||||
hello:
|
||||
@echo "$(VERSION)"
|
||||
@echo "$(DIST_NAME)"
|
||||
@echo "$(VERSION_PREVIOUS)"
|
||||
@echo "$(VERSION_EXE)"
|
||||
@echo "$(IMAPClient)"
|
||||
@echo "$(HOSTNAME)"
|
||||
@echo "$(ARCH)"
|
||||
@echo "$(KERNEL)"
|
||||
@echo "$(BIN_NAME)"
|
||||
@echo "$(DISTRO)"
|
||||
@echo "VERSION $(VERSION)"
|
||||
@echo "DIST_NAME $(DIST_NAME)"
|
||||
@echo "VERSION_PREVIOUS $(VERSION_PREVIOUS)"
|
||||
@echo "IMAPClient $(IMAPClient)"
|
||||
@echo "HOSTNAME $(HOSTNAME)"
|
||||
@echo "ARCH $(ARCH)"
|
||||
@echo "KERNEL $(KERNEL)"
|
||||
@echo "BIN_NAME $(BIN_NAME)"
|
||||
@echo "DISTRO $(DISTRO)"
|
||||
|
||||
|
||||
all: doc VERSION biz prereq allcritic bin VERSION_EXE
|
||||
all: doc VERSION biz prereq allcritic bin
|
||||
|
||||
testp :
|
||||
sh INSTALL.d/prerequisites_imapsync
|
||||
@ -106,16 +104,14 @@ ChangeLog: imapsync
|
||||
|
||||
README: imapsync
|
||||
pod2text --loose imapsync > README
|
||||
chmod -x README
|
||||
|
||||
VERSION: imapsync
|
||||
rcsdiff imapsync
|
||||
perl -I./$(IMAPClient) ./imapsync --version > ./VERSION
|
||||
touch -r ./imapsync ./VERSION
|
||||
|
||||
VERSION_EXE: imapsync
|
||||
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/imapsync.exe --version' > ./VERSION_EXE
|
||||
dos2unix ./VERSION_EXE
|
||||
touch -r ./imapsync ./VERSION_EXE
|
||||
|
||||
|
||||
|
||||
doc/GOOD_PRACTICES.html: doc/GOOD_PRACTICES.t2t
|
||||
@ -184,7 +180,7 @@ install: testp W/imapsync.1
|
||||
|
||||
.PHONY: prereq test tests unitests testp testf test3xx testv3 perlcritic allcritic crit compok dev cover tidy nytprof
|
||||
|
||||
dev: test crit cover nytprof bin
|
||||
dev: test functree crit cover nytprof bin
|
||||
|
||||
docker:
|
||||
ssh ks3 'cd docker/imapsync && . memo_docker'
|
||||
@ -193,11 +189,17 @@ docker:
|
||||
|
||||
|
||||
docker_copy_to_ks3:
|
||||
rsync -av imapsync INSTALL.d/Dockerfile INSTALL.d/memo_docker ks3:docker/imapsync/
|
||||
rsync -av imapsync INSTALL.d/Dockerfile INSTALL.d/memo_docker INSTALL.d/prerequisites_imapsync ks3:docker/imapsync/
|
||||
rsync -av RCS/imapsync,v INSTALL.d/RCS/Dockerfile,v INSTALL.d/RCS/memo_docker,v ks3:docker/imapsync/RCS/
|
||||
|
||||
docker_upload_docker_hub:
|
||||
ssh ks3 'cd docker/imapsync && . memo_docker && imapsync_docker_upload'
|
||||
|
||||
functree:
|
||||
perl ./W/learn/function_calls_ppi ./imapsync > W/imapsync_functions_tree_ppi.txt
|
||||
perl ./W/learn/function_calls ./imapsync > W/imapsync_functions_tree.txt
|
||||
|
||||
|
||||
nytprof:
|
||||
sh tests.sh ll_nytprof
|
||||
nytprofhtml
|
||||
@ -315,6 +317,7 @@ W/test_testsdebug.bat:
|
||||
|
||||
|
||||
|
||||
|
||||
.PHONY: W/*.bat examples/*
|
||||
|
||||
|
||||
@ -409,31 +412,46 @@ W/uninstall_module_one.bat:
|
||||
scp W/uninstall_module_one.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
|
||||
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/uninstall_module_one.bat'
|
||||
|
||||
imapsync.exe: imapsync
|
||||
imapsync_32bit.exe: imapsync
|
||||
rcsdiff imapsync
|
||||
ssh Admin@c 'perl -V'
|
||||
(date "+%s"| tr "\n" " "; echo -n "BEGIN " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
(date "+%s"| tr "\n" " "; echo -n "BEGIN 32bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
unix2dos W/build_exe.bat W/test_exe.bat W/install_modules.bat
|
||||
scp imapsync W/build_exe.bat W/test_exe.bat W/install_modules.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
|
||||
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/build_exe.bat'
|
||||
./W/check_winerr build_exe.bat
|
||||
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/test_exe.bat'
|
||||
./W/check_winerr test_exe.bat
|
||||
rm -f imapsync.exe
|
||||
scp Admin@c:'C:/msys/1.0/home/Admin/imapsync/imapsync.exe' .
|
||||
chmod a+r+x imapsync.exe
|
||||
(date "+%s"| tr "\n" " "; echo -n "END " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
rm -f imapsync_32bit.exe
|
||||
scp Admin@c:'C:/msys/1.0/home/Admin/imapsync/imapsync_32bit.exe' .
|
||||
chmod a+r+x imapsync_32bit.exe
|
||||
(date "+%s"| tr "\n" " "; echo -n "END 32bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
|
||||
exe: imapsync
|
||||
(date "+%s"| tr "\n" " "; echo -n "BEGIN " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
32exe: imapsync
|
||||
(date "+%s"| tr "\n" " "; echo -n "BEGIN 32bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
scp imapsync W/build_exe.bat W/install_modules.bat Admin@c:'C:/msys/1.0/home/Admin/imapsync/'
|
||||
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/build_exe.bat'
|
||||
./W/check_winerr build_exe.bat
|
||||
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/imapsync.exe --justbanner'
|
||||
rm -f imapsync.exe
|
||||
scp Admin@c:'C:/msys/1.0/home/Admin/imapsync/imapsync.exe' .
|
||||
chmod a+r+x imapsync.exe
|
||||
(date "+%s"| tr "\n" " "; echo -n "END " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
ssh Admin@c 'C:/msys/1.0/home/Admin/imapsync/imapsync_32bit.exe --justbanner'
|
||||
rm -f imapsync_32bit.exe
|
||||
scp Admin@c:'C:/msys/1.0/home/Admin/imapsync/imapsync_32bit.exe' .
|
||||
chmod a+r+x imapsync_32bit.exe
|
||||
(date "+%s"| tr "\n" " "; echo -n "END 32bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
|
||||
|
||||
|
||||
p24tests:
|
||||
unix2dos W/test_tests.bat
|
||||
scp imapsync W/test_tests.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_tests.bat'
|
||||
./W/check_win64err test_tests.bat
|
||||
|
||||
p24testsdebug:
|
||||
unix2dos W/test_testsdebug.bat
|
||||
scp imapsync W/test_testsdebug.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_testsdebug.bat'
|
||||
./W/check_win64err test_testsdebug.bat
|
||||
|
||||
|
||||
zzz:
|
||||
unix2dos W/build_exe.bat W/install_module_one.bat
|
||||
@ -449,6 +467,11 @@ zzz2:
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_exe_tests.bat'
|
||||
./W/check_win64err test_exe_tests.bat
|
||||
|
||||
W/test_ipv6.bat:
|
||||
unix2dos W/test_ipv6.bat
|
||||
scp W/test_ipv6.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_ipv6.bat'
|
||||
|
||||
W/test4.bat:
|
||||
unix2dos W/test4.bat
|
||||
scp W/test4.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
@ -459,6 +482,43 @@ W/test5.bat:
|
||||
scp W/test5.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test5.bat'
|
||||
|
||||
W/test6.bat:
|
||||
unix2dos W/test6.bat
|
||||
scp W/test6.bat imapsync pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test6.bat'
|
||||
|
||||
W/test_abort.bat:
|
||||
unix2dos W/test_abort.bat
|
||||
scp W/test_abort.bat imapsync pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_abort.bat'
|
||||
|
||||
W/test_tail.bat:
|
||||
unix2dos W/test_tail.bat
|
||||
scp W/test_tail.bat imapsync pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_tail.bat'
|
||||
|
||||
win64sshaccess:
|
||||
ssh 'pc HP DV7'@p24 'perl -V'
|
||||
|
||||
|
||||
win64prepa:
|
||||
ssh 'pc HP DV7'@p24 'perl -V'
|
||||
unix2dos W/build_exe.bat W/test_exe.bat W/install_modules.bat W/install_module_one.bat
|
||||
scp imapsync W/build_exe.bat W/install_modules.bat W/install_module_one.bat \
|
||||
W/test_exe_tests.bat W/test_exe_testsdebug.bat W/test_exe.bat \
|
||||
pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/build_exe.bat'
|
||||
./W/check_win64err build_exe.bat
|
||||
|
||||
win64build:
|
||||
unix2dos W/build_exe.bat W/install_modules.bat
|
||||
scp imapsync W/build_exe.bat W/install_modules.bat pc_HP_DV7_p24:'Desktop/imapsync_build'
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/build_exe.bat'
|
||||
./W/check_win64err build_exe.bat
|
||||
|
||||
imapsync.exe: imapsync_64bit.exe
|
||||
cp imapsync_64bit.exe imapsync.exe
|
||||
|
||||
|
||||
imapsync_64bit.exe: imapsync
|
||||
(date "+%s"| tr "\n" " "; echo -n "BEGIN 64bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
@ -472,24 +532,24 @@ imapsync_64bit.exe: imapsync
|
||||
ssh 'pc HP DV7'@p24 'Desktop/imapsync_build/test_exe.bat'
|
||||
./W/check_win64err test_exe.bat
|
||||
rm -f imapsync_64bit.exe
|
||||
scp pc_HP_DV7_p24:'Desktop/imapsync_build/imapsync.exe' imapsync_64bit.exe
|
||||
scp pc_HP_DV7_p24:'Desktop/imapsync_build/imapsync_64bit.exe' .
|
||||
chmod a+r+x imapsync_64bit.exe
|
||||
(date "+%s"| tr "\n" " "; echo -n "END 64bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
(date "+%s"| tr "\n" " "; echo -n "END 64bit " $(VERSION) ": "; date) >> W/.BUILD_EXE_TIME
|
||||
|
||||
|
||||
zip: dosify_bat
|
||||
rm -rfv ../prepa_zip/imapsync_$(VERSION_EXE)/
|
||||
mkdir -p ../prepa_zip/imapsync_$(VERSION_EXE)/FAQ.d/ ../prepa_zip/imapsync_$(VERSION_EXE)/Cook/
|
||||
cp -av examples/imapsync_example.bat examples/sync_loop_windows.bat examples/file.txt ../prepa_zip/imapsync_$(VERSION_EXE)/
|
||||
cp -av W/build_exe.bat W/install_modules.bat W/test_cook_exe.bat W/test_cook_src.bat imapsync ../prepa_zip/imapsync_$(VERSION_EXE)/Cook/
|
||||
for f in README ; do cp -av $$f ../prepa_zip/imapsync_$(VERSION_EXE)/$$f.txt ; done
|
||||
cp -av FAQ.d/*.txt ../prepa_zip/imapsync_$(VERSION_EXE)/FAQ.d/
|
||||
cp -av imapsync.exe imapsync_64bit.exe README_Windows.txt ../prepa_zip/imapsync_$(VERSION_EXE)/
|
||||
unix2dos ../prepa_zip/imapsync_$(VERSION_EXE)/*.txt
|
||||
cd ../prepa_zip/ && rm -f ./imapsync_$(VERSION_EXE).zip && zip -r ./imapsync_$(VERSION_EXE).zip ./imapsync_$(VERSION_EXE)/
|
||||
scp ../prepa_zip/imapsync_$(VERSION_EXE).zip Admin@c:'C:/msys/1.0/home/Admin/'
|
||||
scp ../prepa_zip/imapsync_$(VERSION_EXE).zip pc_HP_DV7_p24:'Desktop/'
|
||||
cp ../prepa_zip/imapsync_$(VERSION_EXE).zip /fe/imapsync/
|
||||
rm -rfv ../prepa_zip/imapsync_$(VERSION)/
|
||||
mkdir -p ../prepa_zip/imapsync_$(VERSION)/FAQ.d/ ../prepa_zip/imapsync_$(VERSION)/Cook/
|
||||
cp -av examples/imapsync_example.bat examples/sync_loop_windows.bat examples/file.txt ../prepa_zip/imapsync_$(VERSION)/
|
||||
cp -av W/build_exe.bat W/install_modules.bat W/test_cook_exe.bat W/test_cook_src.bat imapsync ../prepa_zip/imapsync_$(VERSION)/Cook/
|
||||
for f in README ; do cp -av $$f ../prepa_zip/imapsync_$(VERSION)/$$f.txt ; done
|
||||
cp -av FAQ.d/*.txt ../prepa_zip/imapsync_$(VERSION)/FAQ.d/
|
||||
cp -av imapsync.exe imapsync_32bit.exe README_Windows.txt ../prepa_zip/imapsync_$(VERSION)/
|
||||
unix2dos ../prepa_zip/imapsync_$(VERSION)/*.txt
|
||||
cd ../prepa_zip/ && rm -f ./imapsync_$(VERSION).zip && zip -r ./imapsync_$(VERSION).zip ./imapsync_$(VERSION)/
|
||||
scp ../prepa_zip/imapsync_$(VERSION).zip Admin@c:'C:/msys/1.0/home/Admin/'
|
||||
scp ../prepa_zip/imapsync_$(VERSION).zip pc_HP_DV7_p24:'Desktop/'
|
||||
cp ../prepa_zip/imapsync_$(VERSION).zip /fe/imapsync/
|
||||
|
||||
|
||||
# C:\Users\mansour\Desktop\imapsync
|
||||
@ -498,6 +558,16 @@ zip: dosify_bat
|
||||
|
||||
mac: imapsync_bin_Darwin
|
||||
|
||||
maccopy:
|
||||
rsync -p -e 'ssh -4 -p 995' imapsync W/build_mac.sh INSTALL.d/prerequisites_imapsync webserver \
|
||||
gilleslamira@gate.polarhome.com:
|
||||
rsync -av -p -e 'ssh -4 -p 995' X/ gilleslamira@gate.polarhome.com:X/
|
||||
|
||||
|
||||
macforce: maccopy
|
||||
ssh -4 -p 995 gilleslamira@gate.polarhome.com 'sh -x build_mac.sh'
|
||||
|
||||
|
||||
imapsync_bin_Darwin: imapsync W/build_mac.sh INSTALL.d/prerequisites_imapsync
|
||||
rcsdiff imapsync
|
||||
rsync -p -e 'ssh -4 -p 995' imapsync W/build_mac.sh INSTALL.d/prerequisites_imapsync gilleslamira@gate.polarhome.com:
|
||||
@ -521,23 +591,28 @@ mactestslive6:
|
||||
ssh -4 -p 995 gilleslamira@gate.polarhome.com '. .bash_profile; perl imapsync --testslive6'
|
||||
|
||||
|
||||
bin: lin mac win win64
|
||||
bin: mac win64 win32
|
||||
|
||||
lin: $(BIN_NAME)
|
||||
|
||||
win: imapsync.exe
|
||||
win: win64 win32 imapsync.exe
|
||||
|
||||
win64: imapsync_64bit.exe
|
||||
|
||||
win32: imapsync_32bit.exe
|
||||
|
||||
|
||||
$(BIN_NAME): imapsync
|
||||
rcsdiff imapsync
|
||||
{ pp -o $(BIN_NAME) -I $(IMAPClient_3xx) \
|
||||
{ pp -x -o $(BIN_NAME) -I $(IMAPClient_3xx) \
|
||||
-M Mail::IMAPClient \
|
||||
-M Net::SSLeay -M IO::Socket -M IO::Socket::INET6 -M IO::Socket::SSL \
|
||||
-M Digest::MD5 -M Digest::HMAC_MD5 -M Term::ReadKey \
|
||||
-M Authen::NTLM -M HTML::Entities -M JSON::WebToken \
|
||||
imapsync ; \
|
||||
} || :
|
||||
}
|
||||
# Maybe add -M Test2::Event::Info \
|
||||
#-M Net::SSLeay -M IO::Socket -M IO::Socket::INET6 -M IO::Socket::SSL \
|
||||
#-M Digest::MD5 -M Digest::HMAC_MD5 -M Term::ReadKey \
|
||||
#-M Authen::NTLM -M HTML::Entities -M JSON::WebToken \
|
||||
#-M Test2::Event -M Test2::Formatter -M Test2::Formatter::TAP \
|
||||
./$(BIN_NAME)
|
||||
./$(BIN_NAME) --tests
|
||||
./$(BIN_NAME) --testslive
|
||||
@ -560,9 +635,8 @@ tarball: cidone
|
||||
|
||||
ci: cidone
|
||||
|
||||
cidone:
|
||||
rcsdiff RCS/*
|
||||
rcsdiff X/cgi_memo X/stat_patterns.txt X/imapsync_form.html X/imapsync_form.js X/imapsync_form.css X/noscript.css
|
||||
cidone: auto_ci
|
||||
rcsdiff X/cgi_memo X/*.txt X/imapsync_form.* X/noscript.css
|
||||
rcsdiff W/*.bat W/*.sh W/*.txt W/*.txt W/*.htaccess
|
||||
cd W && rcsdiff RCS/*
|
||||
rcsdiff doc/*.t2t
|
||||
@ -572,6 +646,7 @@ cidone:
|
||||
cd examples && rcsdiff RCS/*
|
||||
rcsdiff W/tools/backup_old_dist W/tools/gen_README_dist W/tools/validate_html4 W/tools/validate_xml_html5 W/tools/fix_email_for_exchange.py
|
||||
rcsdiff S/*.txt S/*.shtml S/*.html
|
||||
rcsdiff RCS/*
|
||||
|
||||
|
||||
dist: cidone test clean all perlcritic dist_prepa dist_zip README_dist
|
||||
@ -583,7 +658,7 @@ md5:
|
||||
sha:
|
||||
cd $(DIST_PATH)/ && sha512sum *
|
||||
|
||||
.PHONY: moveoldrelease ks2testsdebug ks2tests README_dist
|
||||
.PHONY: moveoldrelease ks2testsdebug ks2tests README_dist docker_pull_count
|
||||
|
||||
moveoldrelease:
|
||||
./W/tools/backup_old_dist $(DIST_PATH)
|
||||
@ -600,22 +675,27 @@ dist_prepa: tarball moveoldrelease
|
||||
|
||||
|
||||
dist_zip: zip
|
||||
cp -a ../prepa_zip/imapsync_$(VERSION_EXE).zip $(DIST_PATH)/
|
||||
cp -a ../prepa_zip/imapsync_$(VERSION).zip $(DIST_PATH)/
|
||||
|
||||
README_dist:
|
||||
sh W/tools/gen_README_dist > $(DIST_PATH)/README.txt
|
||||
unix2dos $(DIST_PATH)/README.txt
|
||||
|
||||
.PHONY: publish upload_ks ks valid_index biz ks2tests_gilles ks2tests_root
|
||||
.PHONY: publish upload_ks ks valid_index biz ks2tests_gilles ks2tests_root auto_ci
|
||||
|
||||
biz: S/imapsync_sold_by_country.txt
|
||||
biz: S/imapsync_sold_by_country.txt docker_pull_count
|
||||
|
||||
auto_ci: docker_pull_count
|
||||
|
||||
docker_pull_count:
|
||||
cd W/ && rcsdiff docker_pull_count.txt || { echo | ci -l docker_pull_count.txt ; }
|
||||
|
||||
S/imapsync_sold_by_country.txt: imapsync
|
||||
cd S/ && /g/bin/imapsync_by_country && echo | ci -l imapsync_sold_by_country.txt
|
||||
|
||||
|
||||
ks:
|
||||
rsync -avHz --delete --exclude imapsync.exe \
|
||||
rsync -avHz --delete --exclude '*.exe' \
|
||||
. gilles@ks.lamiral.info:public_html/imapsync/
|
||||
ssh root@ks.lamiral.info 'apachectl configtest && /etc/init.d/apache2 reload'
|
||||
|
||||
@ -653,6 +733,11 @@ i005tests_root:
|
||||
rsync -P imapsync INSTALL.d/prerequisites_imapsync root@i005.lamiral.info:
|
||||
ssh root@i005.lamiral.info './imapsync --tests'
|
||||
|
||||
i005prerequisites:
|
||||
rsync -P imapsync INSTALL.d/prerequisites_imapsync root@i005.lamiral.info:
|
||||
ssh root@i005.lamiral.info 'sh prerequisites_imapsync'
|
||||
|
||||
|
||||
ks2testslive:
|
||||
rsync -aP imapsync gilles@ks.lamiral.info:public_html/imapsync/imapsync
|
||||
ssh gilles@ks.lamiral.info 'public_html/imapsync/imapsync --testslive'
|
||||
@ -672,13 +757,13 @@ centos:
|
||||
|
||||
PUBLIC = ./ChangeLog ./NOLIMIT ./LICENSE ./CREDITS ./FAQ \
|
||||
./index.shtml ./INSTALL ./README_Windows.txt \
|
||||
./VERSION ./VERSION_EXE ./imapsync \
|
||||
./VERSION ./imapsync \
|
||||
./README ./TODO ./vnstat
|
||||
|
||||
|
||||
ml:
|
||||
rcsdiff W/ml_announce.in
|
||||
m4 -P W/ml_announce.in | mutt -H-
|
||||
rcsdiff W/ml_announce.in.txt
|
||||
m4 -P W/ml_announce.in.txt | mutt -H-
|
||||
mailq
|
||||
|
||||
|
||||
@ -716,9 +801,6 @@ W/.valid.index.shtml: index.shtml
|
||||
|
||||
.PHONY: upload_index upload_FAQ ci_imapsync upload_bin
|
||||
|
||||
upload_bin:
|
||||
rsync -a imapsync.exe imapsync_64bit.exe imapsync_bin_Darwin imapsync_bin_Linux_i686 imapsync ../imapsync_website/
|
||||
rsync -aHvz --delete ../imapsync_website/ root@ks.lamiral.info:/var/www/imapsync/
|
||||
|
||||
upload_index: W/.valid.index.shtml clean_permissions
|
||||
rcsdiff index.shtml README_Windows.txt S/style.css S/*.shtml FAQ.d/*.txt LICENSE CREDITS TODO examples/*.bat examples/*.sh index.shtml INSTALL.d/*.txt
|
||||
@ -737,23 +819,24 @@ ci_imapsync:
|
||||
rcsdiff imapsync
|
||||
|
||||
upload_latest: unitests ci_imapsync bin
|
||||
rsync -a imapsync imapsync_bin_Linux_i686 imapsync_bin_Darwin imapsync.exe imapsync_64bit.exe ./INSTALL.d/prerequisites_imapsync ../imapsync_website/
|
||||
rsync -a imapsync imapsync_bin_Darwin imapsync.exe imapsync_32bit.exe ./INSTALL.d/prerequisites_imapsync ../imapsync_website/
|
||||
rsync -aHvz --delete ../imapsync_website/ root@ks.lamiral.info:/var/www/imapsync/
|
||||
ssh root@ks.lamiral.info 'apachectl configtest && /etc/init.d/apache2 reload'
|
||||
|
||||
|
||||
upload_cgi: unitests ks2tests i005tests_root ci_imapsync
|
||||
rsync -a imapsync ../imapsync_website/
|
||||
rsync -a imapsync ./INSTALL.d/prerequisites_imapsync ../imapsync_website/
|
||||
rsync -aHvz --delete ../imapsync_website/ root@ks.lamiral.info:/var/www/imapsync/
|
||||
rsync -P imapsync root@i005.lamiral.info:/home/www/apache24/cgi-bin/imapsync
|
||||
|
||||
upload_cgi_memo:
|
||||
rsync -av X/cgi_memo X/stat_patterns.txt root@ks2:/var/tmp/imapsync_cgi/
|
||||
rsync -av X/cgi_memo X/stat_patterns.txt root@i005:/var/tmp/imapsync_cgi/
|
||||
dos2unix X/stat_patterns.txt X/server_survey_patterns.txt
|
||||
rsync -av X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt root@ks2:/var/tmp/imapsync_cgi/
|
||||
rsync -av X/cgi_memo X/stat_patterns.txt X/server_survey_patterns.txt root@i005:/var/tmp/imapsync_cgi/
|
||||
|
||||
|
||||
upload_X:
|
||||
./W/tools/validate_xml_html5 X/imapsync_form.html
|
||||
rcsdiff X/imapsync_form.html
|
||||
./W/tools/validate_xml_html5 X/index.html X/imapsync_form.html X/imapsync_form_extra.html
|
||||
rcsdiff X/imapsync_form.html X/imapsync_form_extra.html X/imapsync_form.css X/noscript.css
|
||||
rcsdiff X/imapsync_form.js
|
||||
rsync -av --delete X/ ../imapsync_website/X/
|
||||
rsync -aHvz --delete ../imapsync_website/ root@ks.lamiral.info:/var/www/imapsync/
|
||||
@ -784,3 +867,9 @@ upload_ks: ci tarball
|
||||
ssh root@ks.lamiral.info 'apachectl configtest && /etc/init.d/apache2 reload'
|
||||
|
||||
|
||||
upload_ks5:
|
||||
rsync -aHvz --delete ../imapsync_website/ root@ks5.lamiral.info:/usr/local/www/apache24/data/imapsync/
|
||||
|
||||
|
||||
|
||||
|
||||
|
204
README
204
README
@ -1,11 +1,12 @@
|
||||
NAME
|
||||
|
||||
imapsync - Email IMAP tool for syncing, copying and migrating email
|
||||
mailboxes between two imap servers, one way, and without duplicates.
|
||||
imapsync - Email IMAP tool for syncing, copying, migrating and archiving
|
||||
email mailboxes between two imap servers, one way, and without
|
||||
duplicates.
|
||||
|
||||
VERSION
|
||||
|
||||
This documentation refers to Imapsync $Revision: 1.945 $
|
||||
This documentation refers to Imapsync $Revision: 1.977 $
|
||||
|
||||
USAGE
|
||||
|
||||
@ -52,15 +53,15 @@ DESCRIPTION
|
||||
servers.
|
||||
|
||||
A classical scenario is synchronizing a mailbox B from another mailbox A
|
||||
in case you just want to keep a strict copy of A in B. Strict meaning
|
||||
all messages in A will be in B but no more.
|
||||
where you just want to keep a strict copy of A in B. Strict meaning all
|
||||
messages in A will be in B but no more.
|
||||
|
||||
For this, option --delete2 has to be used, it deletes messages in host2
|
||||
folder B that are not in host1 folder A. If you also need to destroy
|
||||
host2 folders that are not in host1 then use --delete2folders. See also
|
||||
--delete2foldersonly and --delete2foldersbutnot to set up exceptions on
|
||||
folders to destroy (INBOX will never be destroy, it's a mandatory folder
|
||||
in IMAP).
|
||||
folders to destroy. INBOX will never be destroy, it's a mandatory folder
|
||||
in IMAP.
|
||||
|
||||
A different scenario is to delete the messages from the source mailbox
|
||||
after a successful transfer, it can be a good feature when migrating
|
||||
@ -88,11 +89,11 @@ OPTIONS
|
||||
|
||||
usage: imapsync [options]
|
||||
|
||||
Standard options are the six values forming the credentials, three on
|
||||
each sides, needed to log in into the IMAP servers, ie, a host, a
|
||||
username, and a password, two times.
|
||||
The standard options are the six values forming the credentials. Three
|
||||
values on each side are needed in order to log in into the IMAP servers.
|
||||
These six values are a host, a username, and a password, two times.
|
||||
|
||||
Conventions used:
|
||||
Conventions used in the following descriptions of the options:
|
||||
|
||||
str means string
|
||||
int means integer
|
||||
@ -107,7 +108,7 @@ OPTIONS
|
||||
--host1 str : Source or "from" imap server.
|
||||
--port1 int : Port to connect on host1.
|
||||
Optional since default ports are the
|
||||
well known ports 143 or 993.
|
||||
well known ports imap/143 or imaps/993.
|
||||
--user1 str : User to login on host1.
|
||||
--password1 str : Password for the user1.
|
||||
|
||||
@ -120,7 +121,7 @@ OPTIONS
|
||||
Useful to restart a complete run by just reading
|
||||
the command line used in the log,
|
||||
or to debug passwords.
|
||||
It's not a secure practice.
|
||||
It's not a secure practice at all.
|
||||
|
||||
--passfile1 str : Password file for the user1. It must contain the
|
||||
password on the first line. This option avoids showing
|
||||
@ -184,7 +185,7 @@ OPTIONS
|
||||
--folderrec str : Sync this folder recursively.
|
||||
--folderrec str : and this one, etc.
|
||||
|
||||
--folderfirst str : Sync this folder first. --folderfirst "Work"
|
||||
--folderfirst str : Sync this folder first. Ex. --folderfirst "INBOX"
|
||||
--folderfirst str : then this one, etc.
|
||||
--folderlast str : Sync this folder last. --folderlast "[Gmail]/All Mail"
|
||||
--folderlast str : then this one, etc.
|
||||
@ -218,8 +219,8 @@ OPTIONS
|
||||
--regextrans2 options before all others.
|
||||
Add --debug to see what's really going on.
|
||||
|
||||
--subfolder1 str : Syncs the host1 folders hierarchy under str
|
||||
to the root hierarchy of host2.
|
||||
--subfolder1 str : Syncs the host1 folders hierarchy which is under folder
|
||||
str to the root hierarchy of host2.
|
||||
It's the couterpart of a sync done by --subfolder2
|
||||
when doing it in the reverse order.
|
||||
Backup/Restore scenario:
|
||||
@ -239,23 +240,24 @@ OPTIONS
|
||||
usually "INBOX." or "INBOX/" or an empty string "".
|
||||
imapsync guesses the prefix if host1 imap server
|
||||
does not have NAMESPACE capability. So this option
|
||||
should not be used, most of the time.
|
||||
should not be used most of the time.
|
||||
--prefix2 str : Add prefix to all host2 folders. See --prefix1
|
||||
|
||||
--sep1 str : Host1 separator. This option should not be used,
|
||||
--sep1 str : Host1 separator. This option should not be used
|
||||
most of the time.
|
||||
Imapsync gets the separator from the server itself,
|
||||
by using NAMESPACE, or it tries to guess it
|
||||
from the folders listing (it counts
|
||||
characters / . \\ \ in folder names and choose the
|
||||
more frequent, or finally / if nothing is found.
|
||||
--sep2 str : Host2 separator.
|
||||
--sep2 str : Host2 separator. See --sep1
|
||||
|
||||
--regextrans2 reg : Apply the whole regex to each destination folders.
|
||||
--regextrans2 reg : and this one. etc.
|
||||
When you play with the --regextrans2 option, first
|
||||
add also the safe options --dry --justfolders
|
||||
Then, when happy, remove --dry, remove --justfolders.
|
||||
Then, when happy, remove --dry for a run, then
|
||||
remove --justfolders for the next ones.
|
||||
Have in mind that --regextrans2 is applied after
|
||||
the automatic prefix and separator inversion.
|
||||
For examples see:
|
||||
@ -288,6 +290,18 @@ OPTIONS
|
||||
--logfile str : Change the default log filename (can be dirname/filename).
|
||||
--logdir str : Change the default log directory. Default is LOG_imapsync/
|
||||
|
||||
The default logfile name is for example
|
||||
|
||||
LOG_imapsync/2019_12_22_23_57_59_532_user1_user2.txt
|
||||
|
||||
where:
|
||||
|
||||
2019_12_22_23_57_59_532 is nearly the date of the start
|
||||
YYYY_MM_DD_HH_MM_SS_mmm
|
||||
year_month_day_hour_minute_seconde_millisecond
|
||||
|
||||
and user1 user2 are the --user1 --user2 values.
|
||||
|
||||
OPTIONS/messages
|
||||
|
||||
--skipmess reg : Skips messages matching the regex.
|
||||
@ -295,6 +309,15 @@ OPTIONS
|
||||
--skipmess is applied before --regexmess
|
||||
--skipmess reg : or this one, etc.
|
||||
|
||||
--skipcrossduplicates : Avoid copying messages that are already copied
|
||||
in another folder, good from Gmail to X when
|
||||
X is not also Gmail.
|
||||
Activated with --gmail1 unless --noskipcrossduplicates
|
||||
|
||||
--debugcrossduplicates : Prints which messages (UIDs) are skipped with
|
||||
--skipcrossduplicates (and in what other folders
|
||||
they are).
|
||||
|
||||
--pipemess cmd : Apply this cmd command to each message content
|
||||
before the copy.
|
||||
--pipemess cmd : and this one, etc.
|
||||
@ -312,6 +335,23 @@ OPTIONS
|
||||
Example: 's/\000/ /g' # to replace null by space.
|
||||
--regexmess reg : and this one, etc.
|
||||
|
||||
OPTIONS/labels
|
||||
|
||||
Gmail present labels as folders in imap. Imapsync can accelerate the
|
||||
sync by syncing X-GM-LABELS, it will avoid to transfer messages when
|
||||
they are already on host2.
|
||||
|
||||
--synclabels : Syncs also Gmail labels when a message is copied to host2.
|
||||
Activated by default with --gmail1 --gmail2 unless
|
||||
--nosynclabels is added.
|
||||
|
||||
--resynclabels : Resyncs Gmail labels when a message is already on host2.
|
||||
Activated by default with --gmail1 --gmail2 unless
|
||||
--noresynclabels is added.
|
||||
|
||||
For Gmail syncs, see also:
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Gmail.txt
|
||||
|
||||
OPTIONS/flags
|
||||
|
||||
If you encounter flag problems see also:
|
||||
@ -362,12 +402,15 @@ OPTIONS
|
||||
--delete2folders : Delete folders in host2 that are not in host1 server.
|
||||
For safety, first try it like this (it is safe):
|
||||
--delete2folders --dry --justfolders --nofoldersizes
|
||||
and see what folders will be deleted.
|
||||
|
||||
--delete2foldersonly reg : Deleted only folders matching regex.
|
||||
--delete2foldersonly reg : Delete only folders matching the regex reg.
|
||||
Example: --delete2foldersonly "/^Junk$|^INBOX.Junk$/"
|
||||
This option activates --delete2folders
|
||||
|
||||
--delete2foldersbutnot reg : Do not delete folders matching regex.
|
||||
--delete2foldersbutnot reg : Do not delete folders matching the regex rex.
|
||||
Example: --delete2foldersbutnot "/Tasks$|Contacts$|Foo$/"
|
||||
This option activates --delete2folders
|
||||
|
||||
--noexpunge2 : Do not expunge messages on host2.
|
||||
--nouidexpunge2 : Do not uidexpunge messages on the host2 account
|
||||
@ -393,7 +436,7 @@ OPTIONS
|
||||
see also --minage
|
||||
--minage int : Skip messages newer than int days.
|
||||
final stats (skipped) don't count newer messages
|
||||
You can do (+ are the messages selected):
|
||||
You can do (+ zone are the messages selected):
|
||||
past|----maxage+++++++++++++++>now
|
||||
past|+++++++++++++++minage---->now
|
||||
past|----maxage+++++minage---->now (intersection)
|
||||
@ -401,22 +444,23 @@ OPTIONS
|
||||
|
||||
--search str : Selects only messages returned by this IMAP SEARCH
|
||||
command. Applied on both sides.
|
||||
For a complete of what can be search see
|
||||
For a complete set of what can be search see
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Messages_Selection.txt
|
||||
|
||||
--search1 str : Same as --search but for selecting host1 messages only.
|
||||
--search2 str : Same as --search but for selecting host2 messages only.
|
||||
--search CRIT equals --search1 CRIT --search2 CRIT
|
||||
So --search CRIT equals --search1 CRIT --search2 CRIT
|
||||
|
||||
--maxlinelength int : skip messages with a line length longer than int bytes.
|
||||
RFC 2822 says it must be no more than 1000 bytes.
|
||||
RFC 2822 says it must be no more than 1000 bytes but
|
||||
real life servers and email clients do more.
|
||||
|
||||
|
||||
--useheader str : Use this header to compare messages on both sides.
|
||||
Ex: Message-ID or Subject or Date.
|
||||
--useheader str and this one, etc.
|
||||
|
||||
--usecache : Use cache to speed up the sync.
|
||||
--usecache : Use cache to speed up next syncs. Not set by default.
|
||||
--nousecache : Do not use cache. Caveat: --useuid --nousecache creates
|
||||
duplicates on multiple runs.
|
||||
--useuid : Use UIDs instead of headers as a criterion to recognize
|
||||
@ -426,10 +470,10 @@ OPTIONS
|
||||
OPTIONS/miscellaneous
|
||||
|
||||
--syncacls : Synchronizes acls (Access Control Lists).
|
||||
--nosyncacls : Does not synchronize acls. This is the default.
|
||||
Acls in IMAP are not standardized, be careful
|
||||
since one acl code on one side may signify something
|
||||
else on the other one.
|
||||
--nosyncacls : Does not synchronize acls. This is the default.
|
||||
|
||||
--addheader : When a message has no headers to be identified,
|
||||
--addheader adds a "Message-Id" header,
|
||||
@ -457,17 +501,17 @@ OPTIONS
|
||||
|
||||
OPTIONS/specific
|
||||
|
||||
--gmail1 : sets --host1 to Gmail and options from FAQ.Gmail.txt
|
||||
--gmail2 : sets --host2 to Gmail and options from FAQ.Gmail.txt
|
||||
--gmail1 : sets --host1 to Gmail and other options. See FAQ.Gmail.txt
|
||||
--gmail2 : sets --host2 to Gmail and other options. See FAQ.Gmail.txt
|
||||
|
||||
--office1 : sets --host1 to Office365 options from FAQ.Exchange.txt
|
||||
--office2 : sets --host2 to Office365 options from FAQ.Exchange.txt
|
||||
--office1 : sets --host1 to Office365 and other options. See FAQ.Exchange.txt
|
||||
--office2 : sets --host2 to Office365 and other options. See FAQ.Exchange.txt
|
||||
|
||||
--exchange1 : sets options from FAQ.Exchange.txt, account1 part
|
||||
--exchange2 : sets options from FAQ.Exchange.txt, account2 part
|
||||
--exchange1 : sets options for Exchange. See FAQ.Exchange.txt
|
||||
--exchange2 : sets options for Exchange. See FAQ.Exchange.txt
|
||||
|
||||
--domino1 : sets options from FAQ.Domino.txt, account1 part
|
||||
--domino2 : sets options from FAQ.Domino.txt, account2 part
|
||||
--domino1 : sets options for Domino. See FAQ.Domino.txt
|
||||
--domino2 : sets options for Domino. See FAQ.Domino.txt
|
||||
|
||||
OPTIONS/behavior
|
||||
|
||||
@ -487,7 +531,7 @@ OPTIONS
|
||||
transferred is reached.
|
||||
|
||||
--version : Print only software version.
|
||||
--noreleasecheck : Do not check for new imapsync release
|
||||
--noreleasecheck : Do not check for any new imapsync release.
|
||||
--releasecheck : Check for new imapsync release.
|
||||
it's an http request to
|
||||
http://imapsync.lamiral.info/prj/imapsync/VERSION
|
||||
@ -534,8 +578,9 @@ SECURITY
|
||||
CAPABILITY list of the servers. If TLS is supported then imapsync goes
|
||||
to encryption.
|
||||
|
||||
If the automatic ssl/tls detection fails then imapsync will not protect
|
||||
against sniffing activities on the network, especially for passwords.
|
||||
If the automatic ssl and the tls detections fail then imapsync will not
|
||||
protect against sniffing activities on the network, especially for
|
||||
passwords.
|
||||
|
||||
If you want to force ssl or tls just use --ssl1 --ssl2 or --tls1 --tls2
|
||||
|
||||
@ -545,9 +590,9 @@ SECURITY
|
||||
EXIT STATUS
|
||||
|
||||
Imapsync will exit with a 0 status (return code) if everything went
|
||||
good. Otherwise, it exits with a non-zero status. Here is the list of
|
||||
the exit code values (an integer between 0 and 255), the names reflects
|
||||
their meaning:
|
||||
good. Otherwise, it exits with a non-zero status. That's classical Unix
|
||||
behavior. Here is the list of the exit code values (an integer between 0
|
||||
and 255). The names reflect their meaning:
|
||||
|
||||
EX_OK => 0 ; #/* successful termination */
|
||||
EX_USAGE => 64 ; #/* command line usage error */
|
||||
@ -568,9 +613,9 @@ EXIT STATUS
|
||||
LICENSE AND COPYRIGHT
|
||||
|
||||
Imapsync is free, open, public but not always gratis software cover by
|
||||
the NOLIMIT Public License. See the LICENSE file included in the
|
||||
distribution or just read this simple sentence as it IS the licence
|
||||
text:
|
||||
the NOLIMIT Public License, now called NLPL. See the LICENSE file
|
||||
included in the distribution or just read this simple sentence as it IS
|
||||
the licence text:
|
||||
|
||||
"No limits to do anything with this work and this license."
|
||||
|
||||
@ -584,8 +629,7 @@ AUTHOR
|
||||
|
||||
Gilles LAMIRAL <gilles@lamiral.info>
|
||||
|
||||
Good feedback good is always welcome. Bad feedback is very often
|
||||
welcome.
|
||||
Good feedback is always welcome. Bad feedback is very often welcome.
|
||||
|
||||
Gilles LAMIRAL earns his living by writing, installing, configuring and
|
||||
teaching free, open and often gratis software. Imapsync used to be
|
||||
@ -642,7 +686,7 @@ INSTALL
|
||||
and all Server releases 2000, 2003, 2008 and R2, 2012 and R2, 2016)
|
||||
as a standalone binary software called imapsync.exe,
|
||||
usually launched from a batch file in order to avoid always typing
|
||||
the options.
|
||||
the options. There is also a 64bit binary called imapsync_64bit.exe
|
||||
|
||||
Imapsync works under OS X as a standalone binary
|
||||
software called imapsync_bin_Darwin
|
||||
@ -677,48 +721,46 @@ SIMILAR SOFTWARE
|
||||
See also https://imapsync.lamiral.info/S/external.shtml
|
||||
for a better up to date list.
|
||||
|
||||
Last updated and verified on Thu Apr 11, 2019.
|
||||
Last updated and verified on Sun Dec 8, 2019.
|
||||
|
||||
imapsync : https://github.com/imapsync/imapsync
|
||||
(this is an imapsync copy, sometimes delayed,
|
||||
with --noreleasecheck by default since release 1.592, 2014/05/22)
|
||||
imap_tools : https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/
|
||||
The imap_tools code is now at
|
||||
https://github.com/andrewnimmo/rick-sanders-imap-tools
|
||||
imaputils : https://github.com/mtsatsenko/imaputils (very old imap_tools fork)
|
||||
Doveadm-Sync : https://wiki2.dovecot.org/Tools/Doveadm/Sync ( Dovecot sync tool )
|
||||
davmail : http://davmail.sourceforge.net/
|
||||
offlineimap : http://offlineimap.org/
|
||||
mbsync : http://isync.sourceforge.net/
|
||||
mailsync : http://mailsync.sourceforge.net/
|
||||
mailutil : http://www.washington.edu/imap/ part of the UW IMAP tookit.
|
||||
imaprepl : https://bl0rg.net/software/ http://freecode.com/projects/imap-repl/
|
||||
imapcopy (Pascal): http://www.ardiehl.de/imapcopy/
|
||||
imapcopy (Java) : https://code.google.com/archive/p/imapcopy/
|
||||
imapsize : http://www.broobles.com/imapsize/
|
||||
migrationtool : http://sourceforge.net/projects/migrationtool/
|
||||
imapmigrate : http://sourceforge.net/projects/cyrus-utils/
|
||||
larch : https://github.com/rgrove/larch (derived from wonko_imapsync, good at Gmail)
|
||||
wonko_imapsync : http://wonko.com/article/554 (superseded by larch)
|
||||
pop2imap : http://www.linux-france.org/prj/pop2imap/ (I wrote that too)
|
||||
exchange-away : http://exchange-away.sourceforge.net/
|
||||
SyncBackPro : http://www.2brightsparks.com/syncback/sbpro.html
|
||||
ImapSyncClient : https://github.com/ridaamirini/ImapSyncClient
|
||||
MailStore : https://www.mailstore.com/en/products/mailstore-home/
|
||||
mnIMAPSync : https://github.com/manusa/mnIMAPSync
|
||||
imap-upload : http://imap-upload.sourceforge.net/
|
||||
(a tool for uploading a local mbox file to IMAP4 server)
|
||||
imapsync: https://github.com/imapsync/imapsync (this is an imapsync copy, sometimes delayed, with --noreleasecheck by default since release 1.592, 2014/05/22)
|
||||
imap_tools: https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/. The imap_tools code is now at https://github.com/andrewnimmo/rick-sanders-imap-tools
|
||||
imaputils: https://github.com/mtsatsenko/imaputils (very old imap_tools fork)
|
||||
Doveadm-Sync: https://wiki2.dovecot.org/Tools/Doveadm/Sync ( Dovecot sync tool )
|
||||
davmail: http://davmail.sourceforge.net/
|
||||
offlineimap: http://offlineimap.org/
|
||||
mbsync: http://isync.sourceforge.net/
|
||||
mailsync: http://mailsync.sourceforge.net/
|
||||
mailutil: https://www.washington.edu/imap/ part of the UW IMAP toolkit. (well, seems abandoned now)
|
||||
imaprepl: https://bl0rg.net/software/ http://freecode.com/projects/imap-repl/
|
||||
imapcopy (Pascal): http://www.ardiehl.de/imapcopy/
|
||||
imapcopy (Java): https://code.google.com/archive/p/imapcopy/
|
||||
imapsize: http://www.broobles.com/imapsize/
|
||||
migrationtool: http://sourceforge.net/projects/migrationtool/
|
||||
imapmigrate: http://sourceforge.net/projects/cyrus-utils/
|
||||
larch: https://github.com/rgrove/larch (derived from wonko_imapsync, good at Gmail)
|
||||
wonko_imapsync: http://wonko.com/article/554 (superseded by larch)
|
||||
pop2imap: http://www.linux-france.org/prj/pop2imap/ (I wrote that too)
|
||||
exchange-away: http://exchange-away.sourceforge.net/
|
||||
SyncBackPro: http://www.2brightsparks.com/syncback/sbpro.html
|
||||
ImapSyncClient: https://github.com/ridaamirini/ImapSyncClient
|
||||
MailStore: https://www.mailstore.com/en/products/mailstore-home/
|
||||
mnIMAPSync: https://github.com/manusa/mnIMAPSync
|
||||
imap-upload: http://imap-upload.sourceforge.net/ (A tool for uploading a local mbox file to IMAP4 server)
|
||||
imapbackup: https://github.com/rcarmo/imapbackup (A Python script for incremental backups of IMAP mailboxes)
|
||||
BitRecover email-backup 99 USD, 299 USD https://www.bitrecover.com/email-backup/.
|
||||
ImportExportTools: https://addons.thunderbird.net/en-us/thunderbird/addon/importexporttools/ ImportExportTools for Mozilla Thunderbird by Paolo Kaosmos. ImportExportTools does not do IMAP.
|
||||
|
||||
HISTORY
|
||||
|
||||
I initially wrote imapsync in July 2001 because an enterprise,
|
||||
basystemes, paid me to install a new imap server without losing huge old
|
||||
I initially wrote imapsync in July 2001 because an enterprise, called
|
||||
BaSystemes, paid me to install a new imap server without losing huge old
|
||||
mailboxes located in a far away remote imap server, accessible by an
|
||||
often broken low-bandwidth ISDN link.
|
||||
|
||||
I had to verify every mailbox was well transferred, all folders, all
|
||||
messages, without wasting bandwidth or creating duplicates upon resyncs.
|
||||
The design was made with the beautiful rsync command in mind.
|
||||
The imapsync design was made with the beautiful rsync command in mind.
|
||||
|
||||
Imapsync started its life as a patch of the copy_folder.pl script. The
|
||||
script copy_folder.pl comes from the Mail-IMAPClient-2.1.3 perl module
|
||||
|
204
README.md
204
README.md
@ -17,12 +17,13 @@ If it's too much, then consider a smaller donation:
|
||||
````
|
||||
NAME
|
||||
|
||||
imapsync - Email IMAP tool for syncing, copying and migrating email
|
||||
mailboxes between two imap servers, one way, and without duplicates.
|
||||
imapsync - Email IMAP tool for syncing, copying, migrating and archiving
|
||||
email mailboxes between two imap servers, one way, and without
|
||||
duplicates.
|
||||
|
||||
VERSION
|
||||
|
||||
This documentation refers to Imapsync $Revision: 1.945 $
|
||||
This documentation refers to Imapsync $Revision: 1.977 $
|
||||
|
||||
USAGE
|
||||
|
||||
@ -69,15 +70,15 @@ DESCRIPTION
|
||||
servers.
|
||||
|
||||
A classical scenario is synchronizing a mailbox B from another mailbox A
|
||||
in case you just want to keep a strict copy of A in B. Strict meaning
|
||||
all messages in A will be in B but no more.
|
||||
where you just want to keep a strict copy of A in B. Strict meaning all
|
||||
messages in A will be in B but no more.
|
||||
|
||||
For this, option --delete2 has to be used, it deletes messages in host2
|
||||
folder B that are not in host1 folder A. If you also need to destroy
|
||||
host2 folders that are not in host1 then use --delete2folders. See also
|
||||
--delete2foldersonly and --delete2foldersbutnot to set up exceptions on
|
||||
folders to destroy (INBOX will never be destroy, it's a mandatory folder
|
||||
in IMAP).
|
||||
folders to destroy. INBOX will never be destroy, it's a mandatory folder
|
||||
in IMAP.
|
||||
|
||||
A different scenario is to delete the messages from the source mailbox
|
||||
after a successful transfer, it can be a good feature when migrating
|
||||
@ -105,11 +106,11 @@ OPTIONS
|
||||
|
||||
usage: imapsync [options]
|
||||
|
||||
Standard options are the six values forming the credentials, three on
|
||||
each sides, needed to log in into the IMAP servers, ie, a host, a
|
||||
username, and a password, two times.
|
||||
The standard options are the six values forming the credentials. Three
|
||||
values on each side are needed in order to log in into the IMAP servers.
|
||||
These six values are a host, a username, and a password, two times.
|
||||
|
||||
Conventions used:
|
||||
Conventions used in the following descriptions of the options:
|
||||
|
||||
str means string
|
||||
int means integer
|
||||
@ -124,7 +125,7 @@ OPTIONS
|
||||
--host1 str : Source or "from" imap server.
|
||||
--port1 int : Port to connect on host1.
|
||||
Optional since default ports are the
|
||||
well known ports 143 or 993.
|
||||
well known ports imap/143 or imaps/993.
|
||||
--user1 str : User to login on host1.
|
||||
--password1 str : Password for the user1.
|
||||
|
||||
@ -137,7 +138,7 @@ OPTIONS
|
||||
Useful to restart a complete run by just reading
|
||||
the command line used in the log,
|
||||
or to debug passwords.
|
||||
It's not a secure practice.
|
||||
It's not a secure practice at all.
|
||||
|
||||
--passfile1 str : Password file for the user1. It must contain the
|
||||
password on the first line. This option avoids showing
|
||||
@ -201,7 +202,7 @@ OPTIONS
|
||||
--folderrec str : Sync this folder recursively.
|
||||
--folderrec str : and this one, etc.
|
||||
|
||||
--folderfirst str : Sync this folder first. --folderfirst "Work"
|
||||
--folderfirst str : Sync this folder first. Ex. --folderfirst "INBOX"
|
||||
--folderfirst str : then this one, etc.
|
||||
--folderlast str : Sync this folder last. --folderlast "[Gmail]/All Mail"
|
||||
--folderlast str : then this one, etc.
|
||||
@ -235,8 +236,8 @@ OPTIONS
|
||||
--regextrans2 options before all others.
|
||||
Add --debug to see what's really going on.
|
||||
|
||||
--subfolder1 str : Syncs the host1 folders hierarchy under str
|
||||
to the root hierarchy of host2.
|
||||
--subfolder1 str : Syncs the host1 folders hierarchy which is under folder
|
||||
str to the root hierarchy of host2.
|
||||
It's the couterpart of a sync done by --subfolder2
|
||||
when doing it in the reverse order.
|
||||
Backup/Restore scenario:
|
||||
@ -256,23 +257,24 @@ OPTIONS
|
||||
usually "INBOX." or "INBOX/" or an empty string "".
|
||||
imapsync guesses the prefix if host1 imap server
|
||||
does not have NAMESPACE capability. So this option
|
||||
should not be used, most of the time.
|
||||
should not be used most of the time.
|
||||
--prefix2 str : Add prefix to all host2 folders. See --prefix1
|
||||
|
||||
--sep1 str : Host1 separator. This option should not be used,
|
||||
--sep1 str : Host1 separator. This option should not be used
|
||||
most of the time.
|
||||
Imapsync gets the separator from the server itself,
|
||||
by using NAMESPACE, or it tries to guess it
|
||||
from the folders listing (it counts
|
||||
characters / . \\ \ in folder names and choose the
|
||||
more frequent, or finally / if nothing is found.
|
||||
--sep2 str : Host2 separator.
|
||||
--sep2 str : Host2 separator. See --sep1
|
||||
|
||||
--regextrans2 reg : Apply the whole regex to each destination folders.
|
||||
--regextrans2 reg : and this one. etc.
|
||||
When you play with the --regextrans2 option, first
|
||||
add also the safe options --dry --justfolders
|
||||
Then, when happy, remove --dry, remove --justfolders.
|
||||
Then, when happy, remove --dry for a run, then
|
||||
remove --justfolders for the next ones.
|
||||
Have in mind that --regextrans2 is applied after
|
||||
the automatic prefix and separator inversion.
|
||||
For examples see:
|
||||
@ -305,6 +307,18 @@ OPTIONS
|
||||
--logfile str : Change the default log filename (can be dirname/filename).
|
||||
--logdir str : Change the default log directory. Default is LOG_imapsync/
|
||||
|
||||
The default logfile name is for example
|
||||
|
||||
LOG_imapsync/2019_12_22_23_57_59_532_user1_user2.txt
|
||||
|
||||
where:
|
||||
|
||||
2019_12_22_23_57_59_532 is nearly the date of the start
|
||||
YYYY_MM_DD_HH_MM_SS_mmm
|
||||
year_month_day_hour_minute_seconde_millisecond
|
||||
|
||||
and user1 user2 are the --user1 --user2 values.
|
||||
|
||||
OPTIONS/messages
|
||||
|
||||
--skipmess reg : Skips messages matching the regex.
|
||||
@ -312,6 +326,15 @@ OPTIONS
|
||||
--skipmess is applied before --regexmess
|
||||
--skipmess reg : or this one, etc.
|
||||
|
||||
--skipcrossduplicates : Avoid copying messages that are already copied
|
||||
in another folder, good from Gmail to X when
|
||||
X is not also Gmail.
|
||||
Activated with --gmail1 unless --noskipcrossduplicates
|
||||
|
||||
--debugcrossduplicates : Prints which messages (UIDs) are skipped with
|
||||
--skipcrossduplicates (and in what other folders
|
||||
they are).
|
||||
|
||||
--pipemess cmd : Apply this cmd command to each message content
|
||||
before the copy.
|
||||
--pipemess cmd : and this one, etc.
|
||||
@ -329,6 +352,23 @@ OPTIONS
|
||||
Example: 's/\000/ /g' # to replace null by space.
|
||||
--regexmess reg : and this one, etc.
|
||||
|
||||
OPTIONS/labels
|
||||
|
||||
Gmail present labels as folders in imap. Imapsync can accelerate the
|
||||
sync by syncing X-GM-LABELS, it will avoid to transfer messages when
|
||||
they are already on host2.
|
||||
|
||||
--synclabels : Syncs also Gmail labels when a message is copied to host2.
|
||||
Activated by default with --gmail1 --gmail2 unless
|
||||
--nosynclabels is added.
|
||||
|
||||
--resynclabels : Resyncs Gmail labels when a message is already on host2.
|
||||
Activated by default with --gmail1 --gmail2 unless
|
||||
--noresynclabels is added.
|
||||
|
||||
For Gmail syncs, see also:
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Gmail.txt
|
||||
|
||||
OPTIONS/flags
|
||||
|
||||
If you encounter flag problems see also:
|
||||
@ -379,12 +419,15 @@ OPTIONS
|
||||
--delete2folders : Delete folders in host2 that are not in host1 server.
|
||||
For safety, first try it like this (it is safe):
|
||||
--delete2folders --dry --justfolders --nofoldersizes
|
||||
and see what folders will be deleted.
|
||||
|
||||
--delete2foldersonly reg : Deleted only folders matching regex.
|
||||
--delete2foldersonly reg : Delete only folders matching the regex reg.
|
||||
Example: --delete2foldersonly "/^Junk$|^INBOX.Junk$/"
|
||||
This option activates --delete2folders
|
||||
|
||||
--delete2foldersbutnot reg : Do not delete folders matching regex.
|
||||
--delete2foldersbutnot reg : Do not delete folders matching the regex rex.
|
||||
Example: --delete2foldersbutnot "/Tasks$|Contacts$|Foo$/"
|
||||
This option activates --delete2folders
|
||||
|
||||
--noexpunge2 : Do not expunge messages on host2.
|
||||
--nouidexpunge2 : Do not uidexpunge messages on the host2 account
|
||||
@ -410,7 +453,7 @@ OPTIONS
|
||||
see also --minage
|
||||
--minage int : Skip messages newer than int days.
|
||||
final stats (skipped) don't count newer messages
|
||||
You can do (+ are the messages selected):
|
||||
You can do (+ zone are the messages selected):
|
||||
past|----maxage+++++++++++++++>now
|
||||
past|+++++++++++++++minage---->now
|
||||
past|----maxage+++++minage---->now (intersection)
|
||||
@ -418,22 +461,23 @@ OPTIONS
|
||||
|
||||
--search str : Selects only messages returned by this IMAP SEARCH
|
||||
command. Applied on both sides.
|
||||
For a complete of what can be search see
|
||||
For a complete set of what can be search see
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Messages_Selection.txt
|
||||
|
||||
--search1 str : Same as --search but for selecting host1 messages only.
|
||||
--search2 str : Same as --search but for selecting host2 messages only.
|
||||
--search CRIT equals --search1 CRIT --search2 CRIT
|
||||
So --search CRIT equals --search1 CRIT --search2 CRIT
|
||||
|
||||
--maxlinelength int : skip messages with a line length longer than int bytes.
|
||||
RFC 2822 says it must be no more than 1000 bytes.
|
||||
RFC 2822 says it must be no more than 1000 bytes but
|
||||
real life servers and email clients do more.
|
||||
|
||||
|
||||
--useheader str : Use this header to compare messages on both sides.
|
||||
Ex: Message-ID or Subject or Date.
|
||||
--useheader str and this one, etc.
|
||||
|
||||
--usecache : Use cache to speed up the sync.
|
||||
--usecache : Use cache to speed up next syncs. Not set by default.
|
||||
--nousecache : Do not use cache. Caveat: --useuid --nousecache creates
|
||||
duplicates on multiple runs.
|
||||
--useuid : Use UIDs instead of headers as a criterion to recognize
|
||||
@ -443,10 +487,10 @@ OPTIONS
|
||||
OPTIONS/miscellaneous
|
||||
|
||||
--syncacls : Synchronizes acls (Access Control Lists).
|
||||
--nosyncacls : Does not synchronize acls. This is the default.
|
||||
Acls in IMAP are not standardized, be careful
|
||||
since one acl code on one side may signify something
|
||||
else on the other one.
|
||||
--nosyncacls : Does not synchronize acls. This is the default.
|
||||
|
||||
--addheader : When a message has no headers to be identified,
|
||||
--addheader adds a "Message-Id" header,
|
||||
@ -474,17 +518,17 @@ OPTIONS
|
||||
|
||||
OPTIONS/specific
|
||||
|
||||
--gmail1 : sets --host1 to Gmail and options from FAQ.Gmail.txt
|
||||
--gmail2 : sets --host2 to Gmail and options from FAQ.Gmail.txt
|
||||
--gmail1 : sets --host1 to Gmail and other options. See FAQ.Gmail.txt
|
||||
--gmail2 : sets --host2 to Gmail and other options. See FAQ.Gmail.txt
|
||||
|
||||
--office1 : sets --host1 to Office365 options from FAQ.Exchange.txt
|
||||
--office2 : sets --host2 to Office365 options from FAQ.Exchange.txt
|
||||
--office1 : sets --host1 to Office365 and other options. See FAQ.Exchange.txt
|
||||
--office2 : sets --host2 to Office365 and other options. See FAQ.Exchange.txt
|
||||
|
||||
--exchange1 : sets options from FAQ.Exchange.txt, account1 part
|
||||
--exchange2 : sets options from FAQ.Exchange.txt, account2 part
|
||||
--exchange1 : sets options for Exchange. See FAQ.Exchange.txt
|
||||
--exchange2 : sets options for Exchange. See FAQ.Exchange.txt
|
||||
|
||||
--domino1 : sets options from FAQ.Domino.txt, account1 part
|
||||
--domino2 : sets options from FAQ.Domino.txt, account2 part
|
||||
--domino1 : sets options for Domino. See FAQ.Domino.txt
|
||||
--domino2 : sets options for Domino. See FAQ.Domino.txt
|
||||
|
||||
OPTIONS/behavior
|
||||
|
||||
@ -504,7 +548,7 @@ OPTIONS
|
||||
transferred is reached.
|
||||
|
||||
--version : Print only software version.
|
||||
--noreleasecheck : Do not check for new imapsync release
|
||||
--noreleasecheck : Do not check for any new imapsync release.
|
||||
--releasecheck : Check for new imapsync release.
|
||||
it's an http request to
|
||||
http://imapsync.lamiral.info/prj/imapsync/VERSION
|
||||
@ -551,8 +595,9 @@ SECURITY
|
||||
CAPABILITY list of the servers. If TLS is supported then imapsync goes
|
||||
to encryption.
|
||||
|
||||
If the automatic ssl/tls detection fails then imapsync will not protect
|
||||
against sniffing activities on the network, especially for passwords.
|
||||
If the automatic ssl and the tls detections fail then imapsync will not
|
||||
protect against sniffing activities on the network, especially for
|
||||
passwords.
|
||||
|
||||
If you want to force ssl or tls just use --ssl1 --ssl2 or --tls1 --tls2
|
||||
|
||||
@ -562,9 +607,9 @@ SECURITY
|
||||
EXIT STATUS
|
||||
|
||||
Imapsync will exit with a 0 status (return code) if everything went
|
||||
good. Otherwise, it exits with a non-zero status. Here is the list of
|
||||
the exit code values (an integer between 0 and 255), the names reflects
|
||||
their meaning:
|
||||
good. Otherwise, it exits with a non-zero status. That's classical Unix
|
||||
behavior. Here is the list of the exit code values (an integer between 0
|
||||
and 255). The names reflect their meaning:
|
||||
|
||||
EX_OK => 0 ; #/* successful termination */
|
||||
EX_USAGE => 64 ; #/* command line usage error */
|
||||
@ -585,9 +630,9 @@ EXIT STATUS
|
||||
LICENSE AND COPYRIGHT
|
||||
|
||||
Imapsync is free, open, public but not always gratis software cover by
|
||||
the NOLIMIT Public License. See the LICENSE file included in the
|
||||
distribution or just read this simple sentence as it IS the licence
|
||||
text:
|
||||
the NOLIMIT Public License, now called NLPL. See the LICENSE file
|
||||
included in the distribution or just read this simple sentence as it IS
|
||||
the licence text:
|
||||
|
||||
"No limits to do anything with this work and this license."
|
||||
|
||||
@ -601,8 +646,7 @@ AUTHOR
|
||||
|
||||
Gilles LAMIRAL <gilles@lamiral.info>
|
||||
|
||||
Good feedback good is always welcome. Bad feedback is very often
|
||||
welcome.
|
||||
Good feedback is always welcome. Bad feedback is very often welcome.
|
||||
|
||||
Gilles LAMIRAL earns his living by writing, installing, configuring and
|
||||
teaching free, open and often gratis software. Imapsync used to be
|
||||
@ -659,7 +703,7 @@ INSTALL
|
||||
and all Server releases 2000, 2003, 2008 and R2, 2012 and R2, 2016)
|
||||
as a standalone binary software called imapsync.exe,
|
||||
usually launched from a batch file in order to avoid always typing
|
||||
the options.
|
||||
the options. There is also a 64bit binary called imapsync_64bit.exe
|
||||
|
||||
Imapsync works under OS X as a standalone binary
|
||||
software called imapsync_bin_Darwin
|
||||
@ -694,48 +738,46 @@ SIMILAR SOFTWARE
|
||||
See also https://imapsync.lamiral.info/S/external.shtml
|
||||
for a better up to date list.
|
||||
|
||||
Last updated and verified on Thu Apr 11, 2019.
|
||||
Last updated and verified on Sun Dec 8, 2019.
|
||||
|
||||
imapsync : https://github.com/imapsync/imapsync
|
||||
(this is an imapsync copy, sometimes delayed,
|
||||
with --noreleasecheck by default since release 1.592, 2014/05/22)
|
||||
imap_tools : https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/
|
||||
The imap_tools code is now at
|
||||
https://github.com/andrewnimmo/rick-sanders-imap-tools
|
||||
imaputils : https://github.com/mtsatsenko/imaputils (very old imap_tools fork)
|
||||
Doveadm-Sync : https://wiki2.dovecot.org/Tools/Doveadm/Sync ( Dovecot sync tool )
|
||||
davmail : http://davmail.sourceforge.net/
|
||||
offlineimap : http://offlineimap.org/
|
||||
mbsync : http://isync.sourceforge.net/
|
||||
mailsync : http://mailsync.sourceforge.net/
|
||||
mailutil : http://www.washington.edu/imap/ part of the UW IMAP tookit.
|
||||
imaprepl : https://bl0rg.net/software/ http://freecode.com/projects/imap-repl/
|
||||
imapcopy (Pascal): http://www.ardiehl.de/imapcopy/
|
||||
imapcopy (Java) : https://code.google.com/archive/p/imapcopy/
|
||||
imapsize : http://www.broobles.com/imapsize/
|
||||
migrationtool : http://sourceforge.net/projects/migrationtool/
|
||||
imapmigrate : http://sourceforge.net/projects/cyrus-utils/
|
||||
larch : https://github.com/rgrove/larch (derived from wonko_imapsync, good at Gmail)
|
||||
wonko_imapsync : http://wonko.com/article/554 (superseded by larch)
|
||||
pop2imap : http://www.linux-france.org/prj/pop2imap/ (I wrote that too)
|
||||
exchange-away : http://exchange-away.sourceforge.net/
|
||||
SyncBackPro : http://www.2brightsparks.com/syncback/sbpro.html
|
||||
ImapSyncClient : https://github.com/ridaamirini/ImapSyncClient
|
||||
MailStore : https://www.mailstore.com/en/products/mailstore-home/
|
||||
mnIMAPSync : https://github.com/manusa/mnIMAPSync
|
||||
imap-upload : http://imap-upload.sourceforge.net/
|
||||
(a tool for uploading a local mbox file to IMAP4 server)
|
||||
imapsync: https://github.com/imapsync/imapsync (this is an imapsync copy, sometimes delayed, with --noreleasecheck by default since release 1.592, 2014/05/22)
|
||||
imap_tools: https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/. The imap_tools code is now at https://github.com/andrewnimmo/rick-sanders-imap-tools
|
||||
imaputils: https://github.com/mtsatsenko/imaputils (very old imap_tools fork)
|
||||
Doveadm-Sync: https://wiki2.dovecot.org/Tools/Doveadm/Sync ( Dovecot sync tool )
|
||||
davmail: http://davmail.sourceforge.net/
|
||||
offlineimap: http://offlineimap.org/
|
||||
mbsync: http://isync.sourceforge.net/
|
||||
mailsync: http://mailsync.sourceforge.net/
|
||||
mailutil: https://www.washington.edu/imap/ part of the UW IMAP toolkit. (well, seems abandoned now)
|
||||
imaprepl: https://bl0rg.net/software/ http://freecode.com/projects/imap-repl/
|
||||
imapcopy (Pascal): http://www.ardiehl.de/imapcopy/
|
||||
imapcopy (Java): https://code.google.com/archive/p/imapcopy/
|
||||
imapsize: http://www.broobles.com/imapsize/
|
||||
migrationtool: http://sourceforge.net/projects/migrationtool/
|
||||
imapmigrate: http://sourceforge.net/projects/cyrus-utils/
|
||||
larch: https://github.com/rgrove/larch (derived from wonko_imapsync, good at Gmail)
|
||||
wonko_imapsync: http://wonko.com/article/554 (superseded by larch)
|
||||
pop2imap: http://www.linux-france.org/prj/pop2imap/ (I wrote that too)
|
||||
exchange-away: http://exchange-away.sourceforge.net/
|
||||
SyncBackPro: http://www.2brightsparks.com/syncback/sbpro.html
|
||||
ImapSyncClient: https://github.com/ridaamirini/ImapSyncClient
|
||||
MailStore: https://www.mailstore.com/en/products/mailstore-home/
|
||||
mnIMAPSync: https://github.com/manusa/mnIMAPSync
|
||||
imap-upload: http://imap-upload.sourceforge.net/ (A tool for uploading a local mbox file to IMAP4 server)
|
||||
imapbackup: https://github.com/rcarmo/imapbackup (A Python script for incremental backups of IMAP mailboxes)
|
||||
BitRecover email-backup 99 USD, 299 USD https://www.bitrecover.com/email-backup/.
|
||||
ImportExportTools: https://addons.thunderbird.net/en-us/thunderbird/addon/importexporttools/ ImportExportTools for Mozilla Thunderbird by Paolo Kaosmos. ImportExportTools does not do IMAP.
|
||||
|
||||
HISTORY
|
||||
|
||||
I initially wrote imapsync in July 2001 because an enterprise,
|
||||
basystemes, paid me to install a new imap server without losing huge old
|
||||
I initially wrote imapsync in July 2001 because an enterprise, called
|
||||
BaSystemes, paid me to install a new imap server without losing huge old
|
||||
mailboxes located in a far away remote imap server, accessible by an
|
||||
often broken low-bandwidth ISDN link.
|
||||
|
||||
I had to verify every mailbox was well transferred, all folders, all
|
||||
messages, without wasting bandwidth or creating duplicates upon resyncs.
|
||||
The design was made with the beautiful rsync command in mind.
|
||||
The imapsync design was made with the beautiful rsync command in mind.
|
||||
|
||||
Imapsync started its life as a patch of the copy_folder.pl script. The
|
||||
script copy_folder.pl comes from the Mail-IMAPClient-2.1.3 perl module
|
||||
|
@ -1,113 +1,157 @@
|
||||
# $Id: README_Windows.txt,v 1.14 2019/06/26 22:32:28 gilles Exp gilles $
|
||||
# $Id: README_Windows.txt,v 1.18 2019/12/11 18:52:16 gilles Exp gilles $
|
||||
#
|
||||
# This is the README_Windows.txt file for imapsync
|
||||
# imapsync : IMAP sync and migrate tool.
|
||||
# imapsync : IMAP syncing and migration tool.
|
||||
|
||||
WINDOWS
|
||||
=======
|
||||
=====================
|
||||
Imapsync on Windows
|
||||
=====================
|
||||
|
||||
There is two ways to install and use imapsync on Windows systems: A) or B).
|
||||
There is two ways to install and use imapsync on Windows systems: A) or B).
|
||||
|
||||
Standard users should take the A) way, the simplest way.
|
||||
Standard users should take the A) way, the simplest way.
|
||||
|
||||
Developers, or powerful users that want to build their own imapsync.exe
|
||||
or modify it, have to consider the B) way, the complex but powerful way.
|
||||
Developers, or powerful users that want to build their own imapsync.exe
|
||||
or modify it, have to consider the B) way, the complex and powerful way.
|
||||
|
||||
---------------
|
||||
A) Simplest way
|
||||
---------------
|
||||
|
||||
A.0) Preamble for visual users looking for a visual tool.
|
||||
|
||||
Imapsync itself is not a visual tool. The visual tool is Notepad
|
||||
or any text editor. Many pure visual users have succeeded using imapsync
|
||||
to transfer their email accounts. Only the ones that tried have succeeded,
|
||||
so don't give up before trying once. Another assumption is that visual
|
||||
users can read. So let's go further.
|
||||
|
||||
A.1) Get imapsync.
|
||||
|
||||
Get imapsync at https://imapsync.lamiral.info/
|
||||
You'll then have access to a zip archive file named imapsync_1.xxx.zip
|
||||
where 1.xxx is the imapsync release number.
|
||||
Get imapsync at https://imapsync.lamiral.info/
|
||||
You'll then have access to a zip archive file named imapsync_1.xxx.zip
|
||||
where 1.xxx is the imapsync release number.
|
||||
|
||||
A.2) Extract the zip file in a folder where you will work with imapsync.
|
||||
|
||||
You can work on the Desktop since the zip file extraction creates
|
||||
a unique folder named imapsync_1.xxx (where 1.xxx is the imapsync
|
||||
release number).
|
||||
You can work on the Desktop since the zip file extraction creates
|
||||
a unique folder named imapsync_1.xxx (where 1.xxx is the imapsync
|
||||
release number).
|
||||
|
||||
A.3) Check the folder
|
||||
|
||||
In the folder extracted imapsync_1.xxx you see 6 files and 2 directories:
|
||||
In the folder extracted imapsync_1.xxx you see 6 files and 2 directories:
|
||||
|
||||
* README_Windows.txt is the current file you are reading.
|
||||
* README.txt is the imapsync general document.
|
||||
* FAQ.d/* FAQs are a good read when something goes wrong.
|
||||
* imapsync_example.bat is a simple batch file example you will copy and edit.
|
||||
* sync_loop_windows.bat is a batch file example for syncing many accounts.
|
||||
* file.txt is an input file example for syncing many accounts.
|
||||
* imapsync.exe is the imapsync 32bit binary. You don't have to run it directly.
|
||||
* imapsync_64bit.exe is the imapsync 64bit binary. You don't have to run it directly.
|
||||
* Cook/ is the directory to build imapsync.exe from its source,
|
||||
* README_Windows.txt is the current file you are reading.
|
||||
* README.txt is the imapsync general document.
|
||||
* FAQ.d/* FAQs are a good read when something goes wrong.
|
||||
* imapsync_example.bat is a simple batch file example you will copy and edit.
|
||||
* sync_loop_windows.bat is a batch file example for syncing many accounts.
|
||||
* file.txt is an input file example for syncing many accounts.
|
||||
* imapsync.exe is the imapsync 64bit binary. You don't have to run it directly.
|
||||
* imapsync_32bit.exe is the imapsync 32bit binary. You don't have to run it directly.
|
||||
* Cook/ is the directory to build imapsync.exe from its source,
|
||||
for the B) way and expert users.
|
||||
|
||||
You can copy or rename the file imapsync_example.bat as you wish,
|
||||
as long as its extension remains ".bat".
|
||||
You can copy or rename the file imapsync_example.bat as you wish,
|
||||
as long as its extension remains ".bat", for example mysync.bat
|
||||
|
||||
On Windows systems .bat extension means "I'm a batch script".
|
||||
It's the same for sync_loop_windows.bat.
|
||||
On Windows systems .bat extension means "I am a batch script".
|
||||
A batch script is a file containing commands, it's a program.
|
||||
Don't be afraid, a program can be simple or at least simple to
|
||||
modify. Think it like a cook recipe.
|
||||
|
||||
The batch scripts have to stay in the same directory than
|
||||
imapsync.exe because of the way they call imapsync.exe.
|
||||
They use ".\imapsync.exe", so let them be in the same directory.
|
||||
The batch scripts have to stay in the same directory than
|
||||
imapsync.exe because of the way they call imapsync.exe.
|
||||
They use ".\imapsync.exe", so let them be in the same directory.
|
||||
|
||||
Or you can change the path .\ to whatever you want if you understand what
|
||||
you are doing (you have to use a pathname from the script point of view).
|
||||
Or you can change the path .\ to whatever you want if you understand what
|
||||
you are doing (you have to use a pathname from the script point of view).
|
||||
|
||||
For the rest of this documentation I assume you copied
|
||||
imapsync_example.bat to a file named imapsync_stuff.bat
|
||||
For the rest of this documentation I assume you copied
|
||||
imapsync_example.bat to a file named imapsync_stuff.bat
|
||||
|
||||
If you don't know how to copy and rename a file then
|
||||
use imapsync_example.bat itself.
|
||||
|
||||
A.4) Edit the batch file
|
||||
|
||||
Edit imapsync_stuff.bat and change the values with yours.
|
||||
In order to edit it you have do a right click on it and select "modify"
|
||||
in the list presented in the small window menu.
|
||||
Notepad or Notepadd++ are very good editors to modify it.
|
||||
Office Word or any powerful text processor are not good for that job,
|
||||
don't use them!
|
||||
Edit the file imapsync_stuff.bat and change the values with yours.
|
||||
In order to edit it you have do a right click on it and select "modify"
|
||||
in the list presented in the small window menu.
|
||||
|
||||
Files FAQ.txt and FAQ.d/* contain many tips and special options sometimes
|
||||
needed by specific imap server softwares like Exchange or Gmail.
|
||||
Notepad or Notepadd++ are very good editors to modify it.
|
||||
|
||||
Office Word or any powerful text processor are not good for that job.
|
||||
Text processors transform files in a special format that
|
||||
are wrong to make them stay a good batch file, so don't use them!
|
||||
|
||||
Files FAQ.txt and FAQ.d/* contain many tips and special options sometimes
|
||||
needed by specific imap server softwares like Exchange or Gmail.
|
||||
Those files are also available online at
|
||||
https://imapsync.lamiral.info/FAQ.d/
|
||||
|
||||
|
||||
A.5) Run the batch file
|
||||
|
||||
To run imapsync with your values just double-click on
|
||||
the batch file imapsync_stuff.bat
|
||||
To run imapsync with your values just double-click on
|
||||
the batch file imapsync_stuff.bat
|
||||
|
||||
There is no need to have administrator privileges to run imapsync.
|
||||
There is no need to have administrator privileges to run imapsync.
|
||||
|
||||
A.6) Loop on A.4) A.5) edit, run, edit, run etc.
|
||||
The run happens in a DOS window.
|
||||
|
||||
Loop the process of editing and running imapsync until
|
||||
you solve all issues and all values suit your needs.
|
||||
A.6) Look the sync running.
|
||||
|
||||
A.7) Look the sync running. You can abort it at any time with a
|
||||
quick double ctrl-c, hit ctrl-c twice within one second.
|
||||
(a single ctrl-c will reconnect to both imap servers).
|
||||
You can abort it at any time with a quick double ctrl-c,
|
||||
hit ctrl-c twice within one second.
|
||||
A single ctrl-c will reconnect to both imap servers.
|
||||
You can also abort the sync by closing the DOS window.
|
||||
|
||||
A.8) When the sync is finished you can find the whole log file
|
||||
of the output in the folder named "LOG_imapsync",
|
||||
the logfile name is based on the launching date,
|
||||
hour, minute, second, milliseconds and the user2 parameter.
|
||||
What you see in this DOS terminal is also put in a logfile located
|
||||
in the subdirectory LOG_imapsync/
|
||||
|
||||
There is one logfile per run.
|
||||
A.7) Control what happened.
|
||||
|
||||
The logfile name is printed at the end of the imapsync run.
|
||||
If you do not want logging to a file then use option --nolog
|
||||
When the sync is finished you can find the whole log file
|
||||
of the output in the folder named "LOG_imapsync".
|
||||
the logfile name is based on the launching date,
|
||||
hour, minute, second, milliseconds plus the user1 and user2 parameters.
|
||||
For example a file name can be
|
||||
LOG_imapsync\2019_11_29_14_49_36_514_tata_titi.txt
|
||||
|
||||
There is one logfile created at each run.
|
||||
The logfile name is printed at the end of the imapsync run.
|
||||
|
||||
When there is a problem, the problem is very often described
|
||||
at the end of the logfile.
|
||||
|
||||
|
||||
B) Hard way. It is the hard way because it installs all software
|
||||
dependencies. This is the way for modifying imapsync.exe if needed.
|
||||
A.8) Loop on A.4 through A.7
|
||||
|
||||
* A.4) edit
|
||||
* A.5) run
|
||||
* A.6) look
|
||||
* A.7) control
|
||||
|
||||
Loop on the process of editing, running and controlling imapsync
|
||||
until you solve all issues and the sync is over.
|
||||
|
||||
Congratulations!
|
||||
|
||||
|
||||
------------
|
||||
B) Hard way
|
||||
------------
|
||||
|
||||
It is the hard way because it installs all software dependencies.
|
||||
This is the way for modifying imapsync.exe if needed.
|
||||
|
||||
B.1) Install Perl if it isn't already installed.
|
||||
Strawberry Perl is a very good candidate
|
||||
http://strawberryperl.com/
|
||||
I use 5.26.0.1 (31 may 2017) but previous and later releases
|
||||
should work (5.18 and 5.20 do) as well.
|
||||
I use 5.30.1.1 (released 2019-11-22) but previous and later releases
|
||||
should work as well (Perl 5.18 to 5.26 do).
|
||||
|
||||
B.2) Go into the Cook/ directory
|
||||
B.3) Double-clic build_exe.bat
|
||||
|
@ -1,21 +0,0 @@
|
||||
|
||||
<!-- $Id: bc-payment.html,v 1.12 2018/02/07 01:03:31 gilles Exp gilles $ -->
|
||||
|
||||
|
||||
<a
|
||||
class="coinbase-button"
|
||||
data-code="6a986b9f1386effacf76b350070c93ab"
|
||||
href="https://www.coinbase.com/checkouts/6a986b9f1386effacf76b350070c93ab"
|
||||
><img
|
||||
alt="Pay with Bitcoins"
|
||||
src="S/images/bitcoin_buy_now_large.png"
|
||||
/></a>
|
||||
|
||||
|
||||
<!--
|
||||
<script
|
||||
src="https://www.coinbase.com/assets/button.js"
|
||||
>
|
||||
</script>
|
||||
|
||||
-->
|
@ -29,9 +29,12 @@
|
||||
|
||||
|
||||
<body>
|
||||
<h1>imapsync donation</h1>
|
||||
<h1>Imapsync donation</h1>
|
||||
|
||||
<p>Help the author to maintain imapsync and its online services:</p>
|
||||
|
||||
<h2>Donate via Paypal</h2>
|
||||
|
||||
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
||||
<p>
|
||||
<input type="hidden" name="cmd" value="_s-xclick"/>
|
||||
@ -43,11 +46,27 @@ value="-----BEGIN PKCS7-----MIIHRwYJKoZIhvcNAQcEoIIHODCCBzQCAQExggEwMIIBLAIBADCB
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<h2>Donate with Crypto</h2>
|
||||
<p>
|
||||
This donate button will ask your email address and your name but don't hesitate
|
||||
to give fake ones, like "Smith" and smith@example.com if you prefer to be anonymous.
|
||||
</p>
|
||||
<div>
|
||||
<a class="donate-with-crypto"
|
||||
href="https://commerce.coinbase.com/checkout/d757d82d-5f54-428e-9260-90c8b032d7ce">
|
||||
<span>Donate with Crypto</span>
|
||||
</a>
|
||||
<script type="text/javascript" src="https://commerce.coinbase.com/v1/checkout.js?version=201807">
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<p>Thanks in advance!</p>
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
|
||||
|
||||
<a href="http://validator.w3.org/check?uri=referer">
|
||||
<img width="88" height="31" alt="Valid XHTML 1.0 Strict" src="../S/images/valid-xhtml10" />
|
||||
</a>
|
||||
@ -64,7 +83,7 @@ value="-----BEGIN PKCS7-----MIIHRwYJKoZIhvcNAQcEoIIHODCCBzQCAQExggEwMIIBLAIBADCB
|
||||
<!--#config timefmt="%D" -->
|
||||
<!--#config timefmt="%A %B %d, %Y" -->
|
||||
<b>This document last modified on <!--#echo var="LAST_MODIFIED" --></b>
|
||||
($Id: paypal.shtml,v 1.13 2018/08/21 12:07:50 gilles Exp gilles $)
|
||||
($Id: donate.shtml,v 1.16 2019/07/31 22:49:12 gilles Exp gilles $)
|
||||
</p>
|
||||
|
||||
</body>
|
@ -30,7 +30,7 @@
|
||||
</h1>
|
||||
|
||||
|
||||
<ul>
|
||||
<ol>
|
||||
<li> <b>imapsync</b>: <a href="https://github.com/imapsync/imapsync">https://github.com/imapsync/imapsync</a> (this is an imapsync copy, sometimes delayed, with --noreleasecheck by default since release 1.592, 2014/05/22)</li>
|
||||
<li> imap_tools: <a href="https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/">https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/</a>.
|
||||
The imap_tools code is now at <a href="https://github.com/andrewnimmo/rick-sanders-imap-tools">https://github.com/andrewnimmo/rick-sanders-imap-tools</a></li>
|
||||
@ -40,8 +40,8 @@
|
||||
<li> <b>offlineimap</b>: <a href="http://offlineimap.org/">http://offlineimap.org/</a></li>
|
||||
<li> <b>mbsync</b>: <a href="http://isync.sourceforge.net/">http://isync.sourceforge.net/</a></li>
|
||||
<li> mailsync: <a href="http://mailsync.sourceforge.net/">http://mailsync.sourceforge.net/</a></li>
|
||||
<li> mailutil: <a href="http://www.washington.edu/imap/">http://www.washington.edu/imap/</a>
|
||||
part of the UW IMAP tookit.</li>
|
||||
<li> mailutil: <a href="https://web.archive.org/web/20191028114408/http://www.washington.edu/imap/">https://www.washington.edu/imap/</a>
|
||||
part of the UW IMAP toolkit. (well, seems abandoned now)</li>
|
||||
<li> imaprepl: <a href="https://bl0rg.net/software/">https://bl0rg.net/software/</a>
|
||||
<a href="http://freecode.com/projects/imap-repl/">http://freecode.com/projects/imap-repl/</a></li>
|
||||
<li> imapcopy (Pascal): <a href="http://www.ardiehl.de/imapcopy/">http://www.ardiehl.de/imapcopy/</a></li>
|
||||
@ -63,7 +63,14 @@
|
||||
(A tool for uploading a local mbox file to IMAP4 server)</li>
|
||||
<li> imapbackup: <a href="https://github.com/rcarmo/imapbackup">https://github.com/rcarmo/imapbackup</a>
|
||||
(A Python script for incremental backups of IMAP mailboxes)</li>
|
||||
</ul>
|
||||
|
||||
<li> BitRecover email-backup <b>99 USD, 299 USD</b> <a href="https://www.bitrecover.com/email-backup/">https://www.bitrecover.com/email-backup/</a>.</li>
|
||||
|
||||
<li> ImportExportTools: <a href="https://addons.thunderbird.net/en-us/thunderbird/addon/importexporttools/">https://addons.thunderbird.net/en-us/thunderbird/addon/importexporttools/</a>
|
||||
ImportExportTools for Mozilla Thunderbird by Paolo Kaosmos. ImportExportTools does not do IMAP.
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<h1>External online IMAP migration services <a id="ONLINE_OTHERS" href="../#TOP"><small>(back to menu)</small></a>
|
||||
</h1>
|
||||
@ -74,21 +81,23 @@ Prices are given par mailbox and may be outdated
|
||||
(Last checked on Thu Apr 11, 2019).</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<ol>
|
||||
<li> Web Hosting Canada <b>0 USD</b>: <a href="https://imapsync.whc.ca/">https://imapsync.whc.ca/</a> (imapsync based)</li>
|
||||
<li> BoomHost <b>0 USD</b>: <a href="https://imapsync.boomhost.com/">https://imapsync.boomhost.com/</a> (imapsync based)</li>
|
||||
<li> French Ovh imapcopy <b>0 EUR</b>: <a href="https://mail.ovh.net/fr/imapcopy/">https://mail.ovh.net/fr/imapcopy/</a></li>
|
||||
<li> <a href="https://tools.controlpanel.si/imapsync/">https://tools.controlpanel.si/imapsync/</a> (imapsync based)</li>
|
||||
<li> <a href="https://www.cadeolink.com.br/">https://www.cadeolink.com.br/</a> (imapsync based)</li>
|
||||
|
||||
<li> Ovh migration <b>0 EUR</b>: <a href="https://omm.ovh.net/Migration/Create">https://omm.ovh.net/Migration/Create</a></li>
|
||||
<li> Rackspace migration <b>0 USD</b>: <a href="http://www.rackspace.com/email-hosting/migrations">http://www.rackspace.com/email-hosting/migrations</a></li>
|
||||
<li> Movemymail one free, 5 USD after: <a href="https://movemymail.net">https://movemymail.net/</a></li>
|
||||
<li> TransferMyEmail 1.50 USD for a day pass: <a href="https://transfermyemail.ca/">https://transfermyemail.ca/</a></li>
|
||||
<li> Migrationwiz 11.99 USD: <a href="https://www.bittitan.com/products/migrationwiz/">https://www.bittitan.com/products/migrationwiz/</a>
|
||||
( See this remarkable comparison <a href="https://blog.bittitan.com/imapsync-vs-migrationwiz/">Imapsync vs Migrationwiz</a>! )</li>
|
||||
<li> Migrationwiz 11.99 USD: <a href="https://www.bittitan.com/products/migrationwiz/">https://www.bittitan.com/products/migrationwiz/</a> </li>
|
||||
<li> Audriga 11.90 EUR: <a href="https://www.groupware-migration.com/">https://www.groupware-migration.com/</a></li>
|
||||
<li> Yippiemove 14.95 USD: <a href="http://www.yippiemove.com">http://www.yippiemove.com/</a>
|
||||
( See <a href="https://www.yippiemove.com/help/faq_generic.html#imapsync">Yippiemove vs ImapSync</a> )</li>
|
||||
<li> <del>Yippiemove 14.95 USD</del> (discontinued on April 2019): <a href="http://www.yippiemove.com">http://www.yippiemove.com/</a>
|
||||
( See <a href="https://web.archive.org/web/20161027124328/https://www.yippiemove.com/help/faq_generic.html#imapsync">Yippiemove vs ImapSync</a> )</li>
|
||||
<li> ShuttleCloud one free, 19.95 USD after <a href="https://www.shuttlecloud.com/">https://www.shuttlecloud.com/</a></li>
|
||||
|
||||
</ul>
|
||||
</ol>
|
||||
|
||||
|
||||
<hr/>
|
||||
@ -117,7 +126,7 @@ alt="Viewable With Any Browser" />
|
||||
<!--#config timefmt="%D" -->
|
||||
<!--#config timefmt="%A %B %d, %Y" -->
|
||||
<b>This document last modified on <!--#echo var="LAST_MODIFIED" --></b>
|
||||
($Id: external.shtml,v 1.34 2019/05/27 16:18:54 gilles Exp gilles $)<br/>
|
||||
($Id: external.shtml,v 1.45 2019/12/23 12:38:41 gilles Exp gilles $)<br/>
|
||||
<a href="#TOP">Top of the page</a>
|
||||
</p>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="TOP">
|
||||
|
||||
<head>
|
||||
<title>Imapsync list of the 79 imap server software applications supported</title>
|
||||
<title>Imapsync list of the 81 imap server software applications supported</title>
|
||||
<meta name="generator" content="Bluefish 2.2.2" />
|
||||
<meta name="author" content="Gilles LAMIRAL" />
|
||||
<meta name="date" content="2016-04-10T00:24:15+0200" />
|
||||
@ -27,12 +27,12 @@
|
||||
<body>
|
||||
|
||||
|
||||
<h1>Imapsync list of the 79 imap server software applications supported (and the broken ones) <a id="imap_server_success" href="../#TOP"><small>(back to menu)</small></a>
|
||||
<h1>Imapsync list of the 81 imap server software applications supported (and the broken ones) <a id="imap_server_success" href="../#TOP"><small>(back to menu)</small></a>
|
||||
</h1>
|
||||
|
||||
<p>To know whether your IMAP server is a widespread choice,
|
||||
take a look at <a href="http://openemailsurvey.org/">http://openemailsurvey.org/</a>.
|
||||
The quick answer is: if you're not using Dovecot then you're in a niche!
|
||||
take a look at <a href="http://openemailsurvey.org/">http://openemailsurvey.org/</a><br/>
|
||||
The short answer is that if you're not using the famous <b>Dovecot</b> then you're in a niche!
|
||||
</p>
|
||||
|
||||
<p>Let's start with the long reported <b>success stories</b> list: <b>
|
||||
@ -55,10 +55,12 @@ Example:
|
||||
Host2 banner:* OK Courier-IMAP ready
|
||||
</pre>
|
||||
|
||||
<p>You can use option --justconnect to get those lines.
|
||||
Example:</p>
|
||||
<p>You can use the following command to get those lines
|
||||
Examples:</p>
|
||||
<pre>
|
||||
imapsync --host1 test1.lamiral.info --host2 test2.lamiral.info --justconnect
|
||||
imapsync --host1 test1.lamiral.info
|
||||
|
||||
imapsync --host1 imap.gmail.com
|
||||
</pre>
|
||||
|
||||
|
||||
@ -74,6 +76,9 @@ imapsync --host1 test1.lamiral.info --host2 test2.lamiral.info --justconnect
|
||||
<li>ArGoSoft IMAP Module Version 1.8 (1.8.8.2) <a href="http://www.argosoft.com/">http://www.argosoft.com/</a></li>
|
||||
<li>Atmail 6.x [host1] <a href="https://www.atmail.com/">https://www.atmail.com/</a></li>
|
||||
<li>Axigen Mail Server Version 8.0.0 (<a href="https://www.axigen.com/">https://www.axigen.com/</a>)</li>
|
||||
|
||||
<li>BigFoot 1.0 (Derek Snider)</li>
|
||||
|
||||
<li>BincImap 1.2.3 (GPL) (<a href="http://www.bincimap.org/">http://www.bincimap.org/</a>)</li>
|
||||
<li>BlueMind <a href="https://www.bluemind.net/"></a>https://www.bluemind.net/</li>
|
||||
<li>ClearOS <a href="https://www.clearos.com/">https://www.clearos.com/</a> uses Cyrus as IMAP backend server.</li>
|
||||
@ -88,7 +93,7 @@ imapsync --host1 test1.lamiral.info --host2 test2.lamiral.info --justconnect
|
||||
2.3-alpha (OSI Approved), 2.3.1, 2.3.7, 2.3.16, v2.4.16 [host1]
|
||||
(<a href="https://www.cyrusimap.org/">https://www.cyrusimap.org/</a>)
|
||||
</li>
|
||||
<li>David Tobit V8. (<a href="http://de.tobit.com/">http://de.tobit.com/</a>) </li>
|
||||
<li>David Tobit V8. (<a href="https://tobit.software/">https://tobit.software/</a>) </li>
|
||||
<li>David.fx Mail Access Server MA-12.00a (0188) [host1] </li>
|
||||
<li>DBMail 1.2.1, 2.0.4, 2.0.9, 2.2rc1 (GPL).
|
||||
2.0.7 seems buggy. (<a href="http://www.dbmail.org/">http://www.dbmail.org/</a>) </li>
|
||||
@ -100,6 +105,9 @@ imapsync --host1 test1.lamiral.info --host2 test2.lamiral.info --justconnect
|
||||
(<a href="http://www-03.ibm.com/software/products/en/ibmnotes">http://www-03.ibm.com/software/products/en/ibmnotes</a>) </li>
|
||||
<li><b>Dovecot</b> 0.99.10.4, 0.99.14, 0.99.14-8.fc4, 1.0-0.beta2.7,
|
||||
1.0.0 [dest/source] (LGPL) (http://www.dovecot.org/) (<a href="http://www.dovecot.org/">http://www.dovecot.org/</a>) </li>
|
||||
|
||||
<li>Earthlink webhosting (<a href="https://www.earthlink.net/">https://www.earthlink.net/</a>) uses BigFoot imap server.</li>
|
||||
|
||||
<li>Eudora WorldMail v2 (<a href="http://www.eudora.com/worldmail/">http://www.eudora.com/worldmail/</a>) </li>
|
||||
<li><b>Exchange Server</b> 5.5, 6.0.6249.0[host1], 6.0.6487.0[host1],
|
||||
6.5.7638.1 [host2], 6.5 [host1], Exchange 2007 SP1 (with Update Rollup 2),
|
||||
@ -116,7 +124,7 @@ imapsync --host1 test1.lamiral.info --host2 test2.lamiral.info --justconnect
|
||||
<li><b>Gimap</b> (<b>Gmail</b> imap) [host1] [host2] (<a href="http://mail.google.com/">http://mail.google.com/</a>) </li>
|
||||
<li>GMX IMAP4 StreamProxy. (<a href="http://www.gmx.com/">http://www.gmx.com/</a>) </li>
|
||||
<li>Godaddy IMAP (since Godaddy runs Courier) (<a href="https://www.godaddy.com/">https://www.godaddy.com/</a>) </li>
|
||||
<li>Groupwise IMAP (Novell) 6.x and 7.0. Buggy so see the FAQ.
|
||||
<li>Groupwise IMAP (Novell) 6.x and 7.0. Buggy so see the <a href="../FAQ.d/FAQ.Various_Software_Servers.txt">FAQ item about Groupwise</a>
|
||||
(<a href="http://www.novell.com/products/groupwise/">http://www.novell.com/products/groupwise/</a>) </li>
|
||||
<li>hMailServer 5.40-B1950 [host12], 5.3.3 [host2], 4.4.1 [host1], 5.3.2-B1769 [host2], 5.6 [host2]
|
||||
(<a href="https://www.hmailserver.com/">https://www.hmailserver.com/</a>) </li>
|
||||
@ -152,7 +160,7 @@ imapsync --host1 test1.lamiral.info --host2 test2.lamiral.info --justconnect
|
||||
<li>Pegasus Mail (by David Harris) [host1] (<a href="http://www.pmail.com/">http://www.pmail.com/</a></li>
|
||||
|
||||
|
||||
<li>Perdition (<a href="http://horms.net/projects/perdition/">http://horms.net/projects/perdition/</a></li>
|
||||
<li>Perdition (<a href="https://projects.horms.net/projects/perdition/">https://projects.horms.net/projects/perdition/</a></li>
|
||||
|
||||
<li>ProtoMail [host1] (<a href="https://protonmail.com/">https://protonmail.com/</a></li>
|
||||
|
||||
@ -192,7 +200,7 @@ I will help you and make efforts to switch them to the success list,
|
||||
that's my job.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<ol>
|
||||
<li>DBMail 0.9, 2.0.7 (GPL). But most other DBMail releases are supported (see below).</li>
|
||||
<li>Imail 7.04 (maybe).</li>
|
||||
<li>MailEnable 1.54 (Proprietary) but MailEnable 4.23 is supported. </li>
|
||||
@ -200,7 +208,7 @@ that's my job.
|
||||
but MDaemon is <b>supported as host1</b>.
|
||||
MDaemon is simply buggy with the APPEND IMAP command with any IMAP email client.
|
||||
</li>
|
||||
</ul>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
@ -230,7 +238,7 @@ alt="Viewable With Any Browser" />
|
||||
<!--#config timefmt="%D" -->
|
||||
<!--#config timefmt="%A %B %d, %Y" -->
|
||||
<b>This document last modified on <!--#echo var="LAST_MODIFIED" --></b>
|
||||
($Id: imapservers.shtml,v 1.41 2019/05/27 18:53:01 gilles Exp gilles $)<br/>
|
||||
($Id: imapservers.shtml,v 1.44 2019/12/02 23:51:12 gilles Exp gilles $)<br/>
|
||||
<a href="#TOP">Top of the page</a>
|
||||
</p>
|
||||
|
||||
|
@ -1,45 +1,45 @@
|
||||
1 Albanie_________________ 0.01 % 100 % 0 % 98
|
||||
1 Arabie_Saoudite_________ 0.01 % 100 % 0 % 97
|
||||
1 Bahrein_________________ 0.01 % 100 % 0 % 96
|
||||
1 Bolivie_________________ 0.01 % 100 % 0 % 95
|
||||
1 Bosnie-Herzegovine______ 0.01 % 100 % 0 % 94
|
||||
1 Burkina_Faso____________ 0.01 % 100 % 0 % 93
|
||||
1 Cameroun________________ 0.01 % 100 % 0 % 92
|
||||
1 Coree_du_Sud____________ 0.01 % 100 % 0 % 91
|
||||
1 Grenade_________________ 0.01 % 100 % 0 % 90
|
||||
1 Ile_Maurice_____________ 0.01 % 100 % 0 % 89
|
||||
1 Iles_Feroe______________ 0.01 % 100 % 0 % 88
|
||||
1 Iles_Vierges_britanniques__ 0.01 % 100 % 0 % 87
|
||||
1 Jamaique________________ 0.01 % 100 % 0 % 86
|
||||
1 Jordanie________________ 0.01 % 100 % 0 % 85
|
||||
1 Koweit__________________ 0.01 % 100 % 0 % 84
|
||||
1 Maldives________________ 0.01 % 100 % 0 % 83
|
||||
1 Maroc___________________ 0.01 % 100 % 0 % 82
|
||||
1 Moldavie________________ 0.01 % 100 % 0 % 81
|
||||
1 Monaco__________________ 0.01 % 100 % 0 % 80
|
||||
1 Mongolie________________ 0.01 % 100 % 0 % 79
|
||||
1 Namibie_________________ 0.01 % 100 % 0 % 78
|
||||
1 Panama__________________ 0.01 % 100 % 0 % 77
|
||||
1 Qatar___________________ 0.01 % 100 % 0 % 76
|
||||
1 Republique_d'Azerbaidjan__ 0.01 % 100 % 0 % 75
|
||||
1 Saint_Christophe-Nevis-Anguilla__ 0.01 % 100 % 0 % 74
|
||||
1 Senegal_________________ 0.01 % 100 % 0 % 73
|
||||
1 Tanzanie________________ 0.01 % 100 % 0 % 72
|
||||
1 Trinite-et-Tobago_______ 0.01 % 100 % 0 % 71
|
||||
2 Antilles_neerlandaises__ 0.03 % 100 % 0 % 70
|
||||
2 Colombie________________ 0.03 % 100 % 0 % 69
|
||||
2 Costa_Rica______________ 0.03 % 100 % 0 % 68
|
||||
2 Isra 0.03 % 100 % 0 % 67
|
||||
1 Arabie_Saoudite_________ 0.01 % 100 % 0 % 98
|
||||
1 Bahrein_________________ 0.01 % 100 % 0 % 97
|
||||
1 Bolivie_________________ 0.01 % 100 % 0 % 96
|
||||
1 Bosnie-Herzegovine______ 0.01 % 100 % 0 % 95
|
||||
1 Burkina_Faso____________ 0.01 % 100 % 0 % 94
|
||||
1 Cameroun________________ 0.01 % 100 % 0 % 93
|
||||
1 Coree_du_Sud____________ 0.01 % 100 % 0 % 92
|
||||
1 Grenade_________________ 0.01 % 100 % 0 % 91
|
||||
1 Ile_Maurice_____________ 0.01 % 100 % 0 % 90
|
||||
1 Iles_Feroe______________ 0.01 % 100 % 0 % 89
|
||||
1 Iles_Vierges_britanniques__ 0.01 % 100 % 0 % 88
|
||||
1 Jamaique________________ 0.01 % 100 % 0 % 87
|
||||
1 Jordanie________________ 0.01 % 100 % 0 % 86
|
||||
1 Koweit__________________ 0.01 % 100 % 0 % 85
|
||||
1 Maldives________________ 0.01 % 100 % 0 % 84
|
||||
1 Moldavie________________ 0.01 % 100 % 0 % 83
|
||||
1 Monaco__________________ 0.01 % 100 % 0 % 82
|
||||
1 Mongolie________________ 0.01 % 100 % 0 % 81
|
||||
1 Namibie_________________ 0.01 % 100 % 0 % 80
|
||||
1 Panama__________________ 0.01 % 100 % 0 % 79
|
||||
1 Qatar___________________ 0.01 % 100 % 0 % 78
|
||||
1 Republique_d'Azerbaidjan__ 0.01 % 100 % 0 % 77
|
||||
1 Saint_Christophe-Nevis-Anguilla__ 0.01 % 100 % 0 % 76
|
||||
1 Senegal_________________ 0.01 % 100 % 0 % 75
|
||||
1 Tanzanie________________ 0.01 % 100 % 0 % 74
|
||||
1 Trinite-et-Tobago_______ 0.01 % 100 % 0 % 73
|
||||
2 Albanie_________________ 0.03 % 100 % 0 % 72
|
||||
2 Antilles_neerlandaises__ 0.03 % 100 % 0 % 71
|
||||
2 Colombie________________ 0.03 % 100 % 0 % 70
|
||||
2 Costa_Rica______________ 0.03 % 100 % 0 % 69
|
||||
2 Isra 0.03 % 100 % 0 % 68
|
||||
2 Maroc___________________ 0.03 % 100 % 0 % 67
|
||||
2 Nouvelle-Caledonie______ 0.03 % 99 % 1 % 66
|
||||
2 Perou___________________ 0.03 % 99 % 1 % 65
|
||||
2 Taiwan__________________ 0.03 % 99 % 1 % 64
|
||||
2 Ukraine_________________ 0.03 % 99 % 1 % 63
|
||||
3 Nigeria_________________ 0.04 % 99 % 1 % 62
|
||||
3 Russie,_Federation______ 0.04 % 99 % 1 % 61
|
||||
3 Uruguay_________________ 0.04 % 99 % 1 % 60
|
||||
3 Venezuela_______________ 0.04 % 99 % 1 % 59
|
||||
4 Indonesie_______________ 0.06 % 99 % 1 % 58
|
||||
4 Philippines_____________ 0.06 % 99 % 1 % 57
|
||||
3 Uruguay_________________ 0.04 % 99 % 1 % 61
|
||||
3 Venezuela_______________ 0.04 % 99 % 1 % 60
|
||||
4 Indonesie_______________ 0.06 % 99 % 1 % 59
|
||||
4 Philippines_____________ 0.06 % 99 % 1 % 58
|
||||
4 Russie,_Federation______ 0.06 % 99 % 1 % 57
|
||||
4 Serbie__________________ 0.06 % 99 % 1 % 56
|
||||
4 Turquie_________________ 0.06 % 99 % 1 % 55
|
||||
4 Vietnam_________________ 0.06 % 99 % 1 % 54
|
||||
@ -47,53 +47,53 @@
|
||||
5 Egypte__________________ 0.07 % 99 % 1 % 52
|
||||
5 Ireland_________________ 0.07 % 99 % 1 % 51
|
||||
5 Lituanie________________ 0.07 % 99 % 1 % 50
|
||||
6 Malte___________________ 0.09 % 99 % 1 % 49
|
||||
6 Malte___________________ 0.08 % 99 % 1 % 49
|
||||
7 Chypre__________________ 0.10 % 99 % 1 % 48
|
||||
7 Estonie_________________ 0.10 % 98 % 2 % 47
|
||||
7 Islande_________________ 0.10 % 98 % 2 % 46
|
||||
8 Croatie_________________ 0.11 % 98 % 2 % 45
|
||||
8 Thailande_______________ 0.11 % 98 % 2 % 44
|
||||
10 Emirats_Arabes_Unis_____ 0.14 % 98 % 2 % 43
|
||||
10 Lettonie________________ 0.14 % 98 % 2 % 42
|
||||
13 Israel__________________ 0.19 % 98 % 2 % 41
|
||||
15 Chine___________________ 0.21 % 98 % 2 % 40
|
||||
15 Luxembourg______________ 0.21 % 97 % 3 % 39
|
||||
16 Malaisie________________ 0.23 % 97 % 3 % 38
|
||||
16 Singapour_______________ 0.23 % 97 % 3 % 37
|
||||
17 Argentine_______________ 0.24 % 97 % 3 % 36
|
||||
17 Chili___________________ 0.24 % 96 % 4 % 35
|
||||
18 Slovenie________________ 0.26 % 96 % 4 % 34
|
||||
19 Mexique_________________ 0.27 % 96 % 4 % 33
|
||||
19 Slovaquie_______________ 0.27 % 96 % 4 % 32
|
||||
21 Inde____________________ 0.30 % 95 % 5 % 31
|
||||
23 Roumanie________________ 0.33 % 95 % 5 % 30
|
||||
24 Hong-Kong_______________ 0.34 % 95 % 5 % 29
|
||||
24 Irlande_________________ 0.34 % 94 % 6 % 28
|
||||
25 Afrique_du_Sud__________ 0.36 % 94 % 6 % 27
|
||||
25 Grece___________________ 0.36 % 94 % 6 % 26
|
||||
31 Japon___________________ 0.44 % 93 % 7 % 25
|
||||
31 Portugal________________ 0.44 % 93 % 7 % 24
|
||||
31 Russie__________________ 0.44 % 92 % 8 % 23
|
||||
32 Nouvelle-Zelande________ 0.46 % 92 % 8 % 22
|
||||
35 Hongrie_________________ 0.50 % 92 % 8 % 21
|
||||
37 ________________________ 0.53 % 91 % 9 % 20
|
||||
48 Finlande________________ 0.69 % 91 % 9 % 19
|
||||
50 Norvege_________________ 0.71 % 90 % 10 % 18
|
||||
53 Republique_tcheque______ 0.76 % 89 % 11 % 17
|
||||
66 Bresil__________________ 0.94 % 88 % 12 % 16
|
||||
78 Pologne_________________ 1.11 % 87 % 13 % 15
|
||||
96 Danemark________________ 1.37 % 86 % 14 % 14
|
||||
108 Suede___________________ 1.54 % 85 % 15 % 13
|
||||
115 Belgique________________ 1.64 % 83 % 17 % 12
|
||||
149 Espagne_________________ 2.13 % 82 % 18 % 11
|
||||
171 Autriche________________ 2.44 % 80 % 20 % 10
|
||||
227 Australie_______________ 3.24 % 77 % 23 % 9
|
||||
272 Suisse__________________ 3.89 % 74 % 26 % 8
|
||||
287 Canada__________________ 4.10 % 70 % 30 % 7
|
||||
299 Pays-Bas________________ 4.27 % 66 % 34 % 6
|
||||
345 France__________________ 4.93 % 62 % 38 % 5
|
||||
420 Italie__________________ 6.00 % 57 % 43 % 4
|
||||
631 Royaume-Uni_____________ 9.02 % 51 % 49 % 3
|
||||
1366 Allemagne_______________ 19.52 % 42 % 58 % 2
|
||||
1553 Etats-Unis______________ 22.20 % 22 % 78 % 1
|
||||
TOTAL = 6997 sales 342245 EUR over 98 countries on Thu Jun 27 01:16:49 CEST 2019
|
||||
10 Croatie_________________ 0.14 % 98 % 2 % 45
|
||||
10 Emirats_Arabes_Unis_____ 0.14 % 98 % 2 % 44
|
||||
10 Lettonie________________ 0.14 % 98 % 2 % 43
|
||||
10 Thailande_______________ 0.14 % 98 % 2 % 42
|
||||
13 Israel__________________ 0.18 % 98 % 2 % 41
|
||||
16 Chine___________________ 0.22 % 98 % 2 % 40
|
||||
16 Luxembourg______________ 0.22 % 97 % 3 % 39
|
||||
17 Argentine_______________ 0.23 % 97 % 3 % 38
|
||||
17 Malaisie________________ 0.23 % 97 % 3 % 37
|
||||
17 Singapour_______________ 0.23 % 97 % 3 % 36
|
||||
18 Chili___________________ 0.25 % 96 % 4 % 35
|
||||
19 Mexique_________________ 0.26 % 96 % 4 % 34
|
||||
19 Slovenie________________ 0.26 % 96 % 4 % 33
|
||||
21 Slovaquie_______________ 0.29 % 96 % 4 % 32
|
||||
23 Inde____________________ 0.32 % 95 % 5 % 31
|
||||
24 Irlande_________________ 0.33 % 95 % 5 % 30
|
||||
24 Roumanie________________ 0.33 % 95 % 5 % 29
|
||||
25 Grece___________________ 0.34 % 94 % 6 % 28
|
||||
25 Hong-Kong_______________ 0.34 % 94 % 6 % 27
|
||||
27 Afrique_du_Sud__________ 0.37 % 94 % 6 % 26
|
||||
31 Russie__________________ 0.43 % 93 % 7 % 25
|
||||
32 Japon___________________ 0.44 % 93 % 7 % 24
|
||||
33 Nouvelle-Zelande________ 0.45 % 92 % 8 % 23
|
||||
34 Portugal________________ 0.47 % 92 % 8 % 22
|
||||
37 Hongrie_________________ 0.51 % 92 % 8 % 21
|
||||
40 ________________________ 0.55 % 91 % 9 % 20
|
||||
51 Finlande________________ 0.70 % 90 % 10 % 19
|
||||
52 Norvege_________________ 0.72 % 90 % 10 % 18
|
||||
54 Republique_tcheque______ 0.74 % 89 % 11 % 17
|
||||
67 Bresil__________________ 0.92 % 88 % 12 % 16
|
||||
86 Pologne_________________ 1.18 % 87 % 13 % 15
|
||||
96 Danemark________________ 1.32 % 86 % 14 % 14
|
||||
115 Suede___________________ 1.58 % 85 % 15 % 13
|
||||
117 Belgique________________ 1.61 % 83 % 17 % 12
|
||||
155 Espagne_________________ 2.13 % 82 % 18 % 11
|
||||
175 Autriche________________ 2.41 % 80 % 20 % 10
|
||||
233 Australie_______________ 3.21 % 77 % 23 % 9
|
||||
280 Suisse__________________ 3.85 % 74 % 26 % 8
|
||||
296 Canada__________________ 4.07 % 70 % 30 % 7
|
||||
316 Pays-Bas________________ 4.35 % 66 % 34 % 6
|
||||
362 France__________________ 4.98 % 62 % 38 % 5
|
||||
445 Italie__________________ 6.12 % 57 % 43 % 4
|
||||
654 Royaume-Uni_____________ 9.00 % 51 % 49 % 3
|
||||
1427 Allemagne_______________ 19.63 % 42 % 58 % 2
|
||||
1594 Etats-Unis______________ 21.93 % 22 % 78 % 1
|
||||
TOTAL = 7269 sales 360271 EUR over 98 countries on Fri Jan 3 23:44:21 CET 2020
|
||||
|
144
S/news.shtml
144
S/news.shtml
@ -39,44 +39,47 @@ next and previous releases <a href="../#TOP" id="latest"><small>(back to menu)
|
||||
|
||||
<!--
|
||||
<ul>
|
||||
<li><b>1.930</b></li>
|
||||
<li><b>Enhancement</b>: </li>
|
||||
<li><b>Enhancement</b>: </li>
|
||||
<li><b>Enhancement</b>: </li>
|
||||
<li><b>Enhancement</b>: </li>
|
||||
<li><b>Enhancement</b>: </li>
|
||||
|
||||
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
|
||||
<li><b>Refactoring</b>: </li>
|
||||
<li><b>Refactoring</b>: </li>
|
||||
<li><b>Refactoring</b>: </li>
|
||||
<li><b>Refactoring</b>: </li>
|
||||
|
||||
<li><b>Security</b>: </li>
|
||||
<li><b>Security</b>: </li>
|
||||
|
||||
<li><b>Portability</b>: </li>
|
||||
<li><b>Portability</b>: </li>
|
||||
|
||||
<li><b>Dependency removed</b>: </li>
|
||||
<li><b>Dependency added</b>: Perl module Text::ParseWords;</li>
|
||||
|
||||
<li><b>Roadmap</b>: </li>
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li><b>1.964</b></li>
|
||||
<li><b>Dependencies removed</b>: </li>
|
||||
<li><b>Dependencies added</b>: Perl modules </li>
|
||||
|
||||
<li><b>Enhancement</b>: </li>
|
||||
<li><b>Enhancement</b>: </li>
|
||||
<li><b>Enhancement</b>: </li>
|
||||
<li><b>Enhancement</b>: </li>
|
||||
<li><b>Enhancement</b>: </li>
|
||||
|
||||
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
<li><b>Usability</b>: </li>
|
||||
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
|
||||
<li><b>Refactoring</b>: </li>
|
||||
<li><b>Refactoring</b>: </li>
|
||||
<li><b>Refactoring</b>: </li>
|
||||
<li><b>Refactoring</b>: </li>
|
||||
|
||||
<li><b>Security</b>: </li>
|
||||
<li><b>Security</b>: </li>
|
||||
|
||||
<li><b>Portability</b>: </li>
|
||||
<li><b>Portability</b>: </li>
|
||||
|
||||
|
||||
</ul>
|
||||
-->
|
||||
@ -84,11 +87,65 @@ next and previous releases <a href="../#TOP" id="latest"><small>(back to menu)
|
||||
|
||||
<ul>
|
||||
<li><b>Roadmap</b>: Build a docker image including everything, to have a complete online /X in a single command.</li>
|
||||
<li><b>Roadmap</b>: Or better: Include a webserver in imapsync to have an online /X integrated.</li>
|
||||
<li><b>Roadmap</b>: Add the sync of multiple accounts inside imapsync itself instead of via an external shell script doing the loop from a csv file.</li>
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li><b>1.977</b></li>
|
||||
<li><b>Dependencies removed</b>: None.</li>
|
||||
<li><b>Dependencies added</b>: Perl modules Encode::IMAPUTF7</li>
|
||||
|
||||
<li><b>Enhancement</b>: Folders sizes are now presented per folder for host1 and host2,
|
||||
as well as the differrences between them.
|
||||
Comparing folders is now easier</li>
|
||||
|
||||
<li><b>Enhancement</b>: cgidir is . when used by Net::Server::HTTP</li>
|
||||
<li><b>Enhancement</b>: Added context in --releasecheck user_agent. CGI or Docker or Standard.</li>
|
||||
|
||||
|
||||
<li><b>Usability</b>: Added ETA at the beginning of a folder process (it is also to improve the /X progress bar accuracy).</li>
|
||||
|
||||
<li><b>Usability</b>: Added the number of errors and the max number of errors allowed at the final line.
|
||||
Example: "Exiting with return value 0 (EX_OK: successful termination) 0/50 nb_errors/max_errors"</li>
|
||||
|
||||
|
||||
<li><b>Bug fix</b>: Folders names with + characters must keep their + as they are when prensenting them in uft8 (in folders listings [] = [], right part)</li>
|
||||
<li><b>Bug fix</b>: PIDs can be negative under Windows.</li>
|
||||
<li><b>Bug fix</b>: --resynclabels was not on with --gmail1 --gmail2</li>
|
||||
<li><b>Bug fix</b>: Count a fatal error as a error before presenting the count errors when exiting.</li>
|
||||
|
||||
<li><b>Bug fix</b>: Docker context. Killing myself in docker context doesn't seem to work well,
|
||||
as well as sending signals several times.
|
||||
So just install catch_exit with INT (ctr-c on terminals)
|
||||
and exits if still alive after killing myself.</li>
|
||||
|
||||
<li><b>Bug fix</b>: Option --justconnect did not show the line "IP address:"</li>
|
||||
<li><b>Bug fix</b>: Reviewed all exit_clean to include a final CR on the error message.</li>
|
||||
<li><b>Bug fix</b>: Added SSL_cipher_list => 'DEFAULT:!DH' to tests with ssl.</li>
|
||||
<li><b>Bug fix</b>: When using --subfolder2 SUB and --delete2folders, do not delete the folder SUB (even it is not on host1).</li>
|
||||
|
||||
<li><b>Bug fix</b>: CGI context. charset was charset=ISO-8859-1 in header (CGI.pm default). Now "text/plain; charset=UTF-8"</li>
|
||||
<li><b>Bug fix</b>: </li>
|
||||
|
||||
|
||||
|
||||
<li><b>Refactoring</b>: Moved main instructions into sub single_sync(). The goal is to prepare multiple different syncs in imapsync.</li>
|
||||
<li><b>Refactoring</b>: Cgi context is now set on with env variables SERVER_SOFTWARE and SERVER_PORT (was only SERVER_SOFTWARE).
|
||||
It is because Net::Server::HTTP does not set SERVER_SOFTWARE but SERVER_PORT.
|
||||
It is a preparation to a homemade web server to serve on imapsync as a cgi and
|
||||
get free from Apache or a complicated web server stuff configuration.
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li><b>1.944</b> (2019/06/25) </li>
|
||||
<li><b>1.945</b> (2019/06/25) </li>
|
||||
|
||||
<li><b>Dependency added</b>: Perl modules Text::ParseWords and File::Tail </li>
|
||||
|
||||
<li><b>Enhancement</b>: A new /X including:
|
||||
<ul>
|
||||
<li>Options like <tt>--dry --justlogin --justfolders --justfoldersizes</tt>,</li>
|
||||
@ -97,9 +154,11 @@ next and previous releases <a href="../#TOP" id="latest"><small>(back to menu)
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><b>Usability</b>: Added the error message text after "Exiting with return value xx".
|
||||
Example: Exiting with return value 16 (EXIT_AUTHENTICATION_FAILURE)</li>
|
||||
|
||||
<li><b>Usability</b>: Now "imapsync --host1 imap.lamiral.info" or "imapsync --host2 127.0.0.1" is ok and do like a --justconnect on servers.
|
||||
Useful to check rapidely an imap server.
|
||||
<li><b>Usability</b>: Now "imapsync --host1 imap.lamiral.info" or "imapsync --host2 127.0.0.1" or both do like a --justconnect on servers.
|
||||
Useful to check rapidely an imap server. Caveat: no longer a command line error.
|
||||
</li>
|
||||
|
||||
<li><b>Usability</b>: Added some error message texts explaining the exit numbers. Example: "Exiting with return value 16 (EXIT_AUTHENTICATION_FAILURE)"</li>
|
||||
@ -192,9 +251,6 @@ next and previous releases <a href="../#TOP" id="latest"><small>(back to menu)
|
||||
|
||||
<li><b>Portability</b>: Upgraded Mac binary to handle TLSv1.2</li>
|
||||
|
||||
<li><b>Dependency added</b>: Perl modules Text::ParseWords and File::Tail
|
||||
|
||||
</li>
|
||||
|
||||
<li><b>Roadmap</b>: Will add <tt>--subfolder1</tt> and <tt>--subfolder2</tt> parameters to /X in order to make backup/restore syncs.</li>
|
||||
|
||||
@ -821,7 +877,7 @@ by ignoring PERMANENTFLAGS (Exchange tests)</li>
|
||||
<!--#config timefmt="%D" -->
|
||||
<!--#config timefmt="%A %B %d, %Y" -->
|
||||
<b>This document last modified on <!--#echo var="LAST_MODIFIED" --></b>
|
||||
($Id: news.shtml,v 1.67 2019/06/25 21:33:09 gilles Exp gilles $)<br />
|
||||
($Id: news.shtml,v 1.74 2020/01/01 21:07:13 gilles Exp gilles $)<br />
|
||||
<a href="#TOP">Top of the page</a>
|
||||
</p>
|
||||
</body></html>
|
||||
|
1
S/paypal.shtml_
Symbolic link
1
S/paypal.shtml_
Symbolic link
@ -0,0 +1 @@
|
||||
donate.shtml
|
341
S/privacy_policy.shtml
Normal file
341
S/privacy_policy.shtml
Normal file
@ -0,0 +1,341 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en" id="TOP">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" >
|
||||
<title>Imapsync Privacy Policy</title>
|
||||
<meta name="author" content="Gilles LAMIRAL" >
|
||||
<meta name="copyright" content="None">
|
||||
|
||||
<link rel="icon" type="image/png" href="../S/images/logo_imapsync_s.png" >
|
||||
<link href="../S/style.css" rel="stylesheet" type="text/css">
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!--
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
|
||||
-->
|
||||
|
||||
|
||||
<!--
|
||||
The link to the HTML5Shiv must be placed in the <head> element, after any stylesheets
|
||||
http://www.w3schools.com/html/html5_browsers.asp
|
||||
-->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
|
||||
<h1>
|
||||
Privacy Policy
|
||||
<a id="Privacy_Policy" href="../#TOP"><small>(back to menu)</small></a>
|
||||
</h1>
|
||||
|
||||
|
||||
<p>Effective date: November 1, 2010</p>
|
||||
|
||||
|
||||
<p>
|
||||
Gilles LAMIRAL (I) operates the
|
||||
<a href="https://imapsync.lamiral.info/X">
|
||||
Imapsync Online Service</a> (the "Service").
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This page informs you of our policies regarding the collection, use,
|
||||
and disclosure of personal data when you use our Service
|
||||
and the choices you have associated with that data.
|
||||
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We use your data to provide and improve the Service.
|
||||
By using the Service, you agree to the collection
|
||||
and use of information in accordance with this policy.
|
||||
|
||||
Unless otherwise defined in this Privacy Policy,
|
||||
terms used in this Privacy Policy have the same meanings
|
||||
as in our Terms and Conditions,
|
||||
accessible from https://imapsync.lamiral.info</p>
|
||||
|
||||
|
||||
<h2>Information Collection And Use</h2>
|
||||
|
||||
<p>We collect several different types of information
|
||||
for various purposes to provide and improve our Service to you.</p>
|
||||
|
||||
<h3>Types of Data Collected</h3>
|
||||
|
||||
<h4>Personal Data</h4>
|
||||
|
||||
<p>While using our Service, we may ask you to provide us with
|
||||
certain personally identifiable information that can be used to
|
||||
contact or identify you ("Personal Data").
|
||||
Personally identifiable information may include, but is not limited to:</p>
|
||||
|
||||
<ul>
|
||||
<li>Email address</li>
|
||||
<li>Cookies and Usage Data</li>
|
||||
</ul>
|
||||
|
||||
<h4>Usage Data</h4>
|
||||
|
||||
<p>
|
||||
We may also collect information how the Service is
|
||||
accessed and used ("Usage Data").
|
||||
This Usage Data may include information such as your
|
||||
computer's Internet Protocol address (e.g. IP address),
|
||||
browser type, browser version,
|
||||
the pages of our Service that you visit, the time and date of your visit,
|
||||
the time spent on those pages, unique device identifiers
|
||||
and other diagnostic data.</p>
|
||||
|
||||
<h4>Tracking & Cookies Data</h4>
|
||||
|
||||
<p>
|
||||
We use cookies and similar tracking technologies to track the activity
|
||||
on our Service and hold certain information.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Cookies are files with small amount of data which may include an
|
||||
anonymous unique identifier.
|
||||
Cookies are sent to your browser from a website and stored on your device.
|
||||
Tracking technologies also used are beacons, tags, and scripts to collect
|
||||
and track information and to improve and analyze our Service.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can instruct your browser to refuse all cookies or to indicate
|
||||
when a cookie is being sent.
|
||||
If you do not accept cookies, it should be ok to use our Service.
|
||||
</p>
|
||||
|
||||
<p>Examples of Cookies we use:</p>
|
||||
<ul>
|
||||
<li><strong>Session Cookies.</strong> We use Session Cookies to operate our Service.</li>
|
||||
<li><strong>Preference Cookies.</strong> We use Preference Cookies to remember your preferences and various settings.</li>
|
||||
<li><strong>Security Cookies.</strong> We use Security Cookies for security purposes.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Use of Data</h2>
|
||||
|
||||
<p>imapsync uses the collected data for various purposes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>To provide and maintain the Service</li>
|
||||
<li>To notify you about changes to our Service</li>
|
||||
<li>To allow you to participate in interactive features of our Service when you choose to do so</li>
|
||||
<li>To provide customer care and support</li>
|
||||
<li>To provide analysis or valuable information so that we can improve the Service</li>
|
||||
<li>To monitor the usage of the Service</li>
|
||||
<li>To detect, prevent and address technical issues</li>
|
||||
</ul>
|
||||
|
||||
<h2>Transfer Of Data</h2>
|
||||
|
||||
<p>
|
||||
Your information, including Personal Data, may be transferred to
|
||||
— and maintained on — computers located outside of your state,
|
||||
province, country or other governmental jurisdiction where the
|
||||
data protection laws may differ than those from your jurisdiction.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you are located outside France and choose to provide information to us,
|
||||
please note that we transfer the data, including Personal Data,
|
||||
to France and process it there.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Your consent to this Privacy Policy followed by your submission of
|
||||
such information represents your agreement to that transfer.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
imapsync will take all steps reasonably necessary to ensure that your
|
||||
data is treated securely and in accordance with this Privacy Policy and
|
||||
no transfer of your Personal Data will take place to an organization or
|
||||
a country unless there are adequate controls in place including the
|
||||
security of your data and other personal information.
|
||||
</p>
|
||||
|
||||
<h2>Disclosure Of Data</h2>
|
||||
|
||||
<h3>Legal Requirements</h3>
|
||||
|
||||
<p>imapsync may disclose your Personal Data in the
|
||||
good faith belief that such action is necessary to:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>To comply with a legal obligation</li>
|
||||
|
||||
<li>To protect and defend the rights or property of imapsync</li>
|
||||
|
||||
<li>
|
||||
To prevent or investigate possible wrongdoing in
|
||||
connection with the Service
|
||||
</li>
|
||||
|
||||
<li>
|
||||
To protect the personal safety of users of
|
||||
the Service or the public
|
||||
</li>
|
||||
|
||||
<li>To protect against legal liability</li>
|
||||
</ul>
|
||||
|
||||
<h2>Security Of Data</h2>
|
||||
|
||||
<p>The security of your data is important to us, but remember that
|
||||
no method of transmission over the Internet,
|
||||
or method of electronic storage is 100% secure.
|
||||
|
||||
While we strive to use commercially acceptable means
|
||||
to protect your Personal Data, we cannot guarantee
|
||||
its absolute security.
|
||||
</p>
|
||||
|
||||
<h2>Service Providers</h2>
|
||||
|
||||
<p>We may employ third party companies and individuals
|
||||
to facilitate our Service ("Service Providers"),
|
||||
to provide the Service on our behalf,
|
||||
to perform Service-related services
|
||||
or to assist us in analyzing how our Service is used.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
These third parties have access to your Personal Data only
|
||||
to perform these tasks on our behalf and are obligated
|
||||
not to disclose or use it for any other purpose.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>Links To Other Sites</h2>
|
||||
|
||||
<p>
|
||||
Our Service may contain links to other sites that are not operated by us.
|
||||
If you click on a third party link, you will be directed to
|
||||
that third party's site.
|
||||
We strongly advise you to review the Privacy Policy of every site you visit.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We have no control over and assume no responsibility for the content,
|
||||
privacy policies or practices of any third party sites or services.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Children's Privacy</h2>
|
||||
|
||||
<p>Our Service does not address anyone under the age of 18 ("Children").
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We do not knowingly collect personally identifiable information
|
||||
from anyone under the age of 18.
|
||||
If you are a parent or guardian and you are aware
|
||||
that your Children has provided us with Personal Data,
|
||||
please contact us.
|
||||
|
||||
If we become aware that we have collected Personal Data
|
||||
from children without verification of parental consent,
|
||||
we take steps to remove that information from our servers.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Changes To This Privacy Policy</h2>
|
||||
|
||||
<p>
|
||||
We may update our Privacy Policy from time to time.
|
||||
We will notify you of any changes by posting the
|
||||
new Privacy Policy on this page.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
We will let you know via email and/or a prominent notice
|
||||
on our Service, prior to the change becoming effective and
|
||||
update the "effective date" at the top of this Privacy Policy.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You are advised to review this Privacy Policy periodically
|
||||
for any changes.
|
||||
Changes to this Privacy Policy are effective when
|
||||
they are posted on this page.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Contact Us</h2>
|
||||
|
||||
<p>If you have any questions about this Privacy Policy, please contact us:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>By email: gilles@lamiral.info</li>
|
||||
|
||||
<li>By visiting this page on our website:
|
||||
<a href="https://imapsync.lamiral.info">https://imapsync.lamiral.info
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>By phone number: +33619220354</li>
|
||||
|
||||
<li>By mail: Gilles LAMIRAL, 22 La Billais, 35580 Baulon, France</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<p>
|
||||
Our Privacy Policy for imapsync was created with the help of the
|
||||
<a href="https://www.freeprivacypolicy.com/free-privacy-policy-generator.php">
|
||||
Free Privacy Policy Generator</a>.
|
||||
</p>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<hr>
|
||||
|
||||
<a href="http://validator.w3.org/check?uri=referer">
|
||||
<img
|
||||
src="../S/images/valid-W3C-html5.png"
|
||||
alt="Valid HTML5" height="31" width="88" >
|
||||
</a>
|
||||
|
||||
<a href="http://jigsaw.w3.org/css-validator/check/referer">
|
||||
<img style="border:0;width:88px;height:31px"
|
||||
src="../S/images/vcss-blue"
|
||||
alt="CSS Valide !" >
|
||||
</a>
|
||||
|
||||
<a href="http://www.anybrowser.org/campaign/">
|
||||
<img style="border:0;width:88px;height:31px"
|
||||
src="../S/images/ab_jlh.png"
|
||||
alt="Viewable With Any Browser" >
|
||||
</a>
|
||||
|
||||
<hr>
|
||||
<p>
|
||||
<!--#config timefmt="%D" -->
|
||||
<!--#config timefmt="%A %B %d, %Y" -->
|
||||
<b>This document was last modified on <!--#echo var="LAST_MODIFIED" --></b>
|
||||
($Id: privacy_policy.shtml,v 1.3 2019/12/23 15:57:00 gilles Exp gilles $)<br>
|
||||
<a href="#TOP">Top of the page</a>
|
||||
</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
409
S/terms_and_conditions.shtml
Normal file
409
S/terms_and_conditions.shtml
Normal file
@ -0,0 +1,409 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en" id="TOP">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" >
|
||||
<title>Imapsync Terms and Conditions</title>
|
||||
<meta name="author" content="Gilles LAMIRAL" >
|
||||
<meta name="copyright" content="None">
|
||||
|
||||
<link rel="icon" type="image/png" href="../S/images/logo_imapsync_s.png" >
|
||||
<link href="../S/style.css" rel="stylesheet" type="text/css">
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!--
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
|
||||
-->
|
||||
|
||||
|
||||
<!--
|
||||
The link to the HTML5Shiv must be placed in the <head> element, after any stylesheets
|
||||
http://www.w3schools.com/html/html5_browsers.asp
|
||||
-->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<section>
|
||||
|
||||
|
||||
<h1>Imapsync Terms and Conditions
|
||||
<a id="Terms_and_Conditions" href="../#TOP"><small>(back to menu)</small></a>
|
||||
</h1>
|
||||
|
||||
|
||||
<p>Please read these terms and conditions carefully before using Our Service.
|
||||
</p>
|
||||
|
||||
<h1>Interpretation and Definitions</h1>
|
||||
|
||||
<h2>Interpretation</h2>
|
||||
|
||||
<p>
|
||||
The words of which the initial letter is capitalized
|
||||
have meanings defined under the following conditions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The following definitions shall have the same meaning
|
||||
regardless of whether they appear in singular or in plural.
|
||||
</p>
|
||||
|
||||
<h2>Definitions</h2>
|
||||
|
||||
<p>For the purposes of these Terms and Conditions:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Affiliate</strong> means an entity that controls,
|
||||
is controlled by or is under common control with a party,
|
||||
where "control" means ownership of 50% or more of the shares,
|
||||
equity interest or other securities entitled to vote for election
|
||||
of directors or other managing authority.
|
||||
</li>
|
||||
|
||||
<li><strong>Company</strong> (referred to as either "the Company",
|
||||
"We", "Us" or "Our" in this Agreement) refers to Gilles LAMIRAL.
|
||||
</li>
|
||||
|
||||
<li><strong>Country</strong> refers to: France</li>
|
||||
|
||||
<li><strong>Service</strong> refers to the Website.</li>
|
||||
|
||||
<li><strong>Terms and Conditions</strong> (also referred as "Terms")
|
||||
mean these Terms and Conditions that form the entire agreement
|
||||
between You and the Company regarding the use of the Service.
|
||||
</li>
|
||||
|
||||
<li><strong>Third-party Social Media Service</strong> means
|
||||
any services or content
|
||||
(including data, information, products or services)
|
||||
provided by a third-party that may be displayed,
|
||||
included or made available by the Service.
|
||||
</li>
|
||||
|
||||
<li><strong>Website</strong> refers to Imapsync,
|
||||
accessible from https://imapsync.lamiral.info
|
||||
</li>
|
||||
|
||||
<li><strong>You</strong> means the individual
|
||||
accessing or using the Service, or the company,
|
||||
or other legal entity on behalf of which
|
||||
such individual is accessing or using the Service,
|
||||
as applicable.</li>
|
||||
</ul>
|
||||
|
||||
<h1>Acknowledgement</h1>
|
||||
|
||||
<p>
|
||||
These are the Terms and Conditions governing the use of this Service
|
||||
and the agreement that operates between You and the Company.
|
||||
These Terms and Conditions set out the rights and obligations
|
||||
of all users regarding the use of the Service.
|
||||
</p>
|
||||
|
||||
<p>Your access to and use of the Service is conditioned on
|
||||
Your acceptance of and compliance with these Terms and Conditions.
|
||||
These Terms and Conditions apply to all visitors,
|
||||
users and others who access or use the Service.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
By accessing or using the Service
|
||||
You agree to be bound by these Terms and Conditions.
|
||||
If You disagree with any part of these Terms and Conditions then
|
||||
You may not access the Service.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Your access to and use of the Service is also conditioned on Your
|
||||
acceptance of and compliance with the Privacy Policy of the Company.
|
||||
Our Privacy Policy describes Our policies and procedures on the collection,
|
||||
use and disclosure of Your personal information when You
|
||||
use the Application or the Website and tells You
|
||||
about Your privacy rights and how the law protects You.
|
||||
Please read Our <a href="privacy_policy.shtml">Privacy Policy</a>
|
||||
carefully before using Our Service.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h1>Links to Other Websites</h1>
|
||||
|
||||
<p>
|
||||
Our Service may contain links to third-party web sites or services
|
||||
that are not owned or controlled by the Company.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Company has no control over, and assumes no responsibility for,
|
||||
the content, privacy policies, or practices of any third
|
||||
party web sites or services.
|
||||
You further acknowledge and agree that the Company shall not
|
||||
be responsible or liable, directly or indirectly,
|
||||
for any damage or loss caused or alleged to be caused by or
|
||||
in connection with the use of or reliance on any such content,
|
||||
goods or services available on or through any such web sites or services.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We strongly advise You to read the terms and conditions and
|
||||
privacy policies of any third-party web sites or services that You visit.
|
||||
</p>
|
||||
|
||||
<h1>Termination</h1>
|
||||
|
||||
<p>
|
||||
We may terminate or suspend Your access immediately,
|
||||
without prior notice or liability,
|
||||
for any reason whatsoever,
|
||||
including without limitation if You breach these Terms and Conditions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Upon termination, Your right to use the Service will cease immediately.
|
||||
</p>
|
||||
|
||||
<h1>Limitation of Liability</h1>
|
||||
|
||||
<p>
|
||||
Notwithstanding any damages that You might incur,
|
||||
the entire liability of the Company and any of its suppliers under
|
||||
any provision of this Terms and Your exclusive remedy for all of
|
||||
the foregoing shall be limited to the amount actually paid by You through
|
||||
the Service or nothing if You haven't purchased anything through the Service.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To the maximum extent permitted by applicable law,
|
||||
in no event shall the Company or its suppliers be liable for any
|
||||
special, incidental, indirect, or consequential
|
||||
damages whatsoever (including, but not limited to,
|
||||
damages for loss of profits, loss of data or other information,
|
||||
for business interruption, for personal injury,
|
||||
loss of privacy arising out of or in any way related
|
||||
to the use of or inability to use the Service,
|
||||
third-party software and/or third-party hardware used with
|
||||
the Service, or otherwise in connection with any
|
||||
provision of this Terms), even if the Company or any supplier has been
|
||||
advised of the possibility of such damages and
|
||||
even if the remedy fails of its essential purpose.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Some states do not allow the exclusion of implied warranties or
|
||||
limitation of liability for incidental or consequential damages, which
|
||||
means that some of the above limitations may not apply.
|
||||
In these states, each party's liability will be limited to
|
||||
the greatest extent permitted by law.
|
||||
</p>
|
||||
|
||||
<h1>"AS IS" and "AS AVAILABLE" Disclaimer</h1>
|
||||
|
||||
<p>The Service is provided to You "AS IS" and "AS AVAILABLE" and with
|
||||
all faults and defects without warranty of any kind.
|
||||
To the maximum extent permitted under applicable law, the Company, on its
|
||||
own behalf and on behalf of its Affiliates and its and their
|
||||
respective licensors and service providers, expressly disclaims
|
||||
all warranties, whether express, implied, statutory or otherwise,
|
||||
with respect to the Service, including all implied warranties of
|
||||
merchantability, fitness for a particular purpose, title and
|
||||
non-infringement, and warranties that may arise out of course of
|
||||
dealing, course of performance, usage or trade practice.
|
||||
|
||||
Without limitation to the foregoing, the Company provides no
|
||||
warranty or undertaking, and makes no representation of any
|
||||
kind that the Service will meet Your requirements, achieve any
|
||||
intended results, be compatible or work with any other
|
||||
software, applications, systems or services, operate without
|
||||
interruption, meet any performance or reliability standards or
|
||||
be error free or that any errors or defects can or will be corrected.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Without limiting the foregoing, neither the Company nor any of
|
||||
the company's provider makes any representation or warranty of any
|
||||
kind, express or implied:
|
||||
(i) as to the operation or availability of the Service,
|
||||
or the information, content, and materials
|
||||
or products included thereon;
|
||||
(ii) that the Service will be uninterrupted or error-free;
|
||||
(iii) as to the accuracy, reliability, or currency of any information or
|
||||
content provided through the Service; or
|
||||
(iv) that the Service, its servers, the content, or e-mails sent from or
|
||||
on behalf of the Company are free of viruses, scripts, trojan horses,
|
||||
worms, malware, timebombs or other harmful components.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Some jurisdictions do not allow the exclusion of certain types of
|
||||
warranties or limitations on applicable statutory rights of
|
||||
a consumer, so some or all of the above exclusions and
|
||||
limitations may not apply to You.
|
||||
But in such a case the exclusions and limitations set forth in
|
||||
this section shall be applied to the greatest extent enforceable
|
||||
under applicable law.
|
||||
</p>
|
||||
|
||||
<h1>Governing Law</h1>
|
||||
|
||||
<p>
|
||||
The laws of the Country, excluding its conflicts of law rules, shall
|
||||
govern this Terms and Your use of the Service.
|
||||
Your use of the Application may also be subject to other
|
||||
local, state, national, or international laws.
|
||||
</p>
|
||||
|
||||
<h1>Disputes Resolution</h1>
|
||||
|
||||
<p>
|
||||
If You have any concern or dispute about the Service, You
|
||||
agree to first try to resolve the dispute informally by
|
||||
contacting the Company.
|
||||
</p>
|
||||
|
||||
|
||||
<h1>For European Union (EU) Users</h1>
|
||||
|
||||
<p>
|
||||
If You are a European Union consumer, you will benefit from
|
||||
any mandatory provisions of the law of the country in which you
|
||||
are resident in.
|
||||
</p>
|
||||
|
||||
|
||||
<h1>United States Legal Compliance</h1>
|
||||
|
||||
<p>
|
||||
You represent and warrant that
|
||||
(i) You are not located in a country that is subject to the
|
||||
United States government embargo, or that has been designated by
|
||||
the United States government as a “terrorist supporting” country, and
|
||||
(ii) You are not listed on any United States government list of
|
||||
prohibited or restricted parties.
|
||||
</p>
|
||||
|
||||
<h1>Severability and Waiver</h1>
|
||||
|
||||
<h2>Severability</h2>
|
||||
|
||||
<p>
|
||||
If any provision of these Terms is held to be unenforceable or invalid,
|
||||
such provision will be changed and interpreted to accomplish the
|
||||
objectives of such provision to the greatest extent possible under
|
||||
applicable law and the remaining provisions will continue in full
|
||||
force and effect.
|
||||
</p>
|
||||
|
||||
<h2>Waiver</h2>
|
||||
|
||||
<p>
|
||||
Except as provided herein, the failure to exercise a right or
|
||||
to require performance of an obligation under this Terms shall not
|
||||
effect a party's ability to exercise such right or require such
|
||||
performance at any time thereafter nor shall be the waiver of
|
||||
a breach constitute a waiver of any subsequent breach.
|
||||
</p>
|
||||
|
||||
|
||||
<h1>Translation Interpretation</h1>
|
||||
|
||||
<p>
|
||||
These Terms and Conditions may have been translated
|
||||
if We have made them available to You on our Service.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You agree that the original English text shall prevail
|
||||
in the case of a dispute.
|
||||
</p>
|
||||
|
||||
<h1>Changes to These Terms and Conditions</h1>
|
||||
|
||||
<p>
|
||||
We reserve the right, at Our sole discretion,
|
||||
to modify or replace these Terms at any time.
|
||||
If a revision is material We will make reasonable efforts
|
||||
to provide at least 30 days' notice prior to any new terms taking effect.
|
||||
What constitutes a material change will be determined at Our sole discretion.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
By continuing to access or use Our Service
|
||||
after those revisions become effective,
|
||||
You agree to be bound by the revised terms.
|
||||
If You do not agree to the new terms,
|
||||
in whole or in part,
|
||||
please stop using the website and the Service.
|
||||
</p>
|
||||
|
||||
|
||||
<h1>Contact Us</h1>
|
||||
|
||||
<p>
|
||||
If you have any questions about these Terms and Conditions,
|
||||
You can contact us:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>By email: gilles@lamiral.info</li>
|
||||
|
||||
<li>By visiting this page on our website:
|
||||
<a href="https://imapsync.lamiral.info">https://imapsync.lamiral.info</a>
|
||||
</li>
|
||||
|
||||
<li>By phone number: +33619220354</li>
|
||||
|
||||
<li>By mail: Gilles LAMIRAL, 22 La Billais, 35580 Baulon, France</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Our Terms and Conditions agreement was created with the help of the
|
||||
<a href="https://www.freeprivacypolicy.com/free-terms-conditions-generator/">
|
||||
Free Terms and Conditions Generator
|
||||
</a>.
|
||||
</p>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<hr>
|
||||
|
||||
<a href="http://validator.w3.org/check?uri=referer">
|
||||
<img
|
||||
src="../S/images/valid-W3C-html5.png"
|
||||
alt="Valid HTML5" height="31" width="88" >
|
||||
</a>
|
||||
|
||||
<a href="http://jigsaw.w3.org/css-validator/check/referer">
|
||||
<img style="border:0;width:88px;height:31px"
|
||||
src="../S/images/vcss-blue"
|
||||
alt="CSS Valide !" >
|
||||
</a>
|
||||
|
||||
<a href="http://www.anybrowser.org/campaign/">
|
||||
<img style="border:0;width:88px;height:31px"
|
||||
src="../S/images/ab_jlh.png"
|
||||
alt="Viewable With Any Browser" >
|
||||
</a>
|
||||
|
||||
<hr>
|
||||
<p>
|
||||
<!--#config timefmt="%D" -->
|
||||
<!--#config timefmt="%A %B %d, %Y" -->
|
||||
<b>This document was last modified on <!--#echo var="LAST_MODIFIED" --></b>
|
||||
($Id: terms_and_conditions.shtml,v 1.2 2019/12/23 15:57:00 gilles Exp gilles $)<br>
|
||||
<a href="#TOP">Top of the page</a>
|
||||
</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -42,6 +42,19 @@ I'm not sure I deserve such great quotes for my work on Imapsync, anyway here th
|
||||
</p>
|
||||
<!--#include file="S/tw-mention.html" -->
|
||||
|
||||
<blockquote class="twitter-tweet">
|
||||
<p lang="en" dir="ltr">What’s your favorite IMAP migration/sync tool? I made the best experiences with
|
||||
<a href="https://twitter.com/imapsync?ref_src=twsrc%5Etfw">@imapsync</a>.
|
||||
Thanks a lot, you saved my day!</p>— petRockBlog (@petrockblog)
|
||||
<a href="https://twitter.com/petrockblog/status/1176558954291314688?ref_src=twsrc%5Etfw">September 24, 2019</a>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">
|
||||
<a href="https://twitter.com/imapsync?ref_src=twsrc%5Etfw">@imapsync</a> is awesome !</p>— Eusener Castilho (@eusener)
|
||||
<a href="https://twitter.com/eusener/status/1172514511082938368?ref_src=twsrc%5Etfw">September 13, 2019</a>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<blockquote class="twitter-tweet" data-cards="hidden" data-lang="en">
|
||||
<p lang="en" dir="ltr">For me, this is still the most useful tool anyone has ever created</p>
|
||||
@ -49,6 +62,21 @@ I'm not sure I deserve such great quotes for my work on Imapsync, anyway here th
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<blockquote class="twitter-tweet">
|
||||
<p lang="en" dir="ltr">You rocks! I'm using IMAPsync since the early days and it resolved soo much problems
|
||||
that some "Enterprise solutions" didn't manage :)))</p>— Manuel Serrenti (@meksone)
|
||||
<a href="https://twitter.com/meksone/status/1149295492133773312?ref_src=twsrc%5Etfw">July 11, 2019</a>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">merci beaucoup for the fantastic
|
||||
<a href="https://twitter.com/imapsync?ref_src=twsrc%5Etfw">@imapsync</a>
|
||||
- well documented, feature filled, great bit of work, thanks loads. donated.
|
||||
</p>— George Wright (@georgie)
|
||||
<a href="https://twitter.com/georgie/status/1164249987435380736?ref_src=twsrc%5Etfw">August 21, 2019</a>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<blockquote class="twitter-tweet" data-lang="en">
|
||||
<p lang="en" dir="ltr">Right next to chocolate, imapsync is humankind’s best invention.</p>
|
||||
— Mathias Maul (@dontcallmedarth)
|
||||
@ -56,6 +84,15 @@ I'm not sure I deserve such great quotes for my work on Imapsync, anyway here th
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<blockquote class="twitter-tweet">
|
||||
<p lang="en" dir="ltr">Finally shifting my mail archives from my scratch-built
|
||||
emails server in Singapore to my new MailCow server in Sydney...
|
||||
imapsync is crucial! And
|
||||
<a href="https://twitter.com/hashtag/PerlLives?src=hash&ref_src=twsrc%5Etfw">#PerlLives</a>!
|
||||
</p>— Dave Lane (@lightweight)
|
||||
<a href="https://twitter.com/lightweight/status/1160484070046031881?ref_src=twsrc%5Etfw">August 11, 2019</a>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<blockquote class="twitter-tweet" data-lang="en">
|
||||
<p lang="en" dir="ltr">Imapsync was the best investment I've ever done.</p> — Uwe Keim
|
||||
@ -63,6 +100,15 @@ I'm not sure I deserve such great quotes for my work on Imapsync, anyway here th
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<blockquote class="twitter-tweet">
|
||||
<p lang="fr" dir="ltr">Bonjour, on recommande d'utiliser l'excellent
|
||||
<a href="https://twitter.com/imapsync?ref_src=twsrc%5Etfw">@imapsync</a>
|
||||
pour ça, il existe même une version en ligne :
|
||||
<a href="https://t.co/ZCNAwjRzby">https://t.co/ZCNAwjRzby</a>
|
||||
</p>— o2switch - Alexis 🐯 (@o2switch_alexis)
|
||||
<a href="https://twitter.com/o2switch_alexis/status/1154349052529664000?ref_src=twsrc%5Etfw">July 25, 2019</a>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">My life right now. Would be 10x worse without <a href="https://twitter.com/imapsync">@imapsync</a>
|
||||
</p>— G.C. (@its_gc)
|
||||
@ -81,7 +127,7 @@ I'm not sure I deserve such great quotes for my work on Imapsync, anyway here th
|
||||
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Hi Gilles! If every tool just fracking worked like this, my life would be sooo much easier. Thanks a ton for this simple to use yet extremely powerfull tool! I'm glad you made it easy to (get) support as well ;)</p>— Jeroen (@Planet_Jeroen) <a href="https://twitter.com/Planet_Jeroen/status/946080311661776896?ref_src=twsrc%5Etfw">December 27, 2017</a></blockquote>
|
||||
<hr>
|
||||
|
||||
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||
<script async src="//platform.twitter.com/widgets.js"></script>
|
||||
|
||||
</section>
|
||||
|
||||
@ -111,7 +157,7 @@ alt="Viewable With Any Browser" >
|
||||
<!--#config timefmt="%D" -->
|
||||
<!--#config timefmt="%A %B %d, %Y" -->
|
||||
<b>This document was last modified on <!--#echo var="LAST_MODIFIED" --></b>
|
||||
($Id: testimonial.shtml,v 1.5 2018/06/10 20:03:54 gilles Exp gilles $)<br>
|
||||
($Id: testimonial.shtml,v 1.8 2019/11/15 11:35:16 gilles Exp gilles $)<br>
|
||||
<a href="#TOP">Top of the page</a>
|
||||
</p>
|
||||
</footer>
|
||||
|
265
TODO
265
TODO
@ -1,5 +1,5 @@
|
||||
#!/bin/cat
|
||||
# $Id: TODO,v 1.215 2019/06/20 10:12:00 gilles Exp gilles $
|
||||
# $Id: TODO,v 1.230 2020/01/03 22:39:22 gilles Exp gilles $
|
||||
|
||||
This documentation is also at http://imapsync.lamiral.info/#doc
|
||||
|
||||
@ -8,6 +8,141 @@ TODO file for imapsync
|
||||
----------------------
|
||||
|
||||
|
||||
SUGGESTED 2020_01_03 by Gilles
|
||||
Bugfix. When running ./imapsync --tests --testslive
|
||||
Host Nb folders are 0, which is false.
|
||||
|
||||
|
||||
SUGGESTED 2020_01_03 by Gilles
|
||||
https://lamiral.info/~gilles/imapsync/cover_db/imapsync.html
|
||||
is result of ./imapsync --tests --testslive
|
||||
Increase the subroutine coverage to 100% by
|
||||
removing unused ones or add a test call for the remaining.
|
||||
|
||||
SUGGESTED 2019_12_26 by Gilles
|
||||
For /X Look at
|
||||
https://en.wikipedia.org/wiki/ModSecurity
|
||||
|
||||
|
||||
SUGGESTED 2019_12_26 by Gilles
|
||||
Look at
|
||||
https://metacpan.org/pod/Test::Warnings
|
||||
|
||||
|
||||
SUGGESTED 2019_12_26 by https://github.com/masbaehr
|
||||
Add the "throttle" word in the README about
|
||||
--maxmessagespersecond --maxbytespersecond
|
||||
See https://github.com/imapsync/imapsync/issues/204
|
||||
|
||||
|
||||
SUGGESTED 2016_07_12 by Fronik
|
||||
With --automap apply the mapping to subfolders of mapped folders.
|
||||
If
|
||||
Sent => Envoyes
|
||||
then
|
||||
Sent.Foo => Envoyes.Foo
|
||||
Sent.Foo.Bar => Envoyes.Foo.bar
|
||||
|
||||
|
||||
SUGGESTED 2019_10_22 by Gilles
|
||||
Add the download link in imapsync itself, with --releasecheck
|
||||
|
||||
SUGGESTED 2019_10_20 by Olav Seyfarth
|
||||
One suggestion/request regarding INSTALL.OnlineUI.txt: Please add a
|
||||
typical NGINX setup since NGINX is used very often now and requires a
|
||||
quite different setup: one has to set up a fcgi service.
|
||||
|
||||
SUGGESTED 2019_10_02 by Joel from Blue Net Box
|
||||
Fix this issue:
|
||||
“imapsync_bin_Darwin” can’t be opened because its integrity cannot be verified.
|
||||
This software needs to be updated. Contact the developer for more information.
|
||||
MacOS 10.15 is the new macOS Catalina (in the last beta phase)
|
||||
This error message happens in a shell window.
|
||||
Same imapsync_bin_Darwin in macOS 10.14 works fine.
|
||||
|
||||
SUGGESTED 2019_10_02 by Gilles
|
||||
Look at Traefik to automatic ssl services (webserver).
|
||||
|
||||
|
||||
RE_SUGGESTED 2019_09_26 by Andre Adrian (rotlaus)
|
||||
Allow @ in subfolder names #195
|
||||
https://github.com/imapsync/imapsync/issues/195
|
||||
Allow also & (imap_utf7 character)
|
||||
Or add a --nosanetizesubfolder option.
|
||||
|
||||
SUGGESTED 2019_07_01 by Jeffrey Thatplayer
|
||||
https://github.com/imapsync/imapsync/issues/181
|
||||
Make sanitizing an option for --subfolder1 --subfolder2
|
||||
Two options? --nosanitize1 --nosanitize2
|
||||
Reflecting more I wonder if sanitizing for --subfolder1 is just stupid.
|
||||
It's not, it's good from the usage point of view, same string to point out
|
||||
the destination backup/restore folder
|
||||
|
||||
|
||||
SUGGESTED 2019_09_23 by Celko Michal.
|
||||
My proposal is to create a status file.
|
||||
it would be a command line option, ex.
|
||||
imapsync ... --status-file /var/www/hosting/tmp/xyz.json
|
||||
When I start imapsync process with this option, it would generate
|
||||
and update this status file every few seconds, so any application
|
||||
can access it and see what's going on with this process without
|
||||
parsing logs or keeping up with the log format when it changes.
|
||||
Example of such status file would be:
|
||||
In progress
|
||||
{
|
||||
"status": "In progress",
|
||||
"progress": "245/5000",
|
||||
"Message": "",
|
||||
"Debug": "",
|
||||
"Process ID": "pid123456"
|
||||
}
|
||||
On error example
|
||||
{
|
||||
"status": "Fail",
|
||||
"progress": "245/5000",
|
||||
"Message": "ERRCODE:123",
|
||||
"Debug": "LOG_imapsync/2019_09_22_09_01_42_058_abc@example.com_JDoe@example.com.txt",
|
||||
"Process ID": "pid123456"
|
||||
}
|
||||
On complete example*
|
||||
{
|
||||
"status": "Completed",
|
||||
"progress": "5000/5000",
|
||||
"Message": "",
|
||||
"Debug": "LOG_imapsync/2019_09_22_09_01_42_058_abc@example.com_JDoe@example.com.txt",
|
||||
"Process ID": ""
|
||||
}
|
||||
|
||||
|
||||
SUGGESTED 2019_07_30 by Gilles
|
||||
Only since imapsync 1.774 the release check is done with
|
||||
\r\n to end lines, instead of the not RFC compliant \n.
|
||||
If I upgrade Apache on imapsync.lamiral.info
|
||||
ii apache2-mpm-worker 2.2.22-13+deb7u7 amd64 Apache HTTP Server - high speed threaded model
|
||||
then any imapsync prior to 1.774 will fail to GET the VERSION file.
|
||||
Release check life with names:
|
||||
|
||||
PeerAddr "linux-france.org" in release 1.350
|
||||
"Host: www.linux-france.org\n\n" in release 1.350 to 1.466
|
||||
|
||||
PeerAddr "imapsync.lamiral.info" in release 1.374 and upper
|
||||
"Host: www.linux-france.org\n\n" in release 1.464 but not after
|
||||
"Host: ks.lamiral.info\n\n" in release 1.467 and upper
|
||||
|
||||
"Host: ks.lamiral.info\r\n\r\n" in release 1.836 and upper
|
||||
|
||||
Solution to test: Use the directive
|
||||
HttpProtocolOptions Unsafe # available from 2.2.32 or 2.4.24
|
||||
http://httpd.apache.org/docs/2.4/mod/core.html#httpprotocoloptions
|
||||
ks5 should be ok: Server Version: Apache/2.4.33 (FreeBSD)
|
||||
|
||||
|
||||
|
||||
SUGGESTED on 31 Jan 2017 by tibbsbrookside
|
||||
Try this code XOAUTH2
|
||||
https://github.com/imapsync/imapsync/issues/87#issuecomment-276298841
|
||||
|
||||
|
||||
SUGGESTED 2019_06_18 by Konrad Wawryn
|
||||
Add NTLMv2 support
|
||||
It shouldn't be that hard to support NTLMv2 because
|
||||
@ -63,11 +198,6 @@ Take a look at
|
||||
Test::NoWarnings
|
||||
Test::Warn
|
||||
|
||||
SUGGESTED 2018_05_15 by Massimo Maggi
|
||||
https://github.com/imapsync/imapsync/issues/141
|
||||
Document --skipcrossduplicates and --debugcrossduplicates in imapsync --help
|
||||
Document all other useful missing options.
|
||||
|
||||
SUGGESTED 2018_05_08 by James B. Byrne
|
||||
Sync also the quota with SETQUOTA
|
||||
https://tools.ietf.org/html/rfc2087
|
||||
@ -76,10 +206,6 @@ SUGGESTED 2017_12_19 by Gilles
|
||||
In foldersizes, add info about the oldest message found: INTERNALDATE EPOCH DAYS_FROM_NOW
|
||||
See draft in sub info_date_from_uid
|
||||
|
||||
SUGGESTED 2017_09_04 by Gilles
|
||||
STDOUT instead of STDERR with Mail::IMAPClient output.
|
||||
Shoul be easy using $imap->Debug_fh($fileHandle);
|
||||
|
||||
|
||||
SUGGESTED 2017_08_31 by Gilles
|
||||
Makefile. Add a "make docker" goal that build, test and publish the
|
||||
@ -108,16 +234,6 @@ Review the "make install" in Makefile
|
||||
SUGGESTED 2017_04_26 by Franco Fassio
|
||||
--usecache with trailing dots foo... in folder name breaks on NTFS.
|
||||
|
||||
SUGGESTED 2017_04_26 by Franco Fassio
|
||||
Check that --maxbyteperseconds does not interfer with --timeout
|
||||
by sleeping too long.
|
||||
|
||||
DONE by Gilles revision 1.795 date: 2017/04/22
|
||||
SUGGESTED 2016_12_01 by Gilles
|
||||
When working under with webmin and virtualmin imapsync
|
||||
acts as a cgi, it should not. Find a way to avoid cgi mode
|
||||
even under a web server. Solution: edit the sub under_cgi_context()
|
||||
|
||||
|
||||
SUGGESTED 2016_11_16 by Flávio Zarur Lucarelli LucaNet Sistemas
|
||||
Getting subjects of messages for duplicates and print them.
|
||||
@ -158,29 +274,12 @@ Exchange Online errors that need a relogin:
|
||||
SUGGESTED 2016_08_31 by Gilles
|
||||
Rename $expungeaftereach $expungeaftereach1 or $expunge1aftereach
|
||||
|
||||
SUGGESTED 2016_08_31 by Gilles & David Carter
|
||||
Detect equivalent folders by upper/lower case on host1
|
||||
and add a way to not merge them when host2 is case insensitive.
|
||||
|
||||
|
||||
SUGGESTED 2016_08_19 by Gilles
|
||||
Go back to SSL_VERIFY_PEER but include
|
||||
SSL_ca_file inside imapsync or near.
|
||||
|
||||
SUGGESTED 2016_08_07 by Gilles
|
||||
Add a meaningful exit value to all die:
|
||||
* fatal software dependency, Perl modules
|
||||
* fatal parameter issue
|
||||
* fatal connect issue
|
||||
* fatal login issue
|
||||
* fatal permission file issue (open)
|
||||
* fatal IMAP issue
|
||||
* fatal IMAP disconnection
|
||||
Maybe replace all die by exit
|
||||
Add a meaningful exit value to all exit
|
||||
* exit at end but with errors
|
||||
* exit at middle because of errormax
|
||||
* exit by signal
|
||||
|
||||
|
||||
SUGGESTED 2016_07_29 by Gilles from CSS3 Coursera course
|
||||
Take a look at
|
||||
@ -190,14 +289,6 @@ SUGGESTED 2016_07_29 by Gilles
|
||||
Move website to HTML5
|
||||
https://about.validator.nu/
|
||||
|
||||
SUGGESTED 2016_07_12 by Fronik
|
||||
With --automap apply the mapping to subfolders of mapped folders.
|
||||
If
|
||||
Sent => Envoyes
|
||||
then
|
||||
Sent.Foo => Envoyes.Foo
|
||||
Sent.Foo.Bar => Envoyes.Foo.bar
|
||||
|
||||
SUGGESTED 2016_07_07 by Jean-Dominique Delyon.
|
||||
Add a way to know easily which account transfers went wrong.
|
||||
Générer un fichier des comptes qui ont rencontré des problèmes
|
||||
@ -245,10 +336,6 @@ no header found so adding our own [Message-Id: <151648@imapsync>]
|
||||
SUGGESTED 2016_04_17 by Gilles
|
||||
Add a --passfile to allow user=>password style file.
|
||||
|
||||
WANTED 2016_03_11
|
||||
Add a FAQ about Authentication failures and quoting.
|
||||
|
||||
|
||||
WANTED 2016_02_10
|
||||
Add stats about "Messages found crossduplicate on host1"
|
||||
|
||||
@ -449,6 +536,41 @@ http://asg.web.cmu.edu/cyrus/download/imapd/altnamespace.html
|
||||
Now the TODO done! (or not)
|
||||
===========================================================================
|
||||
|
||||
DONE 2019/12/16 revision 1.974 by Gilles
|
||||
Use Debug_fh to set where go the --debugimap outputs.
|
||||
SUGGESTED 2017_09_04 by Gilles
|
||||
STDOUT + logfile instead of STDERR with Mail::IMAPClient output.
|
||||
Should be easy using $imap->Debug_fh( $fileHandle ) ;
|
||||
|
||||
DONE 2019_12_11 by Gilles
|
||||
SUGGESTED 2019_11_28 by Gilles
|
||||
Find a place to add this advice:
|
||||
https://github.com/imapsync/imapsync/issues/201#issuecomment-559500077
|
||||
Place: https://imapsync.lamiral.info/FAQ.d/FAQ.Docker.txt
|
||||
|
||||
|
||||
DONE 2019_11_27 by Gilles
|
||||
SUGGESTED 2019_09_30 by Gilles
|
||||
Update the docker build
|
||||
Mail::IMAPClient 3.38 to latest
|
||||
Ok Mail::IMAPClient 3.42 in docker gilleslamiral/imapsync 1.967 a82b5d5ff2f0
|
||||
|
||||
DONE 2019_11_19 by Gilles revision 1.961
|
||||
SUGGESTED 2019_11_13 by Flavio
|
||||
Are --delete2foldersonly or --delete2folders or --delete2foldersbutnot
|
||||
compatible with --subfolder2 ?
|
||||
Yes but fix this
|
||||
--delete2foldersonly SUB --subfolder SUB deletes SUB
|
||||
while
|
||||
--delete2foldersonly SUB. --subfolder SUB does not delete SUB
|
||||
(seen the dot?)
|
||||
|
||||
|
||||
DONE 2019_07_30 by Gilles release 1.955
|
||||
SUGGESTED 2018_05_15 by Massimo Maggi
|
||||
https://github.com/imapsync/imapsync/issues/141
|
||||
Document --skipcrossduplicates and --debugcrossduplicates in imapsync --help
|
||||
|
||||
DONE 2019_04_28 by Gilles
|
||||
SUGGESTED 2016_10_03 by Gilles
|
||||
Do like tail -F on logfile when
|
||||
@ -461,6 +583,43 @@ SUGGESTED 2019_04_25 by Gilles
|
||||
Add length of $cache_dir to
|
||||
Local cache directory: $cache_dir
|
||||
|
||||
|
||||
DONE 2019/04/11 by Gilles revision 1.930
|
||||
SUGGESTED 2016_08_07 by Gilles
|
||||
Add a meaningful exit value to all die:
|
||||
* fatal software dependency, Perl modules
|
||||
* fatal parameter issue
|
||||
* fatal connect issue
|
||||
* fatal login issue
|
||||
* fatal permission file issue (open)
|
||||
* fatal IMAP issue
|
||||
* fatal IMAP disconnection
|
||||
Maybe replace all die by exit
|
||||
Add a meaningful exit value to all exit
|
||||
* exit at end but with errors
|
||||
* exit at middle because of errormax
|
||||
* exit by signal
|
||||
|
||||
|
||||
DONE 2017_07_13
|
||||
SUGGESTED 2016_03_11
|
||||
Add a FAQ about Authentication failures and quoting.
|
||||
FAQ.d/FAQ.Authentication_failure.txt
|
||||
FAQ.d/FAQ.Passwords_on_Unix.txt
|
||||
FAQ.d/FAQ.Passwords_on_Windows.txt
|
||||
|
||||
DONE 2017/05/24 by Gilles revision 1.813
|
||||
SUGGESTED 2017_04_26 by Franco Fassio
|
||||
Check that --maxbyteperseconds does not interfer with --timeout
|
||||
by sleeping too long.
|
||||
|
||||
|
||||
DONE by Gilles revision 1.795 date: 2017/04/22
|
||||
SUGGESTED 2016_12_01 by Gilles
|
||||
When working under with webmin and virtualmin imapsync
|
||||
acts as a cgi, it should not. Find a way to avoid cgi mode
|
||||
even under a web server. Solution: edit the sub under_cgi_context()
|
||||
|
||||
DONE 2019_04_08 by Gilles
|
||||
SUGGESTED 2019_03_06 by Gilles
|
||||
when exit by signal, exit by sending a signal to itself:
|
||||
@ -584,6 +743,12 @@ DONE 2015_08_03. WANTED 2015_07_21
|
||||
Fix W/learn/imap_utf7_encode
|
||||
--regextrans2 "s,El&AOk-ments,&AMk-l&AOk-ments,"
|
||||
|
||||
DONE 2014/10/06 by Gilles revision 1.597
|
||||
SUGGESTED 2016_08_31 by Gilles & David Carter
|
||||
(I don't know why the DONE date older than the SUGGESTED date)
|
||||
Detect equivalent folders by upper/lower case on host1
|
||||
and add a way to not merge them when host2 is case insensitive.
|
||||
|
||||
DONE. Add a FAQ entry about long path over than 260 character on Win32.
|
||||
|
||||
DONE. Build and distribute a standalone Darwin Mac OS X binary.
|
||||
|
@ -697,3 +697,63 @@
|
||||
1561592446 END 1.945 : jeudi 27 juin 2019, 01:40:46 (UTC+0200)
|
||||
1561592446 BEGIN 64bit 1.945 : jeudi 27 juin 2019, 01:40:46 (UTC+0200)
|
||||
1561592761 END 64bit 1.945 : jeudi 27 juin 2019, 01:46:01 (UTC+0200)
|
||||
1563247231 BEGIN 1.947 : mardi 16 juillet 2019, 05:20:31 (UTC+0200)
|
||||
1563271510 BEGIN 1.947 : mardi 16 juillet 2019, 12:05:10 (UTC+0200)
|
||||
1563272943 END 1.947 : mardi 16 juillet 2019, 12:29:03 (UTC+0200)
|
||||
1564388334 BEGIN 1.953 : lundi 29 juillet 2019, 10:18:54 (UTC+0200)
|
||||
1564627935 BEGIN 1.955 : jeudi 1 août 2019, 04:52:15 (UTC+0200)
|
||||
1564629209 END 1.955 : jeudi 1 août 2019, 05:13:29 (UTC+0200)
|
||||
1564629209 BEGIN 64bit 1.955 : jeudi 1 août 2019, 05:13:29 (UTC+0200)
|
||||
1564659229 BEGIN 64bit 1.955 : jeudi 1 août 2019, 13:33:49 (UTC+0200)
|
||||
1564659589 END 64bit 1.955 : jeudi 1 août 2019, 13:39:49 (UTC+0200)
|
||||
1564795411 BEGIN 1.956 : samedi 3 août 2019, 03:23:31 (UTC+0200)
|
||||
1564796657 END 1.956 : samedi 3 août 2019, 03:44:17 (UTC+0200)
|
||||
1564796657 BEGIN 64bit 1.956 : samedi 3 août 2019, 03:44:17 (UTC+0200)
|
||||
1564823546 BEGIN 64bit 1.956 : samedi 3 août 2019, 11:12:26 (UTC+0200)
|
||||
1564823894 END 64bit 1.956 : samedi 3 août 2019, 11:18:14 (UTC+0200)
|
||||
1574416593 BEGIN 1.962 : vendredi 22 novembre 2019, 10:56:34 (UTC+0100)
|
||||
1574419847 BEGIN 1.962 : vendredi 22 novembre 2019, 11:50:47 (UTC+0100)
|
||||
1574429786 BEGIN 64bit 1.962 : vendredi 22 novembre 2019, 14:36:26 (UTC+0100)
|
||||
1574433224 BEGIN 64bit 1.962 : vendredi 22 novembre 2019, 15:33:44 (UTC+0100)
|
||||
1574433927 BEGIN 1.962 : vendredi 22 novembre 2019, 15:45:27 (UTC+0100)
|
||||
1574434278 BEGIN 64bit 1.962 : vendredi 22 novembre 2019, 15:51:18 (UTC+0100)
|
||||
1574434980 BEGIN 64bit 1.962 : vendredi 22 novembre 2019, 16:03:00 (UTC+0100)
|
||||
1574435270 BEGIN 64bit 1.962 : vendredi 22 novembre 2019, 16:07:50 (UTC+0100)
|
||||
1574450028 BEGIN 1.962 : vendredi 22 novembre 2019, 20:13:48 (UTC+0100)
|
||||
1574450399 END 1.962 : vendredi 22 novembre 2019, 20:19:59 (UTC+0100)
|
||||
1574452231 BEGIN 1.962 : vendredi 22 novembre 2019, 20:50:32 (UTC+0100)
|
||||
1574452286 BEGIN 1.962 : vendredi 22 novembre 2019, 20:51:26 (UTC+0100)
|
||||
1574452715 END 1.962 : vendredi 22 novembre 2019, 20:58:36 (UTC+0100)
|
||||
1574681848 BEGIN 64bit 1.962 : lundi 25 novembre 2019, 12:37:28 (UTC+0100)
|
||||
1574692336 BEGIN 1.963 : lundi 25 novembre 2019, 15:32:16 (UTC+0100)
|
||||
1574693629 END 1.963 : lundi 25 novembre 2019, 15:53:49 (UTC+0100)
|
||||
1574693629 BEGIN 64bit 1.963 : lundi 25 novembre 2019, 15:53:49 (UTC+0100)
|
||||
1574693945 END 64bit 1.963 : lundi 25 novembre 2019, 15:59:05 (UTC+0100)
|
||||
1574953419 BEGIN 1.967 : jeudi 28 novembre 2019, 16:03:39 (UTC+0100)
|
||||
1574954698 END 1.967 : jeudi 28 novembre 2019, 16:24:58 (UTC+0100)
|
||||
1574954698 BEGIN 64bit 1.967 : jeudi 28 novembre 2019, 16:24:58 (UTC+0100)
|
||||
1574955031 END 64bit 1.967 : jeudi 28 novembre 2019, 16:30:31 (UTC+0100)
|
||||
1575033978 BEGIN 1.969 : vendredi 29 novembre 2019, 14:26:18 (UTC+0100)
|
||||
1575035212 END 1.969 : vendredi 29 novembre 2019, 14:46:52 (UTC+0100)
|
||||
1575035212 BEGIN 64bit 1.969 : vendredi 29 novembre 2019, 14:46:52 (UTC+0100)
|
||||
1575035732 END 64bit 1.969 : vendredi 29 novembre 2019, 14:55:32 (UTC+0100)
|
||||
1575911925 BEGIN 1.969 : lundi 9 décembre 2019, 18:18:45 (UTC+0100)
|
||||
1575916737 BEGIN 1.969 : lundi 9 décembre 2019, 19:38:57 (UTC+0100)
|
||||
1575924912 END 1.969 : lundi 9 décembre 2019, 21:55:12 (UTC+0100)
|
||||
1575931824 BEGIN 64bit 1.969 : lundi 9 décembre 2019, 23:50:24 (UTC+0100)
|
||||
1575932149 END 64bit 1.969 : lundi 9 décembre 2019, 23:55:49 (UTC+0100)
|
||||
1575933203 BEGIN 1.970 : mardi 10 décembre 2019, 00:13:23 (UTC+0100)
|
||||
1575973632 BEGIN 1.970 : mardi 10 décembre 2019, 11:27:12 (UTC+0100)
|
||||
1575973801 BEGIN 1.970 : mardi 10 décembre 2019, 11:30:01 (UTC+0100)
|
||||
1575973972 BEGIN 1.970 : mardi 10 décembre 2019, 11:32:52 (UTC+0100)
|
||||
1575974574 BEGIN 1.970 : mardi 10 décembre 2019, 11:42:54 (UTC+0100)
|
||||
1575975909 END 1.970 : mardi 10 décembre 2019, 12:05:09 (UTC+0100)
|
||||
1575977906 BEGIN 64bit 1.970 : mardi 10 décembre 2019, 12:38:26 (UTC+0100)
|
||||
1575978279 END 64bit 1.970 : mardi 10 décembre 2019, 12:44:39 (UTC+0100)
|
||||
1575978283 BEGIN 32bit 1.970 : mardi 10 décembre 2019, 12:44:43 (UTC+0100)
|
||||
1575979537 END 32bit 1.970 : mardi 10 décembre 2019, 13:05:37 (UTC+0100)
|
||||
1577132428 BEGIN 64bit 1.977 : lundi 23 décembre 2019, 21:20:28 (UTC+0100)
|
||||
1577133568 BEGIN 64bit 1.977 : lundi 23 décembre 2019, 21:39:28 (UTC+0100)
|
||||
1577134322 END 64bit 1.977 : lundi 23 décembre 2019, 21:52:02 (UTC+0100)
|
||||
1577134327 BEGIN 32bit 1.977 : lundi 23 décembre 2019, 21:52:07 (UTC+0100)
|
||||
1577135607 END 32bit 1.977 : lundi 23 décembre 2019, 22:13:27 (UTC+0100)
|
||||
|
21
W/.compok
21
W/.compok
@ -114,3 +114,24 @@ mardi 25 juin 2019, 10:46:03 (UTC+0200)
|
||||
mardi 25 juin 2019, 18:52:01 (UTC+0200)
|
||||
mercredi 26 juin 2019, 17:34:23 (UTC+0200)
|
||||
mercredi 26 juin 2019, 21:32:34 (UTC+0200)
|
||||
mardi 16 juillet 2019, 03:57:32 (UTC+0200)
|
||||
mercredi 17 juillet 2019, 17:45:33 (UTC+0200)
|
||||
mercredi 17 juillet 2019, 18:35:58 (UTC+0200)
|
||||
mercredi 17 juillet 2019, 18:40:36 (UTC+0200)
|
||||
mercredi 17 juillet 2019, 18:49:36 (UTC+0200)
|
||||
dimanche 21 juillet 2019, 02:47:49 (UTC+0200)
|
||||
jeudi 25 juillet 2019, 19:10:43 (UTC+0200)
|
||||
jeudi 25 juillet 2019, 20:30:32 (UTC+0200)
|
||||
jeudi 25 juillet 2019, 22:46:56 (UTC+0200)
|
||||
vendredi 26 juillet 2019, 12:13:40 (UTC+0200)
|
||||
lundi 29 juillet 2019, 09:26:31 (UTC+0200)
|
||||
jeudi 1 août 2019, 04:03:35 (UTC+0200)
|
||||
samedi 3 août 2019, 02:31:37 (UTC+0200)
|
||||
mercredi 20 novembre 2019, 14:59:11 (UTC+0100)
|
||||
lundi 25 novembre 2019, 15:18:38 (UTC+0100)
|
||||
lundi 2 décembre 2019, 15:59:44 (UTC+0100)
|
||||
mercredi 4 décembre 2019, 19:41:38 (UTC+0100)
|
||||
mercredi 11 décembre 2019, 22:12:49 (UTC+0100)
|
||||
jeudi 19 décembre 2019, 10:52:31 (UTC+0100)
|
||||
vendredi 20 décembre 2019, 18:00:28 (UTC+0100)
|
||||
mardi 24 décembre 2019, 22:25:29 (UTC+0100)
|
||||
|
@ -3942,3 +3942,994 @@
|
||||
2019_06_27_00_22_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_27_00_35_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_27_01_15_17 : ALL 157 TESTS SUCCESSFUL
|
||||
2019_06_28_20_24_14 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_06_28_20_24_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_28_20_25_22 : FAILED 1/2 TESTS: ll_with_errors
|
||||
2019_06_28_21_11_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_28_21_11_12 : FAILED 1/2 TESTS: ll_with_errors
|
||||
2019_06_30_21_14_13 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_30_21_15_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_30_21_15_31 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_06_30_21_18_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_30_21_18_09 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_06_30_21_26_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_30_23_03_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_30_23_32_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_30_23_33_02 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_06_30_23_34_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_30_23_34_41 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_06_30_23_41_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_30_23_41_24 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_06_30_23_52_35 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_06_30_23_52_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_00_12_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_00_12_53 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_00_41_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_00_41_26 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_15_17_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_15_17_34 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_16_14_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_16_14_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_16_14_51 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_16_15_31 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_16_30_47 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_16_31_53 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_18_12_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_13_43 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_18_16_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_16_40 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_18_17_10 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_17_19 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_18_32_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_32_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_18_41_58 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_43_09 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_43_33 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_43_50 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_18_44_22 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_45_02 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_18_45_21 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_45_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_45_38 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_18_46_20 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_18_48_42 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_18_49_32 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_20_18_11 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_20_18_53 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_22_01_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_22_01_48 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_01_22_05_59 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_01_22_06_07 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_02_21_25_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_02_21_26_13 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_02_21_28_46 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_02_21_28_51 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_02_21_30_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_02_21_30_08 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_02_21_30_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_02_21_30_29 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_03_14_53_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_03_14_53_16 : FAILED 1/2 TESTS: ll_empty_test2
|
||||
2019_07_03_14_55_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_03_14_55_30 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_04_01_07_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_04_01_07_45 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_04_04_26_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_04_04_26_53 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_04_04_32_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_04_04_32_34 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_04_04_43_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_04_04_43_23 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_04_13_45_18 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_04_13_45_29 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_04_13_58_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_04_13_59_06 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_04_14_08_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_04_14_08_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_04_14_44_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_04_14_44_28 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_04_17_21_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_04_17_21_45 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_14_26_43 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_14_26_53 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_14_27_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_14_29_16 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_14_42_18 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_14_42_27 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_14_46_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_14_46_59 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_15_45_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_15_45_31 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_15_51_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_15_52_08 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_15_52_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_15_52_27 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_16_03_13 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_16_03_22 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_16_19_18 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_16_19_27 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_16_24_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_16_24_23 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_23_12_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_23_12_43 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_23_28_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_23_28_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_05_23_35_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_05_23_35_51 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_06_13_09_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_06_13_09_58 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_06_17_00_33 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_06_17_00_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_07_23_09_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_07_23_10_06 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_07_23_34_14 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_07_23_34_22 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_07_23_39_28 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_07_23_39_36 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_07_23_41_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_07_23_41_50 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_09_16_01_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_09_16_02_10 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_09_19_34_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_09_19_35_34 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_09_20_11_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_09_20_11_08 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_09_20_23_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_09_20_23_48 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_09_22_46_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_09_22_46_32 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_10_22_02_28 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_10_22_02_37 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_11_00_52_03 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_11_00_53_46 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_14_19_55_10 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_14_19_55_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_14_19_56_35 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_14_19_56_44 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_00_11_52 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_00_11_57 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_00_12_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_00_13_00 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_00_13_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_00_13_38 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_00_19_14 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_00_19_18 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_00_23_12 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_00_23_16 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_00_35_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_00_35_25 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_00_39_09 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_00_39_20 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_00_41_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_00_41_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_01_59_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_01_59_12 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_01_59_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_01_59_28 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_02_06_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_02_14_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_02_14_33 : FAILED 1/2 TESTS: ll_authmech_X_MASTERAUTH
|
||||
2019_07_15_02_47_31 : ALL 157 TESTS SUCCESSFUL
|
||||
2019_07_15_03_06_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_03_06_16 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_03_07_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_03_07_41 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_15_03_12_22 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_15_03_57_01 : ALL 157 TESTS SUCCESSFUL
|
||||
2019_07_16_05_12_39 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_16_05_15_56 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_02_48_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_02_49_25 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_02_49_31 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_02_49_59 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_02_51_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_02_51_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_02_55_58 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_02_56_06 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_05_57_51 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_06_38_11 : FAILED 1/157 TESTS: ll_subscribed
|
||||
2019_07_17_17_05_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_17_07_11 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_17_44_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_17_44_10 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_19_56_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_20_10_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_20_11_31 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_20_17_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_20_17_59 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_20_19_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_20_20_46 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_17_20_28_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_17_20_29_14 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_18_05_05_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_18_05_05_18 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_18_05_08_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_18_05_08_16 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_18_05_37_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_18_05_37_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_18_05_46_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_18_17_20_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_18_17_20_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_02_06_10 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_02_47_37 : ALL 157 TESTS SUCCESSFUL
|
||||
2019_07_21_03_24_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_03_30_23 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_10_57_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_10_58_56 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_10_59_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_10_59_29 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_11_00_47 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_11_00_54 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_11_07_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_11_07_48 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_11_13_51 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_21_11_16_19 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_11_16_26 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_11_40_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_11_40_24 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_11_40_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_11_40_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_11_41_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_11_41_26 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_11_49_34 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_21_11_50_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_11_50_46 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_11_51_56 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_11_52_06 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_11_53_28 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_21_11_54_28 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_11_54_35 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_12_00_04 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_12_00_11 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_21_12_01_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_21_12_01_44 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_15_33_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_15_33_39 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_15_34_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_15_34_11 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_15_36_35 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_15_36_43 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_15_37_43 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_15_37_48 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_15_40_45 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_22_15_43_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_15_43_06 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_15_44_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_15_44_25 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_21_03_28 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_03_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_21_05_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_05_50 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_21_10_19 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_10_24 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_21_16_30 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_16_35 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_21_17_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_17_55 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_21_28_22 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_28_27 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_21_28_46 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_29_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_29_40 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_21_32_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_32_47 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_22_21_32_53 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_22_21_33_58 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_38_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_39_08 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_39_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_39_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_39_58 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_41_08 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_44_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_44_51 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_47_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_47_25 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_48_31 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_49_19 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_49_19 : FAILED 1/2 TESTS: ll_search2_NOT_OR_OR_UID
|
||||
2019_07_24_20_49_53 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_51_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_51_34 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_51_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_52_03 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_52_22 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_52_36 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_53_19 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_53_34 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_20_53_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_20_54_05 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_21_09_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_21_09_54 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_21_12_21 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_24_21_12_41 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_24_21_12_54 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_24_21_13_19 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_24_21_13_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_21_13_48 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_21_13_53 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_21_14_08 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_21_14_46 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_21_15_01 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_21_24_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_21_25_15 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_21_32_32 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_24_21_33_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_21_33_15 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_24_21_42_22 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_24_21_42_34 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_00_23_03 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_00_23_16 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_14_27_42 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_29_23 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_14_38_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_38_19 : FAILED 1/3 TESTS: titi
|
||||
2019_07_25_14_38_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_38_23 : FAILED 1/3 TESTS: titi
|
||||
2019_07_25_14_40_21 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_40_21 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_14_40_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_40_26 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_14_40_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_40_30 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_14_40_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_41_21 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_14_45_43 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_46_24 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_14_50_51 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_51_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_14_58_33 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_14_58_49 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_15_01_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_15_01_34 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_15_03_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_15_03_49 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_15_04_32 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_15_04_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_15_04_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_15_04_36 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_15_17_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_15_18_23 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_16_59_13 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_17_00_02 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_17_51_42 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_17_51_57 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_18_03_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_18_04_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_18_05_20 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_25_18_29_33 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_25_19_10_24 : FAILED 3/157 TESTS: option_tests option_tests_in_var_tmp option_tests_in_var_tmp_sub
|
||||
2019_07_26_00_53_21 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_00_54_27 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_00_54_56 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_00_56_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_00_56_14 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_00_57_35 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_00_57_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_02_18 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_02_25 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_03_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_03_21 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_05_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_05_44 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_08_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_08_10 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_16_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_17_00 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_19_59 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_20_18 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_22_14 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_22_27 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_27_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_28_09 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_31_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_31_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_01_34_01 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_01_34_14 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_09_29_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_09_30_48 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_09_55_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_09_55_30 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_10_34_48 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_26_10_36_46 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_10_36_51 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_10_38_35 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_10_40_19 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_10_40_26 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_10_41_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_10_43_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_10_44_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_10_45_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_11_24_51 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_11_27_32 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_11_27_43 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_11_30_21 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_11_30_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_11_32_28 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_12_13_31 : FAILED 5/157 TESTS: first_sync_dry first_sync yahoo_all ll_justfolders_delete1emptyfolders ll_sep2
|
||||
2019_07_26_12_54_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_13_01_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_26_21_21_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_26_21_21_32 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_05_27_08 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_27_05_52_36 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_27_06_01_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_01_49 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_03_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_03_49 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_05_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_05_35 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_06_31 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_06_41 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_09_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_10_02 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_10_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_11_14 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_11_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_12_12 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_12_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_12_54 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_29_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_30_07 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_31_06 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_31_16 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_33_18 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_33_25 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_34_21 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_41_25 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_06_43_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_06_44_03 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_10_02_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_10_03_23 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_10_08_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_10_08_14 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_10_09_30 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_10_09_30 : FAILED 1/2 TESTS: ll_justfoldersizes_noexist!
|
||||
2019_07_27_10_09_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_10_09_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_10_10_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_10_11_03 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_10_13_59 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_10_14_06 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_10_15_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_10_15_16 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_08_43 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_08_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_19_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_19_09 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_21_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_21_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_34_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_34_47 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_35_32 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_36_10 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_36_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_36_37 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_36_47 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_36_57 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_37_06 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_37_17 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_37_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_37_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_38_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_39_03 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_27_11_41_04 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_27_11_41_15 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_02_51_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_02_52_19 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_02_53_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_02_54_15 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_02_57_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_02_58_20 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_00_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_01_18 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_07_42 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_08_24 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_10_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_11_37 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_14_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_14_17 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_18_39 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_18_46 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_18_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_19_26 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_24_14 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_07_28_03_25_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_25_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_27_22 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_27_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_32_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_32_35 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_32_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_32_39 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_32_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_33_07 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_35_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_35_24 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_35_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_36_07 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_37_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_37_57 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_38_01 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_38_01 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_03_38_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_38_09 : ALL 4 TESTS SUCCESSFUL
|
||||
2019_07_28_03_38_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_03_38_28 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_28_04_17_19 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_04_17_20 : ALL 4 TESTS SUCCESSFUL
|
||||
2019_07_28_04_17_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_04_17_23 : ALL 4 TESTS SUCCESSFUL
|
||||
2019_07_28_04_17_27 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_28_04_17_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_29_08_42_09 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_29_09_26_18 : FAILED 7/157 TESTS: first_sync_dry first_sync yahoo_all ll_justfolders_delete1emptyfolders ll_sep2 ll_domino1_domino2 ll_domino2
|
||||
2019_07_29_10_11_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_29_10_14_23 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_30_00_39_42 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_30_00_39_51 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_30_11_17_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_31_15_02_48 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_31_15_02_55 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_31_17_57_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_07_31_17_57_09 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_07_31_19_05_39 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_03_19_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_04_03_21 : FAILED 7/157 TESTS: first_sync_dry first_sync yahoo_all ll_justfolders_delete1emptyfolders ll_sep2 ll_domino1_domino2 ll_domino2
|
||||
2019_08_01_04_43_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_04_47_48 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_18_46_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_18_47_21 : FAILED 1/2 TESTS: ll_regexmess_add_header
|
||||
2019_08_01_18_47_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_18_48_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_18_49_31 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_18_54_01 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_18_54_07 : FAILED 1/2 TESTS: ll_regexmess_add_header
|
||||
2019_08_01_18_54_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_18_54_43 : FAILED 1/2 TESTS: ll_regexmess_add_header
|
||||
2019_08_01_18_55_35 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_18_55_41 : FAILED 1/2 TESTS: ll_regexmess_add_header
|
||||
2019_08_01_18_59_33 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_18_59_38 : FAILED 1/2 TESTS: ll_regexmess_add_header
|
||||
2019_08_01_19_00_46 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_19_00_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_19_04_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_19_04_12 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_01_19_07_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_19_07_06 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_01_20_35_48 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_35_54 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_01_20_40_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_40_44 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_01_20_44_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_44_29 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_20_45_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_45_27 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_20_46_51 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_46_55 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_20_47_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_47_08 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_01_20_49_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_49_19 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_20_51_11 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_51_15 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_20_52_35 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_52_40 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_20_53_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_53_21 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_20_53_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_20_53_48 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_21_16_30 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_21_16_35 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_21_23_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_21_23_49 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_21_31_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_21_31_30 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_21_31_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_21_31_46 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_01_21_34_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_21_34_31 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_21_37_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_21_37_51 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_21_39_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_21_39_07 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_01_21_39_35 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_21_39_41 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_01_21_41_42 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_22_24_04 : FAILED 7/159 TESTS: first_sync_dry first_sync yahoo_all ll_justfolders_delete1emptyfolders ll_sep2 ll_domino1_domino2 ll_domino2
|
||||
2019_08_01_22_36_10 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_22_39_03 : FAILED 7/8 TESTS: first_sync_dry first_sync yahoo_all ll_justfolders_delete1emptyfolders ll_sep2 ll_domino1_domino2 ll_domino2
|
||||
2019_08_01_22_39_18 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_01_22_39_24 : FAILED 1/2 TESTS: ll_domino2
|
||||
2019_08_02_13_58_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_13_59_03 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_14_00_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_14_00_44 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_14_01_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_14_01_45 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_14_03_56 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_14_04_02 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_14_04_33 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_14_04_40 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_14_06_14 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_14_06_27 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_14_17_30 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_14_17_36 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_02_14_25_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_14_25_16 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_02_14_25_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_14_26_05 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_02_15_51_14 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_15_51_28 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_15_52_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_15_53_04 : FAILED 1/2 TESTS: ll_regexmess_add_header_path
|
||||
2019_08_02_15_54_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_15_54_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_15_55_09 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_15_55_29 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_15_55_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_15_55_56 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_15_57_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_15_58_03 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_15_59_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_15_59_22 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_15_59_56 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_16_00_12 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_16_02_10 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_16_02_21 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_20_59_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_20_59_55 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_21_01_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_21_01_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_21_03_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_21_03_05 : FAILED 1/2 TESTS: ll_justfoldersizes_noexist
|
||||
2019_08_02_21_12_13 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_08_02_21_12_52 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_21_12_56 : FAILED 1/2 TESTS: ll_justfoldersizes_noexist
|
||||
2019_08_02_21_14_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_21_14_28 : FAILED 1/2 TESTS: ll_justfoldersizes_noexist
|
||||
2019_08_02_21_15_46 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_21_15_51 : FAILED 1/2 TESTS: ll_justfoldersizes_noexist
|
||||
2019_08_02_21_17_48 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_21_17_53 : FAILED 1/2 TESTS: ll_justfoldersizes_noexist
|
||||
2019_08_02_21_18_39 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_21_18_44 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_21_19_58 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_22_18_53 : FAILED 4/160 TESTS: yahoo_all ll_sep2 ll_domino1_domino2 ll_domino2
|
||||
2019_08_02_22_22_43 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_22_22_52 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_02_22_34_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_02_23_18_10 : FAILED 4/160 TESTS: first_sync_dry ll_sep2 ll_domino1_domino2 ll_domino2
|
||||
2019_08_03_01_48_18 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_03_02_31_26 : FAILED 4/160 TESTS: first_sync_dry ll_sep2 ll_domino1_domino2 ll_domino2
|
||||
2019_08_03_03_13_59 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_03_03_19_02 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_12_36_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_12_36_24 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_12_37_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_12_37_15 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_12_38_09 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_12_38_17 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_12_39_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_12_39_30 : FAILED 1/2 TESTS: firstclass
|
||||
2019_08_10_12_40_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_12_40_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_12_43_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_12_44_01 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_12_47_48 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_12_48_12 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_12_50_18 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_12_50_43 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_12_59_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_12_59_52 : FAILED 1/2 TESTS: firstclass_fullfill
|
||||
2019_08_10_13_02_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_13_02_42 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_13_03_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_13_03_43 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_13_04_01 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_13_04_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_13_04_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_13_05_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_13_05_46 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_10_13_06_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_10_13_07_02 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_11_40_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_11_40_51 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_11_42_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_11_42_59 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_11_47_58 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_11_48_03 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_11_49_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_11_49_10 : FAILED 1/2 TESTS: ll_justfolders_skipemptyfolders
|
||||
2019_08_29_11_55_17 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_08_29_11_58_33 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_11_58_38 : FAILED 1/2 TESTS: ll_justfolders_skipemptyfolders
|
||||
2019_08_29_19_10_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_10_45 : FAILED 1/2 TESTS: ll_justfolders_skipemptyfolders
|
||||
2019_08_29_19_12_06 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_12_45 : FAILED 1/2 TESTS: ll_delete1_delete1emptyfolders
|
||||
2019_08_29_19_15_03 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_15_26 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_19_21_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_21_17 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_19_21_58 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_22_03 : FAILED 1/2 TESTS: ll_justfolders_skipemptyfolders
|
||||
2019_08_29_19_23_46 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_23_51 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_19_30_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_30_12 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_19_30_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_30_44 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_19_34_30 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_34_47 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_19_35_33 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_39_14 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_19_39_19 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_19_41_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_20_27_41 : FAILED 2/160 TESTS: yahoo_all ll_justfolders_delete1emptyfolders
|
||||
2019_08_29_22_20_12 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_22_22_12 : FAILED 1/3 TESTS: ll_justfolders_delete1emptyfolders
|
||||
2019_08_29_22_23_10 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_22_23_27 : FAILED 1/2 TESTS: ll_justfolders_delete1emptyfolders
|
||||
2019_08_29_22_26_52 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_22_27_09 : FAILED 1/2 TESTS: ll_justfolders_delete1emptyfolders
|
||||
2019_08_29_22_40_17 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_22_40_38 : FAILED 1/2 TESTS: ll_justfolders_delete1emptyfolders
|
||||
2019_08_29_22_40_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_22_41_06 : FAILED 1/2 TESTS: ll_justfolders_delete1emptyfolders
|
||||
2019_08_29_22_41_10 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_22_41_21 : FAILED 1/2 TESTS: ll_justfolders_delete1emptyfolders
|
||||
2019_08_29_22_43_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_22_44_06 : FAILED 1/2 TESTS: ll_justfolders_delete1emptyfolders
|
||||
2019_08_29_22_48_28 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_22_48_51 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_08_29_22_48_58 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_08_29_22_49_16 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_11_11_12_28 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_11_11_12_29 : FAILED 1/2 TESTS: abort_tests
|
||||
2019_09_11_13_56_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_11_13_56_23 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_11_14_05_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_11_14_05_47 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_11_14_15_14 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_11_14_15_24 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_11_14_19_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_11_14_19_22 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_11_17_06_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_11_17_06_56 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_11_23_13_46 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_11_23_13_53 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_12_02_50_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_12_02_50_32 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_12_02_58_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_12_02_58_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_12_02_59_21 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_12_02_59_27 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_12_03_15_52 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_12_03_15_59 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_16_21_56_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_16_21_56_59 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_17_00_22_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_17_00_22_55 : FAILED 1/2 TESTS: abort_tests
|
||||
2019_09_17_00_26_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_17_00_26_28 : FAILED 1/2 TESTS: ll_abort_noprocess
|
||||
2019_09_18_01_06_12 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_06_17 : FAILED 1/2 TESTS: abort_tests
|
||||
2019_09_18_01_07_13 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_07_26 : FAILED 1/2 TESTS: abort_tests
|
||||
2019_09_18_01_24_21 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_24_33 : FAILED 1/2 TESTS: abort_tests
|
||||
2019_09_18_01_35_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_35_40 : FAILED 1/2 TESTS: abort_tests
|
||||
2019_09_18_01_44_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_44_32 : FAILED 1/2 TESTS: abort_tests
|
||||
2019_09_18_01_45_58 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_46_07 : FAILED 1/2 TESTS: ll_abort
|
||||
2019_09_18_01_47_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_47_47 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_01_51_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_51_08 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_01_51_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_51_28 : FAILED 1/2 TESTS: ll_abort
|
||||
2019_09_18_01_56_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_56_34 : FAILED 1/2 TESTS: ll_abort_no_pidfile_option
|
||||
2019_09_18_01_57_51 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_01_57_57 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_02_05_31 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_02_05_38 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_02_05_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_02_05_55 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_02_07_53 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_02_07_59 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_02_08_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_02_08_55 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_08_45_27 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_08_45_39 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_09_21_21 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_09_21_28 : FAILED 1/2 TESTS: ll_abort
|
||||
2019_09_18_09_24_42 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_09_24_49 : FAILED 1/2 TESTS: ll_abort
|
||||
2019_09_18_09_27_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_09_27_55 : FAILED 1/2 TESTS: ll_abort
|
||||
2019_09_18_09_29_12 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_09_29_19 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_09_30_23 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_09_30_50 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_18_23_48_12 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_18_23_48_22 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_09_19_09_40_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_19_10_27_06 : FAILED 1/161 TESTS: option_tests
|
||||
2019_09_19_10_31_06 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_19_10_31_37 : FAILED 1/2 TESTS: option_tests
|
||||
2019_09_19_10_33_14 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_19_10_33_50 : FAILED 1/2 TESTS: option_tests
|
||||
2019_09_19_15_37_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_09_19_15_37_53 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_10_18_15_29_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_10_18_15_30_11 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_10_18_15_30_48 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_10_18_15_31_05 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_10_22_13_27_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_10_22_13_27_22 : FAILED 1/2 TESTS: ll_regextrans2_archive_per_year_flat_hard_year
|
||||
2019_10_22_13_29_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_13_23_47_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_13_23_48_08 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_13_23_49_06 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_13_23_49_22 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_13_23_50_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_13_23_50_14 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_13_23_51_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_13_23_52_05 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_14_12_33_13 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_14_12_33_54 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_14_12_34_47 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_14_12_34_55 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_14_12_38_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_14_12_43_50 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_12_39_18 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_12_39_19 : FAILED 5/6 TESTS: ./W/learn/create_folder localhost titi HUwtEd INBOX.NEW_2
|
||||
2019_11_15_12_39_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_12_40_35 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_12_40_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_12_41_07 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_12_41_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_12_41_49 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_12_44_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_12_44_54 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_12_57_36 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_11_15_12_58_08 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_11_15_12_58_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_12_58_56 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_13_00_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_13_00_59 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_13_04_21 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_13_04_32 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_13_05_40 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_13_05_55 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_13_11_51 : FAILED 1/1 TESTS: perl_syntax
|
||||
2019_11_15_13_13_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_13_13_11 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_13_15_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_13_15_18 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_13_18_24 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_13_18_33 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_15_13_19_05 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_13_19_18 : FAILED 1/2 TESTS: ll_delete2foldersonly_tmp
|
||||
2019_11_15_13_19_26 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_15_13_19_37 : FAILED 1/2 TESTS: ll_delete2foldersonly_tmp
|
||||
2019_11_19_20_42_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_19_20_42_44 : FAILED 1/2 TESTS: ll_delete2foldersonly_tmp
|
||||
2019_11_19_20_44_01 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_19_20_44_07 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_19_20_44_13 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_19_21_32_57 : ALL 161 TESTS SUCCESSFUL
|
||||
2019_11_24_18_28_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_24_18_29_21 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_25_22_52_47 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_25_22_53_03 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_25_22_53_15 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_25_23_15_06 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_25_23_15_16 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_25_23_27_46 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_25_23_27_54 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_28_12_38_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_28_12_38_56 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_11_28_15_56_07 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_28_16_47_06 : FAILED 3/161 TESTS: ks_justconnect_ipv6 ks_justconnect_ipv6_nossl testslive6
|
||||
2019_11_28_16_55_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_28_17_05_35 : FAILED 2/4 TESTS: ks_justconnect_ipv6 ks_justconnect_ipv6_nossl
|
||||
2019_11_29_10_00_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_29_10_00_15 : FAILED 1/2 TESTS: tests_mailimapclient_connect
|
||||
2019_11_29_10_01_12 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_29_10_01_42 : ALL 4 TESTS SUCCESSFUL
|
||||
2019_11_29_12_40_34 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_29_14_25_16 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_29_15_09_06 : FAILED 3/161 TESTS: yahoo_all ks_justconnect_ipv6_nossl testslive6
|
||||
2019_11_29_15_19_59 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_29_15_24_29 : ALL 4 TESTS SUCCESSFUL
|
||||
2019_11_29_15_25_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_11_29_15_28_32 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_12_01_21_34_37 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_01_21_38_48 : FAILED 1/4 TESTS: ks_justconnect_ipv6_nossl
|
||||
2019_12_01_22_25_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_01_22_28_34 : ALL 4 TESTS SUCCESSFUL
|
||||
2019_12_02_11_28_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_02_11_34_33 : FAILED 2/4 TESTS: ks_justconnect_ipv6_nossl testslive6
|
||||
2019_12_02_19_23_38 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_02_20_08_53 : FAILED 3/159 TESTS: option_tests_in_var_tmp option_tests_in_var_tmp_sub ks_justconnect_ipv6
|
||||
2019_12_03_00_14_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_03_00_16_15 : FAILED 2/4 TESTS: option_tests_in_var_tmp_sub ks_justconnect_ipv6
|
||||
2019_12_03_00_17_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_03_00_18_06 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_12_03_00_18_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_03_00_18_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_03_00_23_53 : FAILED 3/4 TESTS: option_tests_in_var_tmp option_tests_in_var_tmp_sub ks_justconnect_ipv6
|
||||
2019_12_06_10_45_32 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_06_11_28_39 : FAILED 2/159 TESTS: option_tests_in_var_tmp ks_justconnect_ipv6
|
||||
2019_12_06_11_32_47 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_06_12_19_04 : FAILED 3/158 TESTS: option_tests option_tests_in_var_tmp option_tests_in_var_tmp_sub
|
||||
2019_12_06_15_21_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_06_15_22_30 : ALL 4 TESTS SUCCESSFUL
|
||||
2019_12_06_15_28_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_06_15_31_58 : FAILED 1/4 TESTS: option_tests_in_var_tmp
|
||||
2019_12_11_20_06_54 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_11_21_28_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_11_22_10_46 : FAILED 1/158 TESTS: option_tests
|
||||
2019_12_12_15_15_00 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_12_16_04_53 : FAILED 1/158 TESTS: option_tests_in_var_tmp_sub
|
||||
2019_12_12_16_35_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_12_16_45_10 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_12_17_40_39 : FAILED 1/158 TESTS: option_tests
|
||||
2019_12_12_19_55_25 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_12_19_56_04 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_12_12_19_56_27 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_12_20_00_08 : FAILED 1/8 TESTS: option_tests
|
||||
2019_12_12_20_08_10 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_12_20_11_59 : ALL 8 TESTS SUCCESSFUL
|
||||
2019_12_12_20_28_44 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_12_21_24_43 : FAILED 1/158 TESTS: yahoo_all
|
||||
2019_12_12_21_29_30 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_12_22_21_51 : FAILED 2/158 TESTS: option_tests ll_abort_cgi_context_tail
|
||||
2019_12_12_22_22_22 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_12_23_12_40 : ALL 158 TESTS SUCCESSFUL
|
||||
2019_12_12_23_12_55 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_13_00_04_24 : ALL 158 TESTS SUCCESSFUL
|
||||
2019_12_13_00_04_39 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_13_00_58_38 : ALL 158 TESTS SUCCESSFUL
|
||||
2019_12_15_02_00_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_15_02_01_28 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_15_02_17_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_15_02_18_28 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_15_02_18_43 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_12_15_02_18_56 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_15_02_57_38 : ALL 158 TESTS SUCCESSFUL
|
||||
2019_12_15_23_49_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_15_23_49_59 : FAILED 1/2 TESTS: ll_justlogin_dollar_char
|
||||
2019_12_15_23_56_02 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_15_23_56_07 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_12_15_23_56_41 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_15_23_56_50 : FAILED 1/2 TESTS: ll_justlogin_dollar_char
|
||||
2019_12_15_23_57_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_15_23_57_19 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_12_17_22_20_49 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_17_22_21_01 : FAILED 1/2 TESTS: ll_authmech_xoauth2_json_gmail_app
|
||||
2019_12_20_17_21_15 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_20_17_59_52 : ALL 158 TESTS SUCCESSFUL
|
||||
2019_12_20_18_50_27 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_20_18_55_47 : ALL 2 TESTS SUCCESSFUL
|
||||
2019_12_21_12_36_50 : ALL 1 TESTS SUCCESSFUL
|
||||
2019_12_21_12_42_18 : ALL 2 TESTS SUCCESSFUL
|
||||
2020_01_01_22_19_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2020_01_01_22_59_11 : ALL 158 TESTS SUCCESSFUL
|
||||
2020_01_01_23_08_57 : ALL 1 TESTS SUCCESSFUL
|
||||
2020_01_01_23_18_28 : ALL 2 TESTS SUCCESSFUL
|
||||
2020_01_02_12_54_08 : ALL 1 TESTS SUCCESSFUL
|
||||
2020_01_02_12_58_26 : ALL 2 TESTS SUCCESSFUL
|
||||
2020_01_02_13_35_45 : ALL 1 TESTS SUCCESSFUL
|
||||
2020_01_02_13_38_50 : ALL 2 TESTS SUCCESSFUL
|
||||
2020_01_03_00_48_36 : ALL 1 TESTS SUCCESSFUL
|
||||
2020_01_03_00_53_07 : ALL 2 TESTS SUCCESSFUL
|
||||
2020_01_03_14_40_29 : ALL 1 TESTS SUCCESSFUL
|
||||
2020_01_03_14_45_00 : ALL 2 TESTS SUCCESSFUL
|
||||
2020_01_03_23_42_20 : ALL 1 TESTS SUCCESSFUL
|
||||
2020_01_04_00_20_39 : ALL 158 TESTS SUCCESSFUL
|
||||
|
1
W/LOG_bat/test_exe_tests.bat.txt
Normal file
1
W/LOG_bat/test_exe_tests.bat.txt
Normal file
@ -0,0 +1 @@
|
||||
Failure running .\imapsync.exe --tests
|
60
W/build_exe.bat
Normal file → Executable file
60
W/build_exe.bat
Normal file → Executable file
@ -1,5 +1,5 @@
|
||||
|
||||
REM $Id: build_exe.bat,v 1.54 2019/05/28 13:20:08 gilles Exp gilles $
|
||||
REM $Id: build_exe.bat,v 1.56 2019/12/11 18:57:20 gilles Exp gilles $
|
||||
|
||||
@SETLOCAL
|
||||
@ECHO Currently running through %0 %*
|
||||
@ -19,9 +19,9 @@ CALL :handle_error CALL :rename_to_old
|
||||
CALL :handle_error CALL :pp_exe
|
||||
CALL :handle_error CALL :copy_with_architecture_name
|
||||
|
||||
@ENDLOCAL
|
||||
@REM Do a PAUSE if run by double-click, aka, explorer (then ). No PAUSE in a DOS window or via ssh.
|
||||
IF %0 EQU "%~dpnx0" IF "%SSH_CLIENT%"=="" PAUSE
|
||||
@ENDLOCAL
|
||||
EXIT /B
|
||||
|
||||
|
||||
@ -42,8 +42,7 @@ EXIT /B
|
||||
@REM 32 bits
|
||||
@REM Do not add command after this one since it will anihilate the %ERRORLEVEL% of pp
|
||||
ECHO Building 32 bits binary PROCESSOR_ARCHITECTURE = %PROCESSOR_ARCHITECTURE%
|
||||
CALL pp -o imapsync.exe -M Test2::Formatter -M Test2::Formatter::TAP -M Test2::Event ^
|
||||
-M Test2::Event::Info ^
|
||||
CALL pp -u -x -o imapsync.exe -M Test2::Formatter -M Test2::Formatter::TAP -M Test2::Event ^
|
||||
--link zlib1_.dll ^
|
||||
--link libcrypto-1_1_.dll ^
|
||||
--link libssl-1_1_.dll ^
|
||||
@ -52,8 +51,8 @@ EXIT /B
|
||||
@REM 64 bits
|
||||
@REM Do not add command after this one since it will anihilate the %ERRORLEVEL% of pp
|
||||
ECHO Building 64 bits binary PROCESSOR_ARCHITECTURE = %PROCESSOR_ARCHITECTURE%
|
||||
CALL pp -o imapsync.exe -M Test2::Formatter -M Test2::Formatter::TAP -M Test2::Event ^
|
||||
-M Test2::Event::Info -M Test2::EventFacet -M Test2::Event::Pass ^
|
||||
CALL pp -u -x -o imapsync.exe -M Test2::Formatter -M Test2::Formatter::TAP -M Test2::Event ^
|
||||
-M Test2::EventFacet -M Test2::Event::Pass ^
|
||||
-M Test2::Event::Fail -M Test2::Event::V2 ^
|
||||
--link libcrypto-1_1-x64__.dll ^
|
||||
--link zlib1__.dll ^
|
||||
@ -63,6 +62,8 @@ EXIT /B
|
||||
@ENDLOCAL
|
||||
EXIT /B
|
||||
|
||||
@REM -M Test2::Event::Info
|
||||
|
||||
|
||||
::------------------------------------------------------
|
||||
::--------------- Copy with architecture name ----------
|
||||
@ -84,7 +85,7 @@ EXIT /B
|
||||
:rename_to_old
|
||||
@SETLOCAL
|
||||
IF EXIST imapsync_old.exe DEL imapsync_old.exe
|
||||
RENAME imapsync.exe imapsync_old.exe
|
||||
IF EXIST imapsync.exe RENAME imapsync.exe imapsync_old.exe
|
||||
@ENDLOCAL
|
||||
EXIT /B
|
||||
::------------------------------------------------------
|
||||
@ -106,6 +107,7 @@ EXIT /B
|
||||
:check_modules
|
||||
@SETLOCAL
|
||||
perl ^
|
||||
-mApp::cpanminus ^
|
||||
-mTest::MockObject ^
|
||||
-mPAR::Packer ^
|
||||
-mReadonly ^
|
||||
@ -135,8 +137,47 @@ perl ^
|
||||
-mCrypt::OpenSSL::RSA ^
|
||||
-mEncode::Byte ^
|
||||
-mFile::Tail ^
|
||||
-mEncode ^
|
||||
-mEncode::IMAPUTF7 ^
|
||||
-mMIME::Base64 ^
|
||||
-e ''
|
||||
IF ERRORLEVEL 1 CALL .\install_modules.bat
|
||||
@ECHO Calling a second time to check all modules are now installed
|
||||
perl ^
|
||||
-mApp::cpanminus ^
|
||||
-mTest::MockObject ^
|
||||
-mPAR::Packer ^
|
||||
-mReadonly ^
|
||||
-mAuthen::NTLM ^
|
||||
-mData::Dumper ^
|
||||
-mData::Uniqid ^
|
||||
-mDigest::HMAC_MD5 ^
|
||||
-mDigest::HMAC_SHA1 ^
|
||||
-mDigest::MD5 ^
|
||||
-mFile::Copy::Recursive ^
|
||||
-mFile::Spec ^
|
||||
-mIO::Socket ^
|
||||
-mIO::Socket::INET ^
|
||||
-mIO::Socket::IP ^
|
||||
-mIO::Socket::SSL ^
|
||||
-mIO::Tee ^
|
||||
-mMail::IMAPClient ^
|
||||
-mRegexp::Common ^
|
||||
-mTerm::ReadKey ^
|
||||
-mTime::Local ^
|
||||
-mUnicode::String ^
|
||||
-mURI::Escape ^
|
||||
-mJSON::WebToken ^
|
||||
-mLWP::UserAgent ^
|
||||
-mHTML::Entities ^
|
||||
-mJSON ^
|
||||
-mCrypt::OpenSSL::RSA ^
|
||||
-mEncode::Byte ^
|
||||
-mFile::Tail ^
|
||||
-mEncode ^
|
||||
-mEncode::IMAPUTF7 ^
|
||||
-mMIME::Base64 ^
|
||||
-e ''
|
||||
@ENDLOCAL
|
||||
EXIT /B
|
||||
::------------------------------------------------------
|
||||
@ -144,10 +185,11 @@ EXIT /B
|
||||
|
||||
|
||||
|
||||
|
||||
::------------------------------------------------------
|
||||
::--------------- Handle error -------------------------
|
||||
:handle_error
|
||||
SETLOCAL
|
||||
@SETLOCAL
|
||||
ECHO IN %0 with parameters %*
|
||||
%*
|
||||
SET CMD_RETURN=%ERRORLEVEL%
|
||||
@ -159,6 +201,6 @@ IF %CMD_RETURN% EQU 0 (
|
||||
IF NOT EXIST LOG_bat MKDIR LOG_bat
|
||||
ECHO Failure calling: %* >> LOG_bat\%~nx0.txt
|
||||
)
|
||||
ENDLOCAL
|
||||
@ENDLOCAL
|
||||
EXIT /B
|
||||
::------------------------------------------------------
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id: build_mac.sh,v 1.12 2019/04/13 22:16:04 gilles Exp gilles $
|
||||
# $Id: build_mac.sh,v 1.15 2019/11/25 12:46:48 gilles Exp gilles $
|
||||
|
||||
# exit on any failure
|
||||
set -e
|
||||
@ -23,12 +23,13 @@ VERSION=`./imapsync --version`
|
||||
# Update important Perl modules
|
||||
OPENSSL_PREFIX=/sw cpanm Mail::IMAPClient IO::Socket::SSL Net::SSLeay PAR::Packer
|
||||
|
||||
pp -o $BIN_NAME \
|
||||
pp -u -x -o $BIN_NAME \
|
||||
-M Mail::IMAPClient -M IO::Socket -M IO::Socket::SSL \
|
||||
-M Digest::MD5 -M Digest::HMAC_MD5 -M Term::ReadKey \
|
||||
-M Authen::NTLM \
|
||||
-M Crypt::OpenSSL::RSA -M JSON -M JSON::WebToken -M LWP -M HTML::Entities \
|
||||
-M Sys::MemInfo -M Net::SSLeay \
|
||||
-M Encode -M MIME::Base64 -M Encode::IMAPUTF7 \
|
||||
--link /sw/lib/libssl.1.0.0.dylib \
|
||||
--link /sw/lib/libcrypto.1.0.0.dylib \
|
||||
imapsync
|
||||
@ -36,5 +37,6 @@ pp -o $BIN_NAME \
|
||||
./imapsync_bin_Darwin
|
||||
./imapsync_bin_Darwin --tests
|
||||
./imapsync_bin_Darwin --testslive
|
||||
./imapsync_bin_Darwin --testslive6
|
||||
# Do not work anymore on polarhome at 2019_11_24
|
||||
#./imapsync_bin_Darwin --testslive6
|
||||
|
||||
|
@ -5,6 +5,14 @@ Processing https://lamiral.info/~gilles/imapsync/S/external.shtml
|
||||
|
||||
|
||||
List of broken links and other issues:
|
||||
http://www.washington.edu/imap/
|
||||
-> https://www.washington.edu/imap/
|
||||
Line: 43
|
||||
Code: 301 -> 404 Not Found
|
||||
To do: The link is broken. Double-check that you have not made any typo,
|
||||
or mistake in copy-pasting. If the link points to a resource that
|
||||
no longer exists, you may want to remove or fix the link.
|
||||
|
||||
https://wiki2.dovecot.org/Tools/Doveadm/Sync
|
||||
Line: 38
|
||||
Code: 403 FORBIDDEN
|
||||
@ -17,15 +25,28 @@ Processing https://lamiral.info/~gilles/imapsync/S/imapservers.shtml
|
||||
|
||||
|
||||
List of broken links and other issues:
|
||||
https://en.mail.qq.com/
|
||||
Line: 157
|
||||
Code: 405 Method Not Allowed
|
||||
To do: The server does not allow HTTP HEAD requests, which prevents the
|
||||
Link Checker to check the link automatically. Check the link
|
||||
manually.
|
||||
http://www.washington.edu/imap/
|
||||
-> https://www.washington.edu/imap/
|
||||
Line: 183
|
||||
Code: 301 -> 404 Not Found
|
||||
To do: The link is broken. Double-check that you have not made any typo,
|
||||
or mistake in copy-pasting. If the link points to a resource that
|
||||
no longer exists, you may want to remove or fix the link.
|
||||
|
||||
https://www.fusemail.com/
|
||||
-> https://global.vipre.com/
|
||||
Line: 123
|
||||
Code: 301 -> 403 Forbidden
|
||||
To do: The link is forbidden! This needs fixing. Usual suspects: a missing
|
||||
index.html or Overview.html, or a missing ACL.
|
||||
|
||||
http://de.tobit.com/
|
||||
Line: 96
|
||||
Code: 308 Permanent Redirect
|
||||
|
||||
|
||||
http://outlook.com/
|
||||
-> https://outlook.live.com/owa/
|
||||
Line: 150
|
||||
Line: 157
|
||||
Code: 301 -> 440 Login Timeout
|
||||
|
||||
|
10
W/docker_pull_count
Executable file
10
W/docker_pull_count
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
docker_pull_count()
|
||||
{
|
||||
curl -s https://hub.docker.com/v2/repositories/gilleslamiral/imapsync/ | jq '.pull_count'
|
||||
}
|
||||
|
||||
docker_pull_count >> /home/gilles/public_html/imapsync/W/docker_pull_count.txt
|
||||
|
||||
|
33
W/docker_pull_count.txt
Normal file
33
W/docker_pull_count.txt
Normal file
@ -0,0 +1,33 @@
|
||||
32753
|
||||
32780
|
||||
32804
|
||||
32828
|
||||
32858
|
||||
32880
|
||||
32938
|
||||
33246
|
||||
33348
|
||||
33570
|
||||
33796
|
||||
33818
|
||||
33836
|
||||
33855
|
||||
33880
|
||||
33901
|
||||
33926
|
||||
33956
|
||||
33977
|
||||
33997
|
||||
34016
|
||||
34046
|
||||
34273
|
||||
34301
|
||||
34324
|
||||
34344
|
||||
34367
|
||||
34448
|
||||
34500
|
||||
34531
|
||||
34561
|
||||
34590
|
||||
34769
|
204
W/imapsync.1
204
W/imapsync.1
@ -133,18 +133,18 @@
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "IMAPSYNC 1"
|
||||
.TH IMAPSYNC 1 "2019-06-26" "perl v5.22.1" "User Contributed Perl Documentation"
|
||||
.TH IMAPSYNC 1 "2019-12-23" "perl v5.22.1" "User Contributed Perl Documentation"
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
imapsync \- Email IMAP tool for syncing, copying and migrating
|
||||
email mailboxes between two imap servers, one way,
|
||||
imapsync \- Email IMAP tool for syncing, copying, migrating
|
||||
and archiving email mailboxes between two imap servers, one way,
|
||||
and without duplicates.
|
||||
.SH "VERSION"
|
||||
.IX Header "VERSION"
|
||||
This documentation refers to Imapsync \f(CW$Revision:\fR 1.945 $
|
||||
This documentation refers to Imapsync \f(CW$Revision:\fR 1.977 $
|
||||
.SH "USAGE"
|
||||
.IX Header "USAGE"
|
||||
.Vb 5
|
||||
@ -195,15 +195,15 @@ in order to abort the program. Hit Ctr-c just once makes
|
||||
imapsync reconnect to both imap servers.
|
||||
.PP
|
||||
A classical scenario is synchronizing a mailbox B from another mailbox A
|
||||
in case you just want to keep a strict copy of A in B. Strict meaning
|
||||
where you just want to keep a strict copy of A in B. Strict meaning
|
||||
all messages in A will be in B but no more.
|
||||
.PP
|
||||
For this, option \-\-delete2 has to be used, it deletes messages in host2
|
||||
folder B that are not in host1 folder A. If you also need to destroy
|
||||
host2 folders that are not in host1 then use \-\-delete2folders. See also
|
||||
\&\-\-delete2foldersonly and \-\-delete2foldersbutnot to set up exceptions
|
||||
on folders to destroy (\s-1INBOX\s0 will never be destroy, it's a mandatory
|
||||
folder in \s-1IMAP\s0).
|
||||
on folders to destroy. \s-1INBOX\s0 will never be destroy, it's a mandatory
|
||||
folder in \s-1IMAP.\s0
|
||||
.PP
|
||||
A different scenario is to delete the messages from the source mailbox
|
||||
after a successful transfer, it can be a good feature when migrating
|
||||
@ -232,11 +232,11 @@ Michael R. Elkins) for a 2 ways synchronization.
|
||||
\& usage: imapsync [options]
|
||||
.Ve
|
||||
.PP
|
||||
Standard options are the six values forming the credentials,
|
||||
three on each sides, needed to log in into the \s-1IMAP\s0 servers, ie,
|
||||
a host, a username, and a password, two times.
|
||||
The standard options are the six values forming the credentials.
|
||||
Three values on each side are needed in order to log in into the \s-1IMAP \s0
|
||||
servers. These six values are a host, a username, and a password, two times.
|
||||
.PP
|
||||
Conventions used:
|
||||
Conventions used in the following descriptions of the options:
|
||||
.PP
|
||||
.Vb 4
|
||||
\& str means string
|
||||
@ -253,7 +253,7 @@ Conventions used:
|
||||
\& \-\-host1 str : Source or "from" imap server.
|
||||
\& \-\-port1 int : Port to connect on host1.
|
||||
\& Optional since default ports are the
|
||||
\& well known ports 143 or 993.
|
||||
\& well known ports imap/143 or imaps/993.
|
||||
\& \-\-user1 str : User to login on host1.
|
||||
\& \-\-password1 str : Password for the user1.
|
||||
\&
|
||||
@ -266,7 +266,7 @@ Conventions used:
|
||||
\& Useful to restart a complete run by just reading
|
||||
\& the command line used in the log,
|
||||
\& or to debug passwords.
|
||||
\& It\*(Aqs not a secure practice.
|
||||
\& It\*(Aqs not a secure practice at all.
|
||||
\&
|
||||
\& \-\-passfile1 str : Password file for the user1. It must contain the
|
||||
\& password on the first line. This option avoids showing
|
||||
@ -333,7 +333,7 @@ You can also pass the passwords in the environment variables
|
||||
\& \-\-folderrec str : Sync this folder recursively.
|
||||
\& \-\-folderrec str : and this one, etc.
|
||||
\&
|
||||
\& \-\-folderfirst str : Sync this folder first. \-\-folderfirst "Work"
|
||||
\& \-\-folderfirst str : Sync this folder first. Ex. \-\-folderfirst "INBOX"
|
||||
\& \-\-folderfirst str : then this one, etc.
|
||||
\& \-\-folderlast str : Sync this folder last. \-\-folderlast "[Gmail]/All Mail"
|
||||
\& \-\-folderlast str : then this one, etc.
|
||||
@ -367,8 +367,8 @@ You can also pass the passwords in the environment variables
|
||||
\& \-\-regextrans2 options before all others.
|
||||
\& Add \-\-debug to see what\*(Aqs really going on.
|
||||
\&
|
||||
\& \-\-subfolder1 str : Syncs the host1 folders hierarchy under str
|
||||
\& to the root hierarchy of host2.
|
||||
\& \-\-subfolder1 str : Syncs the host1 folders hierarchy which is under folder
|
||||
\& str to the root hierarchy of host2.
|
||||
\& It\*(Aqs the couterpart of a sync done by \-\-subfolder2
|
||||
\& when doing it in the reverse order.
|
||||
\& Backup/Restore scenario:
|
||||
@ -388,23 +388,24 @@ You can also pass the passwords in the environment variables
|
||||
\& usually "INBOX." or "INBOX/" or an empty string "".
|
||||
\& imapsync guesses the prefix if host1 imap server
|
||||
\& does not have NAMESPACE capability. So this option
|
||||
\& should not be used, most of the time.
|
||||
\& should not be used most of the time.
|
||||
\& \-\-prefix2 str : Add prefix to all host2 folders. See \-\-prefix1
|
||||
\&
|
||||
\& \-\-sep1 str : Host1 separator. This option should not be used,
|
||||
\& \-\-sep1 str : Host1 separator. This option should not be used
|
||||
\& most of the time.
|
||||
\& Imapsync gets the separator from the server itself,
|
||||
\& by using NAMESPACE, or it tries to guess it
|
||||
\& from the folders listing (it counts
|
||||
\& characters / . \e\e \e in folder names and choose the
|
||||
\& more frequent, or finally / if nothing is found.
|
||||
\& \-\-sep2 str : Host2 separator.
|
||||
\& \-\-sep2 str : Host2 separator. See \-\-sep1
|
||||
\&
|
||||
\& \-\-regextrans2 reg : Apply the whole regex to each destination folders.
|
||||
\& \-\-regextrans2 reg : and this one. etc.
|
||||
\& When you play with the \-\-regextrans2 option, first
|
||||
\& add also the safe options \-\-dry \-\-justfolders
|
||||
\& Then, when happy, remove \-\-dry, remove \-\-justfolders.
|
||||
\& Then, when happy, remove \-\-dry for a run, then
|
||||
\& remove \-\-justfolders for the next ones.
|
||||
\& Have in mind that \-\-regextrans2 is applied after
|
||||
\& the automatic prefix and separator inversion.
|
||||
\& For examples see:
|
||||
@ -440,6 +441,22 @@ You can also pass the passwords in the environment variables
|
||||
\& \-\-logfile str : Change the default log filename (can be dirname/filename).
|
||||
\& \-\-logdir str : Change the default log directory. Default is LOG_imapsync/
|
||||
.Ve
|
||||
.PP
|
||||
The default logfile name is for example
|
||||
.PP
|
||||
.Vb 1
|
||||
\& LOG_imapsync/2019_12_22_23_57_59_532_user1_user2.txt
|
||||
.Ve
|
||||
.PP
|
||||
where:
|
||||
.PP
|
||||
.Vb 3
|
||||
\& 2019_12_22_23_57_59_532 is nearly the date of the start
|
||||
\& YYYY_MM_DD_HH_MM_SS_mmm
|
||||
\& year_month_day_hour_minute_seconde_millisecond
|
||||
.Ve
|
||||
.PP
|
||||
and user1 user2 are the \-\-user1 \-\-user2 values.
|
||||
.SS "OPTIONS/messages"
|
||||
.IX Subsection "OPTIONS/messages"
|
||||
.Vb 4
|
||||
@ -448,6 +465,15 @@ You can also pass the passwords in the environment variables
|
||||
\& \-\-skipmess is applied before \-\-regexmess
|
||||
\& \-\-skipmess reg : or this one, etc.
|
||||
\&
|
||||
\& \-\-skipcrossduplicates : Avoid copying messages that are already copied
|
||||
\& in another folder, good from Gmail to X when
|
||||
\& X is not also Gmail.
|
||||
\& Activated with \-\-gmail1 unless \-\-noskipcrossduplicates
|
||||
\&
|
||||
\& \-\-debugcrossduplicates : Prints which messages (UIDs) are skipped with
|
||||
\& \-\-skipcrossduplicates (and in what other folders
|
||||
\& they are).
|
||||
\&
|
||||
\& \-\-pipemess cmd : Apply this cmd command to each message content
|
||||
\& before the copy.
|
||||
\& \-\-pipemess cmd : and this one, etc.
|
||||
@ -465,6 +491,24 @@ You can also pass the passwords in the environment variables
|
||||
\& Example: \*(Aqs/\e000/ /g\*(Aq # to replace null by space.
|
||||
\& \-\-regexmess reg : and this one, etc.
|
||||
.Ve
|
||||
.SS "OPTIONS/labels"
|
||||
.IX Subsection "OPTIONS/labels"
|
||||
Gmail present labels as folders in imap. Imapsync can accelerate the sync
|
||||
by syncing X\-GM-LABELS, it will avoid to transfer messages when they are
|
||||
already on host2.
|
||||
.PP
|
||||
.Vb 3
|
||||
\& \-\-synclabels : Syncs also Gmail labels when a message is copied to host2.
|
||||
\& Activated by default with \-\-gmail1 \-\-gmail2 unless
|
||||
\& \-\-nosynclabels is added.
|
||||
\&
|
||||
\& \-\-resynclabels : Resyncs Gmail labels when a message is already on host2.
|
||||
\& Activated by default with \-\-gmail1 \-\-gmail2 unless
|
||||
\& \-\-noresynclabels is added.
|
||||
.Ve
|
||||
.PP
|
||||
For Gmail syncs, see also:
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Gmail.txt
|
||||
.SS "OPTIONS/flags"
|
||||
.IX Subsection "OPTIONS/flags"
|
||||
.Vb 2
|
||||
@ -517,12 +561,15 @@ You can also pass the passwords in the environment variables
|
||||
\& \-\-delete2folders : Delete folders in host2 that are not in host1 server.
|
||||
\& For safety, first try it like this (it is safe):
|
||||
\& \-\-delete2folders \-\-dry \-\-justfolders \-\-nofoldersizes
|
||||
\& and see what folders will be deleted.
|
||||
\&
|
||||
\& \-\-delete2foldersonly reg : Deleted only folders matching regex.
|
||||
\& \-\-delete2foldersonly reg : Delete only folders matching the regex reg.
|
||||
\& Example: \-\-delete2foldersonly "/^Junk$|^INBOX.Junk$/"
|
||||
\& This option activates \-\-delete2folders
|
||||
\&
|
||||
\& \-\-delete2foldersbutnot reg : Do not delete folders matching regex.
|
||||
\& \-\-delete2foldersbutnot reg : Do not delete folders matching the regex rex.
|
||||
\& Example: \-\-delete2foldersbutnot "/Tasks$|Contacts$|Foo$/"
|
||||
\& This option activates \-\-delete2folders
|
||||
\&
|
||||
\& \-\-noexpunge2 : Do not expunge messages on host2.
|
||||
\& \-\-nouidexpunge2 : Do not uidexpunge messages on the host2 account
|
||||
@ -550,7 +597,7 @@ You can also pass the passwords in the environment variables
|
||||
\& see also \-\-minage
|
||||
\& \-\-minage int : Skip messages newer than int days.
|
||||
\& final stats (skipped) don\*(Aqt count newer messages
|
||||
\& You can do (+ are the messages selected):
|
||||
\& You can do (+ zone are the messages selected):
|
||||
\& past|\-\-\-\-maxage+++++++++++++++>now
|
||||
\& past|+++++++++++++++minage\-\-\-\->now
|
||||
\& past|\-\-\-\-maxage+++++minage\-\-\-\->now (intersection)
|
||||
@ -558,22 +605,23 @@ You can also pass the passwords in the environment variables
|
||||
\&
|
||||
\& \-\-search str : Selects only messages returned by this IMAP SEARCH
|
||||
\& command. Applied on both sides.
|
||||
\& For a complete of what can be search see
|
||||
\& For a complete set of what can be search see
|
||||
\& https://imapsync.lamiral.info/FAQ.d/FAQ.Messages_Selection.txt
|
||||
\&
|
||||
\& \-\-search1 str : Same as \-\-search but for selecting host1 messages only.
|
||||
\& \-\-search2 str : Same as \-\-search but for selecting host2 messages only.
|
||||
\& \-\-search CRIT equals \-\-search1 CRIT \-\-search2 CRIT
|
||||
\& So \-\-search CRIT equals \-\-search1 CRIT \-\-search2 CRIT
|
||||
\&
|
||||
\& \-\-maxlinelength int : skip messages with a line length longer than int bytes.
|
||||
\& RFC 2822 says it must be no more than 1000 bytes.
|
||||
\& RFC 2822 says it must be no more than 1000 bytes but
|
||||
\& real life servers and email clients do more.
|
||||
\&
|
||||
\&
|
||||
\& \-\-useheader str : Use this header to compare messages on both sides.
|
||||
\& Ex: Message\-ID or Subject or Date.
|
||||
\& \-\-useheader str and this one, etc.
|
||||
\&
|
||||
\& \-\-usecache : Use cache to speed up the sync.
|
||||
\& \-\-usecache : Use cache to speed up next syncs. Not set by default.
|
||||
\& \-\-nousecache : Do not use cache. Caveat: \-\-useuid \-\-nousecache creates
|
||||
\& duplicates on multiple runs.
|
||||
\& \-\-useuid : Use UIDs instead of headers as a criterion to recognize
|
||||
@ -584,10 +632,10 @@ You can also pass the passwords in the environment variables
|
||||
.IX Subsection "OPTIONS/miscellaneous"
|
||||
.Vb 5
|
||||
\& \-\-syncacls : Synchronizes acls (Access Control Lists).
|
||||
\& \-\-nosyncacls : Does not synchronize acls. This is the default.
|
||||
\& Acls in IMAP are not standardized, be careful
|
||||
\& since one acl code on one side may signify something
|
||||
\& else on the other one.
|
||||
\& \-\-nosyncacls : Does not synchronize acls. This is the default.
|
||||
\&
|
||||
\& \-\-addheader : When a message has no headers to be identified,
|
||||
\& \-\-addheader adds a "Message\-Id" header,
|
||||
@ -617,17 +665,17 @@ You can also pass the passwords in the environment variables
|
||||
.SS "OPTIONS/specific"
|
||||
.IX Subsection "OPTIONS/specific"
|
||||
.Vb 2
|
||||
\& \-\-gmail1 : sets \-\-host1 to Gmail and options from FAQ.Gmail.txt
|
||||
\& \-\-gmail2 : sets \-\-host2 to Gmail and options from FAQ.Gmail.txt
|
||||
\& \-\-gmail1 : sets \-\-host1 to Gmail and other options. See FAQ.Gmail.txt
|
||||
\& \-\-gmail2 : sets \-\-host2 to Gmail and other options. See FAQ.Gmail.txt
|
||||
\&
|
||||
\& \-\-office1 : sets \-\-host1 to Office365 options from FAQ.Exchange.txt
|
||||
\& \-\-office2 : sets \-\-host2 to Office365 options from FAQ.Exchange.txt
|
||||
\& \-\-office1 : sets \-\-host1 to Office365 and other options. See FAQ.Exchange.txt
|
||||
\& \-\-office2 : sets \-\-host2 to Office365 and other options. See FAQ.Exchange.txt
|
||||
\&
|
||||
\& \-\-exchange1 : sets options from FAQ.Exchange.txt, account1 part
|
||||
\& \-\-exchange2 : sets options from FAQ.Exchange.txt, account2 part
|
||||
\& \-\-exchange1 : sets options for Exchange. See FAQ.Exchange.txt
|
||||
\& \-\-exchange2 : sets options for Exchange. See FAQ.Exchange.txt
|
||||
\&
|
||||
\& \-\-domino1 : sets options from FAQ.Domino.txt, account1 part
|
||||
\& \-\-domino2 : sets options from FAQ.Domino.txt, account2 part
|
||||
\& \-\-domino1 : sets options for Domino. See FAQ.Domino.txt
|
||||
\& \-\-domino2 : sets options for Domino. See FAQ.Domino.txt
|
||||
.Ve
|
||||
.SS "OPTIONS/behavior"
|
||||
.IX Subsection "OPTIONS/behavior"
|
||||
@ -648,7 +696,7 @@ You can also pass the passwords in the environment variables
|
||||
\& transferred is reached.
|
||||
\&
|
||||
\& \-\-version : Print only software version.
|
||||
\& \-\-noreleasecheck : Do not check for new imapsync release
|
||||
\& \-\-noreleasecheck : Do not check for any new imapsync release.
|
||||
\& \-\-releasecheck : Check for new imapsync release.
|
||||
\& it\*(Aqs an http request to
|
||||
\& http://imapsync.lamiral.info/prj/imapsync/VERSION
|
||||
@ -696,9 +744,9 @@ normal (clear) connection on port 143 but it looks for \s-1TLS\s0 support
|
||||
in the \s-1CAPABILITY\s0 list of the servers. If \s-1TLS\s0 is supported
|
||||
then imapsync goes to encryption.
|
||||
.PP
|
||||
If the automatic ssl/tls detection fails then imapsync will
|
||||
not protect against sniffing activities on the
|
||||
network, especially for passwords.
|
||||
If the automatic ssl and the tls detections fail then imapsync will
|
||||
not protect against sniffing activities on the network, especially
|
||||
for passwords.
|
||||
.PP
|
||||
If you want to force ssl or tls just use \-\-ssl1 \-\-ssl2 or \-\-tls1 \-\-tls2
|
||||
.PP
|
||||
@ -707,9 +755,9 @@ or at https://imapsync.lamiral.info/FAQ.d/FAQ.Security.txt
|
||||
.SH "EXIT STATUS"
|
||||
.IX Header "EXIT STATUS"
|
||||
Imapsync will exit with a 0 status (return code) if everything went good.
|
||||
Otherwise, it exits with a non-zero status.
|
||||
Here is the list of the exit code values (an integer between 0 and 255),
|
||||
the names reflects their meaning:
|
||||
Otherwise, it exits with a non-zero status. That's classical Unix behavior.
|
||||
Here is the list of the exit code values (an integer between 0 and 255).
|
||||
The names reflect their meaning:
|
||||
.PP
|
||||
.Vb 10
|
||||
\& EX_OK => 0 ; #/* successful termination */
|
||||
@ -731,7 +779,7 @@ the names reflects their meaning:
|
||||
.SH "LICENSE AND COPYRIGHT"
|
||||
.IX Header "LICENSE AND COPYRIGHT"
|
||||
Imapsync is free, open, public but not always gratis software
|
||||
cover by the \s-1NOLIMIT\s0 Public License.
|
||||
cover by the \s-1NOLIMIT\s0 Public License, now called \s-1NLPL.\s0
|
||||
See the \s-1LICENSE\s0 file included in the distribution or just read this
|
||||
simple sentence as it \s-1IS\s0 the licence text:
|
||||
.PP
|
||||
@ -750,7 +798,7 @@ Look at https://imapsync.lamiral.info/LICENSE
|
||||
.IX Header "AUTHOR"
|
||||
Gilles \s-1LAMIRAL\s0 <gilles@lamiral.info>
|
||||
.PP
|
||||
Good feedback good is always welcome.
|
||||
Good feedback is always welcome.
|
||||
Bad feedback is very often welcome.
|
||||
.PP
|
||||
Gilles \s-1LAMIRAL\s0 earns his living by writing, installing,
|
||||
@ -812,7 +860,7 @@ https://imapsync.lamiral.info/examples/
|
||||
\& and all Server releases 2000, 2003, 2008 and R2, 2012 and R2, 2016)
|
||||
\& as a standalone binary software called imapsync.exe,
|
||||
\& usually launched from a batch file in order to avoid always typing
|
||||
\& the options.
|
||||
\& the options. There is also a 64bit binary called imapsync_64bit.exe
|
||||
\&
|
||||
\& Imapsync works under OS X as a standalone binary
|
||||
\& software called imapsync_bin_Darwin
|
||||
@ -848,50 +896,48 @@ Feel free to hack imapsync as the \s-1NOLIMIT\s0 license permits it.
|
||||
\& for a better up to date list.
|
||||
.Ve
|
||||
.PP
|
||||
Last updated and verified on Thu Apr 11, 2019.
|
||||
Last updated and verified on Sun Dec 8, 2019.
|
||||
.PP
|
||||
.Vb 10
|
||||
\& imapsync : https://github.com/imapsync/imapsync
|
||||
\& (this is an imapsync copy, sometimes delayed,
|
||||
\& with \-\-noreleasecheck by default since release 1.592, 2014/05/22)
|
||||
\& imap_tools : https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/
|
||||
\& The imap_tools code is now at
|
||||
\& https://github.com/andrewnimmo/rick\-sanders\-imap\-tools
|
||||
\& imaputils : https://github.com/mtsatsenko/imaputils (very old imap_tools fork)
|
||||
\& Doveadm\-Sync : https://wiki2.dovecot.org/Tools/Doveadm/Sync ( Dovecot sync tool )
|
||||
\& davmail : http://davmail.sourceforge.net/
|
||||
\& offlineimap : http://offlineimap.org/
|
||||
\& mbsync : http://isync.sourceforge.net/
|
||||
\& mailsync : http://mailsync.sourceforge.net/
|
||||
\& mailutil : http://www.washington.edu/imap/ part of the UW IMAP tookit.
|
||||
\& imaprepl : https://bl0rg.net/software/ http://freecode.com/projects/imap\-repl/
|
||||
\& imapcopy (Pascal): http://www.ardiehl.de/imapcopy/
|
||||
\& imapcopy (Java) : https://code.google.com/archive/p/imapcopy/
|
||||
\& imapsize : http://www.broobles.com/imapsize/
|
||||
\& migrationtool : http://sourceforge.net/projects/migrationtool/
|
||||
\& imapmigrate : http://sourceforge.net/projects/cyrus\-utils/
|
||||
\& larch : https://github.com/rgrove/larch (derived from wonko_imapsync, good at Gmail)
|
||||
\& wonko_imapsync : http://wonko.com/article/554 (superseded by larch)
|
||||
\& pop2imap : http://www.linux\-france.org/prj/pop2imap/ (I wrote that too)
|
||||
\& exchange\-away : http://exchange\-away.sourceforge.net/
|
||||
\& SyncBackPro : http://www.2brightsparks.com/syncback/sbpro.html
|
||||
\& ImapSyncClient : https://github.com/ridaamirini/ImapSyncClient
|
||||
\& MailStore : https://www.mailstore.com/en/products/mailstore\-home/
|
||||
\& mnIMAPSync : https://github.com/manusa/mnIMAPSync
|
||||
\& imap\-upload : http://imap\-upload.sourceforge.net/
|
||||
\& (a tool for uploading a local mbox file to IMAP4 server)
|
||||
\& imapsync: https://github.com/imapsync/imapsync (this is an imapsync copy, sometimes delayed, with \-\-noreleasecheck by default since release 1.592, 2014/05/22)
|
||||
\& imap_tools: https://web.archive.org/web/20161228145952/http://www.athensfbc.com/imap_tools/. The imap_tools code is now at https://github.com/andrewnimmo/rick\-sanders\-imap\-tools
|
||||
\& imaputils: https://github.com/mtsatsenko/imaputils (very old imap_tools fork)
|
||||
\& Doveadm\-Sync: https://wiki2.dovecot.org/Tools/Doveadm/Sync ( Dovecot sync tool )
|
||||
\& davmail: http://davmail.sourceforge.net/
|
||||
\& offlineimap: http://offlineimap.org/
|
||||
\& mbsync: http://isync.sourceforge.net/
|
||||
\& mailsync: http://mailsync.sourceforge.net/
|
||||
\& mailutil: https://www.washington.edu/imap/ part of the UW IMAP toolkit. (well, seems abandoned now)
|
||||
\& imaprepl: https://bl0rg.net/software/ http://freecode.com/projects/imap\-repl/
|
||||
\& imapcopy (Pascal): http://www.ardiehl.de/imapcopy/
|
||||
\& imapcopy (Java): https://code.google.com/archive/p/imapcopy/
|
||||
\& imapsize: http://www.broobles.com/imapsize/
|
||||
\& migrationtool: http://sourceforge.net/projects/migrationtool/
|
||||
\& imapmigrate: http://sourceforge.net/projects/cyrus\-utils/
|
||||
\& larch: https://github.com/rgrove/larch (derived from wonko_imapsync, good at Gmail)
|
||||
\& wonko_imapsync: http://wonko.com/article/554 (superseded by larch)
|
||||
\& pop2imap: http://www.linux\-france.org/prj/pop2imap/ (I wrote that too)
|
||||
\& exchange\-away: http://exchange\-away.sourceforge.net/
|
||||
\& SyncBackPro: http://www.2brightsparks.com/syncback/sbpro.html
|
||||
\& ImapSyncClient: https://github.com/ridaamirini/ImapSyncClient
|
||||
\& MailStore: https://www.mailstore.com/en/products/mailstore\-home/
|
||||
\& mnIMAPSync: https://github.com/manusa/mnIMAPSync
|
||||
\& imap\-upload: http://imap\-upload.sourceforge.net/ (A tool for uploading a local mbox file to IMAP4 server)
|
||||
\& imapbackup: https://github.com/rcarmo/imapbackup (A Python script for incremental backups of IMAP mailboxes)
|
||||
\& BitRecover email\-backup 99 USD, 299 USD https://www.bitrecover.com/email\-backup/.
|
||||
\& ImportExportTools: https://addons.thunderbird.net/en\-us/thunderbird/addon/importexporttools/ ImportExportTools for Mozilla Thunderbird by Paolo Kaosmos. ImportExportTools does not do IMAP.
|
||||
.Ve
|
||||
.SH "HISTORY"
|
||||
.IX Header "HISTORY"
|
||||
I initially wrote imapsync in July 2001 because an enterprise,
|
||||
basystemes, paid me to install a new imap server
|
||||
called BaSystemes, paid me to install a new imap server
|
||||
without losing huge old mailboxes located in a far
|
||||
away remote imap server, accessible by an
|
||||
often broken low-bandwidth \s-1ISDN\s0 link.
|
||||
.PP
|
||||
I had to verify every mailbox was well transferred, all folders, all messages,
|
||||
without wasting bandwidth or creating duplicates upon resyncs. The design was
|
||||
made with the beautiful rsync command in mind.
|
||||
without wasting bandwidth or creating duplicates upon resyncs. The imapsync
|
||||
design was made with the beautiful rsync command in mind.
|
||||
.PP
|
||||
Imapsync started its life as a patch of the copy_folder.pl
|
||||
script. The script copy_folder.pl comes from the Mail\-IMAPClient\-2.1.3 perl
|
||||
|
6871
W/imapsync_functions_tree.txt
Normal file
6871
W/imapsync_functions_tree.txt
Normal file
File diff suppressed because it is too large
Load Diff
5956
W/imapsync_functions_tree_ppi.txt
Normal file
5956
W/imapsync_functions_tree_ppi.txt
Normal file
File diff suppressed because it is too large
Load Diff
7
W/install_module_one.bat
Normal file → Executable file
7
W/install_module_one.bat
Normal file → Executable file
@ -1,5 +1,5 @@
|
||||
|
||||
@REM $Id: install_module_one.bat,v 1.9 2019/05/28 13:20:08 gilles Exp gilles $
|
||||
@REM $Id: install_module_one.bat,v 1.11 2019/12/11 18:57:04 gilles Exp gilles $
|
||||
|
||||
@SETLOCAL
|
||||
@ECHO OFF
|
||||
@ -18,11 +18,12 @@ IF ERRORLEVEL 1 ECHO Perl needed. Install Strawberry Perl. Get it at http://stra
|
||||
@REM PAUSE
|
||||
@REM EXIT
|
||||
FOR %%M in (
|
||||
Crypt::OpenSSL::RSA ^
|
||||
IO::Tee ^
|
||||
) DO perl -m%%M -e "print qq{Updating %%M $%%M::VERSION \n}" ^
|
||||
& cpanm --force %%M
|
||||
|
||||
REM IO::Socket::SSL Net::SSLeay PAR::Packer IO::Tee Crypt::OpenSSL::RSA
|
||||
REM & cpanm --force %%M
|
||||
REM IO::Socket::SSL Net::SSLeay PAR::Packer IO::Tee Crypt::OpenSSL::RSA Encode::IMAPUTF7 IO::Socket::IP
|
||||
|
||||
@ECHO Perl modules for imapsync installed
|
||||
@REM Do a PAUSE if run by double-click, aka, explorer (then ). No PAUSE in a DOS window or via ssh.
|
||||
|
0
W/install_module_ssl.bat
Normal file → Executable file
0
W/install_module_ssl.bat
Normal file → Executable file
11
W/install_modules.bat
Normal file → Executable file
11
W/install_modules.bat
Normal file → Executable file
@ -1,4 +1,4 @@
|
||||
REM $Id: install_modules.bat,v 1.37 2019/05/28 13:20:08 gilles Exp gilles $
|
||||
REM $Id: install_modules.bat,v 1.39 2019/12/11 18:56:54 gilles Exp gilles $
|
||||
|
||||
::------------------------------------------------------
|
||||
::--------------- Main of install_modules.bat ----------
|
||||
@ -16,9 +16,9 @@ CD /D %~dp0
|
||||
CALL :handle_error CALL :detect_perl
|
||||
CALL :handle_error CALL :update_modules
|
||||
|
||||
@ENDLOCAL
|
||||
@REM Do a PAUSE if run by double-click, aka, explorer (then ). No PAUSE in a DOS window or via ssh.
|
||||
IF %0 EQU "%~dpnx0" IF "%SSH_CLIENT%"=="" PAUSE
|
||||
@ENDLOCAL
|
||||
EXIT /B
|
||||
|
||||
|
||||
@ -43,6 +43,10 @@ EXIT /B
|
||||
:update_modules
|
||||
@SETLOCAL
|
||||
FOR %%M in ( ^
|
||||
App::cpanminus ^
|
||||
MIME::Base64 ^
|
||||
Encode ^
|
||||
Encode::IMAPUTF7 ^
|
||||
File::Tail ^
|
||||
Regexp::Common ^
|
||||
Sys::MemInfo ^
|
||||
@ -58,6 +62,7 @@ FOR %%M in ( ^
|
||||
Getopt::ArgvFile ^
|
||||
Socket6 ^
|
||||
Net::SSLeay ^
|
||||
IO::Socket::IP ^
|
||||
IO::Socket::INET ^
|
||||
IO::Socket::INET6 ^
|
||||
IO::Socket::SSL ^
|
||||
@ -77,7 +82,7 @@ FOR %%M in ( ^
|
||||
HTML::Entities ^
|
||||
Encode::Byte ^
|
||||
) DO @perl -m%%M -e "print qq{Updating %%M $%%M::VERSION \n}" ^
|
||||
& cpanm %%M
|
||||
& ECHO DOING cpanm %%M & cpanm %%M & ECHO DONE cpanm %%M
|
||||
|
||||
ECHO Perl modules for imapsync updated
|
||||
REM PAUSE
|
||||
|
7
W/learn/bibmail_1GB
Normal file
7
W/learn/bibmail_1GB
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
# A big file 714MB
|
||||
dd if=/dev/zero of=pate714M bs=1M count=714
|
||||
# post it to big1 user
|
||||
echo Aie aie aie | mutt -s '1 GB dans ta face !' -a pate714M -- big1
|
||||
|
||||
# ok ?
|
27
W/learn/imap_Encode_IMAPUTF7_decode
Executable file
27
W/learn/imap_Encode_IMAPUTF7_decode
Executable file
@ -0,0 +1,27 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict ;
|
||||
use warnings ;
|
||||
use Encode::IMAPUTF7 ;
|
||||
|
||||
sub imap_utf7_decode_new
|
||||
{
|
||||
use utf8 ;
|
||||
my ( $s ) = shift ;
|
||||
return( Encode::IMAPUTF7::decode("IMAP-UTF-7", $s ) ) ;
|
||||
}
|
||||
|
||||
sub imap_utf7_encode_new
|
||||
{
|
||||
use utf8 ;
|
||||
my ( $s ) = shift ;
|
||||
return( Encode::IMAPUTF7::encode("IMAP-UTF-7", $s ) ) ;
|
||||
}
|
||||
|
||||
#use utf8 ;
|
||||
while ( <> )
|
||||
{
|
||||
chomp ;
|
||||
#print( Encode::IMAPUTF7::encode('IMAP-UTF-7', $_ ), "\n" ) ;
|
||||
print( Encode::IMAPUTF7::decode('IMAP-UTF-7', $_ ), "\n" ) ;
|
||||
}
|
30
W/learn/imap_Encode_IMAPUTF7_encode
Executable file
30
W/learn/imap_Encode_IMAPUTF7_encode
Executable file
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict ;
|
||||
use warnings ;
|
||||
use Encode::IMAPUTF7 ;
|
||||
|
||||
sub imap_utf7_decode_new
|
||||
{
|
||||
use utf8 ;
|
||||
my ( $s ) = shift ;
|
||||
return( Encode::IMAPUTF7::decode("IMAP-UTF-7", $s ) ) ;
|
||||
}
|
||||
|
||||
sub imap_utf7_encode_new
|
||||
{
|
||||
use utf8 ;
|
||||
my ( $s ) = shift ;
|
||||
return( Encode::IMAPUTF7::encode("IMAP-UTF-7", $s ) ) ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#use utf8 ;
|
||||
no utf8 ;
|
||||
while ( <> )
|
||||
{
|
||||
chomp ;
|
||||
print( Encode::IMAPUTF7::encode('IMAP-UTF-7', $_ ), "\n" ) ;
|
||||
#print( Encode::IMAPUTF7::decode('IMAP-UTF-7', $_ ), "\n" ) ;
|
||||
}
|
24
W/learn/imap_utf7_tests_Encode_IMAPUTF7
Executable file
24
W/learn/imap_utf7_tests_Encode_IMAPUTF7
Executable file
@ -0,0 +1,24 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict ;
|
||||
use warnings ;
|
||||
use Encode::IMAPUTF7 ;
|
||||
|
||||
sub imap_utf7_decode_new
|
||||
{
|
||||
use utf8 ;
|
||||
my ( $s ) = shift ;
|
||||
return( Encode::IMAPUTF7::decode("IMAP-UTF-7", $s ) ) ;
|
||||
}
|
||||
|
||||
sub imap_utf7_encode_new
|
||||
{
|
||||
use utf8 ;
|
||||
my ( $s ) = shift ;
|
||||
return( Encode::IMAPUTF7::encode("IMAP-UTF-7", $s ) ) ;
|
||||
}
|
||||
|
||||
use utf8 ;
|
||||
#no utf8 ;
|
||||
print( Encode::IMAPUTF7::encode('IMAP-UTF-7', 'Répertoire' ), "\n" );
|
||||
print( Encode::IMAPUTF7::decode('IMAP-UTF-7', 'R&AOk-pertoire' ), "\n" );
|
32
W/learn/xoauth2_gmail
Executable file
32
W/learn/xoauth2_gmail
Executable file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict ;
|
||||
use warnings ;
|
||||
|
||||
|
||||
use LWP::Authen::OAuth2;
|
||||
|
||||
my $dbh ;
|
||||
my $token_string ;
|
||||
|
||||
# Constructor
|
||||
my $oauth2 = LWP::Authen::OAuth2->new(
|
||||
client_id => "108687549524-86sjq07f3ch8otl9fnr56mjnniltdrvn.apps.googleusercontent.com",
|
||||
client_secret => "zAJO4PLxzeJ4yOaiJRk6f69k",
|
||||
service_provider => "Google",
|
||||
redirect_uri => "https://imapsync.lamiral.info/",
|
||||
|
||||
# Optional hook, but recommended.
|
||||
#save_tokens => \&save_tokens,
|
||||
#save_tokens_args => [ $dbh ],
|
||||
|
||||
# This is for when you have tokens from last time.
|
||||
token_string => $token_string,
|
||||
scope => 'https://mail.google.com/',
|
||||
login_hint => 'gilles.lamiral@gmail.com',
|
||||
);
|
||||
|
||||
# URL for user to go to to start the process.
|
||||
my $url = $oauth2->authorization_url();
|
||||
|
||||
print "url: $url\ntoken_string: $token_string\n" ;
|
0
W/learn_func.bat
Normal file → Executable file
0
W/learn_func.bat
Normal file → Executable file
24
W/memo
24
W/memo
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $Id: memo,v 1.70 2019/04/28 03:11:49 gilles Exp gilles $
|
||||
# $Id: memo,v 1.73 2019/09/05 13:32:57 gilles Exp gilles $
|
||||
|
||||
if test -n "$1"; then
|
||||
echoq() { echo "$@" ; } # not quiet mode
|
||||
@ -68,7 +68,7 @@ date
|
||||
statistics_ks_frequency() {
|
||||
|
||||
cat <<EOFF
|
||||
tail -f /var/log/apache2/access.log |cat -n|grep prj/imapsync/VERSION|cat -n |grep VERSION # ks frequency
|
||||
tail -F /var/log/apache2/access.log |cat -n|grep prj/imapsync/VERSION|cat -n |grep VERSION # ks frequency
|
||||
EOFF
|
||||
}
|
||||
|
||||
@ -292,9 +292,9 @@ verify_month_year() {
|
||||
test -f "$fmy" || { echo "No $fmy" ; return 0 ; }
|
||||
fmy_YYYYmm=`date -r "$fmy" +%Y%m`
|
||||
diff_month=`expr $fmy_YYYYmm - ${year}${month}` || :
|
||||
echo -n $diff_month
|
||||
test "$diff_month" -ge 1 && echo " is enough" && return 0
|
||||
echo " is not enough"
|
||||
#echo -n $diff_month
|
||||
test "$diff_month" -ge 1 && return 0
|
||||
echo "$fmy_YYYYmm - ${year}${month} = $diff_month is not enough"
|
||||
statistics_VERSION_monthly $month $year
|
||||
)
|
||||
}
|
||||
@ -430,6 +430,20 @@ sudo mv GeoIP.dat GeoIPASNum.dat GeoLiteCity.dat /usr/share/GeoIP/
|
||||
EOF
|
||||
}
|
||||
|
||||
maxmind_update2() {
|
||||
cat << 'EOF'
|
||||
wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz \
|
||||
https://geolite.maxmind.com/download/geoip/database/GeoLite2-City-CSV.zip \
|
||||
https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz \
|
||||
https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country-CSV.zip \
|
||||
https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN.tar.gz \
|
||||
https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN-CSV.zip
|
||||
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
|
||||
echoq "statistics_VERSION_yearly_ip_geo 2015 # long"
|
||||
statistics_VERSION_yearly_ip_geo() {
|
||||
year=${1:-`date '+%Y'`}
|
||||
|
@ -1,4 +1,4 @@
|
||||
m4_dnl $Id: ml_announce.in,v 1.21 2019/02/16 22:31:06 gilles Exp gilles $
|
||||
m4_dnl $Id: ml_announce.in.txt,v 1.23 2019/12/02 15:19:06 gilles Exp gilles $
|
||||
m4_dnl
|
||||
m4_define(`M4_imapsync_VERSION',m4_esyscmd(cat VERSION|tr -d '\n'))m4_dnl
|
||||
m4_dnl
|
||||
@ -9,6 +9,14 @@ To: imapsync_update@lists.lamiral.info
|
||||
|
||||
Dear imapsync user,
|
||||
|
||||
This newsletter announces imapsync new releases and services,
|
||||
once or two times per year at most.
|
||||
|
||||
Send me a note if you don't want to receive those announces anymore,
|
||||
I will unsubscribe you from this imapsync newsletter.
|
||||
|
||||
Now the news!
|
||||
|
||||
You will find imapsync release M4_imapsync_VERSION at
|
||||
the following link:
|
||||
|
||||
@ -33,11 +41,9 @@ Feedback is welcome!
|
||||
|
||||
Web site: https://imapsync.lamiral.info/
|
||||
|
||||
This newsletter announces imapsync new releases and services.
|
||||
Send me a note if you don't want to receive those announces anymore.
|
||||
|
||||
--
|
||||
Au revoir.
|
||||
Gilles Lamiral, 22 La Billais, 35580 Baulon, France
|
||||
tel +33 951 84 42 42
|
||||
mob +33 619 22 03 54
|
||||
tel +33 951 84 42 42
|
2050
W/perlcritic_1.txt
2050
W/perlcritic_1.txt
File diff suppressed because it is too large
Load Diff
1227
W/perlcritic_2.txt
1227
W/perlcritic_2.txt
File diff suppressed because it is too large
Load Diff
@ -1,105 +1,111 @@
|
||||
Main code has high complexity score (420) at line 1, column 1. Consider refactoring. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 1759, column 47. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 1768, column 47. See page 236 of PBP. (Severity: 3)
|
||||
Code structure is deeply nested at line 2332, column 41. Consider refactoring. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 3221, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Too many arguments at line 4226, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 4245, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 4266, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 4425, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5096, column 42. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5097, column 33. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5106, column 42. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5126, column 42. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5159, column 50. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5263, column 64. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5264, column 64. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5267, column 56. See page 236 of PBP. (Severity: 3)
|
||||
Too many arguments at line 5295, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Subroutine "authenticate_imap" with high complexity score (23) at line 5377, column 1. Consider refactoring. (Severity: 3)
|
||||
Too many arguments at line 5377, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 5529, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Use "local $/ = undef" or Path::Tiny instead of joined readline at line 5626, column 43. See page 213 of PBP. (Severity: 3)
|
||||
Backtick operator used at line 5644, column 20. Use IPC::Open3 instead. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5782, column 26. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6975, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 7284, column 29. See page 236 of PBP. (Severity: 3)
|
||||
Expression form of "eval" at line 7477, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 7718, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Subroutine "copy_message" with high complexity score (22) at line 8149, column 1. Consider refactoring. (Severity: 3)
|
||||
Too many arguments at line 8149, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 8223, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Subroutine "message_for_host2" with high complexity score (25) at line 8257, column 1. Consider refactoring. (Severity: 3)
|
||||
Too many arguments at line 8257, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 8535, column 35. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 8540, column 43. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 8589, column 32. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 8684, column 32. See page 236 of PBP. (Severity: 3)
|
||||
Reused variable name in lexical scope: $uid1 at line 8807, column 9. Invent unique variable names. (Severity: 3)
|
||||
Reused variable name in lexical scope: $uid2 at line 8807, column 9. Invent unique variable names. (Severity: 3)
|
||||
Reused variable name in lexical scope: $uid1 at line 8887, column 9. Invent unique variable names. (Severity: 3)
|
||||
Reused variable name in lexical scope: $uid2 at line 8887, column 9. Invent unique variable names. (Severity: 3)
|
||||
Too many arguments at line 9087, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 9326, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Expression form of "eval" at line 10687, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 10928, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Too many arguments at line 11239, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Backtick operator used at line 11612, column 17. Use IPC::Open3 instead. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 11701, column 32. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 11705, column 32. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 11724, column 33. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 11735, column 24. See page 261 of PBP. (Severity: 3)
|
||||
Cascading if-elsif chain at line 11999, column 2. See pages 117,118 of PBP. (Severity: 3)
|
||||
Return value of eval not tested at line 12153, column 3. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3)
|
||||
Backtick operator used at line 12154, column 15. Use IPC::Open3 instead. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12163, column 16. See page 261 of PBP. (Severity: 3)
|
||||
Return value of eval not tested at line 12176, column 3. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3)
|
||||
Backtick operator used at line 12177, column 15. Use IPC::Open3 instead. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12186, column 16. See page 261 of PBP. (Severity: 3)
|
||||
Return value of eval not tested at line 12200, column 3. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3)
|
||||
Capture variable used outside conditional at line 12211, column 12. See page 253 of PBP. (Severity: 3)
|
||||
Backtick operator used at line 12379, column 26. Use IPC::Open3 instead. (Severity: 3)
|
||||
Backtick operator used at line 12408, column 18. Use IPC::Open3 instead. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 12542, column 42. See page 236 of PBP. (Severity: 3)
|
||||
Backtick operator used at line 12595, column 16. Use IPC::Open3 instead. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12703, column 19. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12729, column 19. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12770, column 19. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12782, column 19. See page 261 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 13075, column 22. See page 236 of PBP. (Severity: 3)
|
||||
Expression form of "eval" at line 13146, column 56. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 13150, column 58. See page 161 of PBP. (Severity: 5)
|
||||
Split long regexps into smaller qr// chunks at line 13617, column 20. See page 261 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 14118, column 20. See page 236 of PBP. (Severity: 3)
|
||||
Reused variable name in lexical scope: $err at line 14511, column 3. Invent unique variable names. (Severity: 3)
|
||||
"warn" used instead of "carp" at line 14975, column 25. See page 283 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 14992, column 40. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 14994, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 14995, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Literal line breaks in a string at line 15021, column 19. See pages 60,61 of PBP. (Severity: 3)
|
||||
Subroutine "myGetOptions" with high complexity score (31) at line 15057, column 1. Consider refactoring. (Severity: 3)
|
||||
Capture variable used outside conditional at line 15089, column 41. See page 253 of PBP. (Severity: 3)
|
||||
Subroutine "single_sync" with high complexity score (414) at line 1119, column 1. Consider refactoring. (Severity: 3)
|
||||
Literal line breaks in a string at line 1651, column 18. See pages 60,61 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 1846, column 47. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 1857, column 47. See page 236 of PBP. (Severity: 3)
|
||||
Code structure is deeply nested at line 2448, column 41. Consider refactoring. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 2787, column 83. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 3344, column 83. See page 236 of PBP. (Severity: 3)
|
||||
Too many arguments at line 3491, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 4109, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Too many arguments at line 5096, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 5115, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 5136, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 5309, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6030, column 42. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6031, column 33. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6040, column 42. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6041, column 33. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6071, column 42. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6073, column 41. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6108, column 50. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6225, column 56. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6227, column 56. See page 236 of PBP. (Severity: 3)
|
||||
Too many arguments at line 6258, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Subroutine "authenticate_imap" with high complexity score (23) at line 6371, column 1. Consider refactoring. (Severity: 3)
|
||||
Too many arguments at line 6371, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 6539, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Use "local $/ = undef" or Path::Tiny instead of joined readline at line 6651, column 47. See page 213 of PBP. (Severity: 3)
|
||||
Backtick operator used at line 6670, column 20. Use IPC::Open3 instead. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 6815, column 26. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 8109, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 8418, column 29. See page 236 of PBP. (Severity: 3)
|
||||
Expression form of "eval" at line 8611, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 8813, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Subroutine "copy_message" with high complexity score (22) at line 9244, column 1. Consider refactoring. (Severity: 3)
|
||||
Too many arguments at line 9244, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 9319, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Subroutine "message_for_host2" with high complexity score (25) at line 9353, column 1. Consider refactoring. (Severity: 3)
|
||||
Too many arguments at line 9353, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 9631, column 35. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 9636, column 43. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 9685, column 32. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 9780, column 32. See page 236 of PBP. (Severity: 3)
|
||||
Reused variable name in lexical scope: $uid1 at line 9903, column 9. Invent unique variable names. (Severity: 3)
|
||||
Reused variable name in lexical scope: $uid2 at line 9903, column 9. Invent unique variable names. (Severity: 3)
|
||||
Reused variable name in lexical scope: $uid1 at line 9983, column 9. Invent unique variable names. (Severity: 3)
|
||||
Reused variable name in lexical scope: $uid2 at line 9983, column 9. Invent unique variable names. (Severity: 3)
|
||||
Too many arguments at line 10183, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Too many arguments at line 10422, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Expression form of "eval" at line 11892, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 12133, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Too many arguments at line 12444, column 1. See page 182 of PBP. (Severity: 3)
|
||||
Backtick operator used at line 12817, column 17. Use IPC::Open3 instead. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12906, column 32. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12910, column 32. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12929, column 33. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 12940, column 24. See page 261 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 13113, column 37. See page 236 of PBP. (Severity: 3)
|
||||
Cascading if-elsif chain at line 13242, column 2. See pages 117,118 of PBP. (Severity: 3)
|
||||
Return value of eval not tested at line 13396, column 3. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3)
|
||||
Backtick operator used at line 13397, column 15. Use IPC::Open3 instead. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 13406, column 16. See page 261 of PBP. (Severity: 3)
|
||||
Return value of eval not tested at line 13419, column 3. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3)
|
||||
Backtick operator used at line 13420, column 15. Use IPC::Open3 instead. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 13429, column 16. See page 261 of PBP. (Severity: 3)
|
||||
Return value of eval not tested at line 13443, column 3. You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed. (Severity: 3)
|
||||
Capture variable used outside conditional at line 13454, column 12. See page 253 of PBP. (Severity: 3)
|
||||
Backtick operator used at line 13622, column 26. Use IPC::Open3 instead. (Severity: 3)
|
||||
Backtick operator used at line 13651, column 18. Use IPC::Open3 instead. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 13785, column 42. See page 236 of PBP. (Severity: 3)
|
||||
Backtick operator used at line 13839, column 16. Use IPC::Open3 instead. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 13947, column 19. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 13973, column 19. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 14014, column 19. See page 261 of PBP. (Severity: 3)
|
||||
Split long regexps into smaller qr// chunks at line 14026, column 19. See page 261 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 14338, column 22. See page 236 of PBP. (Severity: 3)
|
||||
Expression form of "eval" at line 14409, column 56. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 14413, column 58. See page 161 of PBP. (Severity: 5)
|
||||
Split long regexps into smaller qr// chunks at line 14880, column 20. See page 261 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 15382, column 20. See page 236 of PBP. (Severity: 3)
|
||||
Reused variable name in lexical scope: $err at line 15775, column 3. Invent unique variable names. (Severity: 3)
|
||||
"warn" used instead of "carp" at line 16239, column 25. See page 283 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 16256, column 40. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 16258, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Regular expression without "/x" flag at line 16259, column 23. See page 236 of PBP. (Severity: 3)
|
||||
Literal line breaks in a string at line 16285, column 19. See pages 60,61 of PBP. (Severity: 3)
|
||||
Subroutine "myGetOptions" with high complexity score (31) at line 16321, column 1. Consider refactoring. (Severity: 3)
|
||||
Capture variable used outside conditional at line 16353, column 41. See page 253 of PBP. (Severity: 3)
|
||||
|
||||
1 files.
|
||||
476 subroutines/methods.
|
||||
15,905 statements.
|
||||
505 subroutines/methods.
|
||||
17,023 statements.
|
||||
|
||||
15,974 lines, consisting of:
|
||||
2,987 blank lines.
|
||||
967 comment lines.
|
||||
17,259 lines, consisting of:
|
||||
3,228 blank lines.
|
||||
1,071 comment lines.
|
||||
0 data lines.
|
||||
11,242 lines of Perl code.
|
||||
778 lines of POD.
|
||||
12,138 lines of Perl code.
|
||||
822 lines of POD.
|
||||
|
||||
Average McCabe score of subroutines was 4.05.
|
||||
Average McCabe score of subroutines was 4.91.
|
||||
|
||||
81 violations.
|
||||
Violations per file was 81.000.
|
||||
87 violations.
|
||||
Violations per file was 87.000.
|
||||
Violations per statement was 0.005.
|
||||
Violations per line of code was 0.005.
|
||||
|
||||
6 severity 5 violations.
|
||||
75 severity 3 violations.
|
||||
81 severity 3 violations.
|
||||
|
||||
6 violations of BuiltinFunctions::ProhibitStringyEval.
|
||||
1 violations of ControlStructures::ProhibitCascadingIfElse.
|
||||
@ -108,11 +114,10 @@ Violations per line of code was 0.005.
|
||||
3 violations of ErrorHandling::RequireCheckingReturnValueOfEval.
|
||||
7 violations of InputOutput::ProhibitBacktickOperators.
|
||||
1 violations of InputOutput::ProhibitJoinedReadline.
|
||||
1 violations of Modules::ProhibitExcessMainComplexity.
|
||||
2 violations of RegularExpressions::ProhibitCaptureWithoutTest.
|
||||
11 violations of RegularExpressions::ProhibitComplexRegexes.
|
||||
25 violations of RegularExpressions::RequireExtendedFormatting.
|
||||
4 violations of Subroutines::ProhibitExcessComplexity.
|
||||
12 violations of Subroutines::ProhibitManyArgs.
|
||||
1 violations of ValuesAndExpressions::ProhibitImplicitNewlines.
|
||||
29 violations of RegularExpressions::RequireExtendedFormatting.
|
||||
5 violations of Subroutines::ProhibitExcessComplexity.
|
||||
13 violations of Subroutines::ProhibitManyArgs.
|
||||
2 violations of ValuesAndExpressions::ProhibitImplicitNewlines.
|
||||
5 violations of Variables::ProhibitReusedNames.
|
||||
|
@ -1,22 +1,22 @@
|
||||
Expression form of "eval" at line 7477, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 7718, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 10687, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 10928, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 13146, column 56. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 13150, column 58. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 8611, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 8813, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 11892, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 12133, column 27. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 14409, column 56. See page 161 of PBP. (Severity: 5)
|
||||
Expression form of "eval" at line 14413, column 58. See page 161 of PBP. (Severity: 5)
|
||||
|
||||
1 files.
|
||||
476 subroutines/methods.
|
||||
15,905 statements.
|
||||
505 subroutines/methods.
|
||||
17,023 statements.
|
||||
|
||||
15,974 lines, consisting of:
|
||||
2,987 blank lines.
|
||||
967 comment lines.
|
||||
17,259 lines, consisting of:
|
||||
3,228 blank lines.
|
||||
1,071 comment lines.
|
||||
0 data lines.
|
||||
11,242 lines of Perl code.
|
||||
778 lines of POD.
|
||||
12,138 lines of Perl code.
|
||||
822 lines of POD.
|
||||
|
||||
Average McCabe score of subroutines was 4.05.
|
||||
Average McCabe score of subroutines was 4.91.
|
||||
|
||||
6 violations.
|
||||
Violations per file was 6.000.
|
||||
|
@ -1,17 +1,16 @@
|
||||
$SHELL says /bin/bash
|
||||
$0 gives ./INSTALL.d/prerequisites_imapsync
|
||||
ps -ef gives gilles 2386 2385 0 01:17 pts/2 00:00:00 /bin/sh ./INSTALL.d/prerequisites_imapsync
|
||||
ps -ef gives gilles 1184 1183 0 23:44 pts/21 00:00:00 /bin/sh ./INSTALL.d/prerequisites_imapsync
|
||||
Distributor ID: Ubuntu
|
||||
Description: Ubuntu 16.04.6 LTS
|
||||
Release: 16.04
|
||||
Codename: xenial
|
||||
Linux petite 4.4.0-148-generic #174-Ubuntu SMP Tue May 7 12:19:28 UTC 2019 i686 i686 i686 GNU/Linux
|
||||
Linux petite 4.4.0-166-generic #195-Ubuntu SMP Tue Oct 1 09:36:25 UTC 2019 i686 i686 i686 GNU/Linux
|
||||
Ok: Found Perl 5.22.1
|
||||
make[1] : on entre dans le répertoire « /home/gilles/public_html/imapsync »
|
||||
make[1]: rien à faire pour « foo ».
|
||||
make[1] : on quitte le répertoire « /home/gilles/public_html/imapsync »
|
||||
Ok: Found make GNU Make 4.1
|
||||
Ok: Found Perl module File::Tail
|
||||
Ok: Found Perl module App::cpanminus
|
||||
Ok: Found Perl module Authen::NTLM
|
||||
Ok: Found Perl module CGI
|
||||
@ -23,8 +22,11 @@ Ok: Found Perl module Digest::HMAC
|
||||
Ok: Found Perl module Digest::HMAC_MD5
|
||||
Ok: Found Perl module Digest::MD5
|
||||
Ok: Found Perl module Dist::CheckConflicts
|
||||
Ok: Found Perl module Encode
|
||||
Ok: Found Perl module Encode::Byte
|
||||
Ok: Found Perl module Encode::IMAPUTF7
|
||||
Ok: Found Perl module File::Copy::Recursive
|
||||
Ok: Found Perl module File::Tail
|
||||
Ok: Found Perl module IO::Socket::INET
|
||||
Ok: Found Perl module IO::Socket::INET6
|
||||
Ok: Found Perl module IO::Socket::SSL
|
||||
@ -35,6 +37,7 @@ Ok: Found Perl module JSON::WebToken::Crypt::RSA
|
||||
Ok: Found Perl module HTML::Entities
|
||||
Ok: Found Perl module LWP::UserAgent
|
||||
Ok: Found Perl module Mail::IMAPClient
|
||||
Ok: Found Perl module MIME::Base64
|
||||
Ok: Found Perl module Module::Implementation
|
||||
Ok: Found Perl module Module::Runtime
|
||||
Ok: Found Perl module Module::ScanDeps
|
||||
@ -55,6 +58,7 @@ Ok: Found Perl module Test::More
|
||||
Ok: Found Perl module Test::Pod
|
||||
Ok: Found Perl module Test::Requires
|
||||
Ok: Found Perl module Test::Deep
|
||||
Ok: Found Perl module Text::ParseWords
|
||||
Ok: Found Perl module Try::Tiny
|
||||
Ok: Found Perl module Unicode::String
|
||||
Ok: Found Perl module URI::Escape
|
||||
|
@ -1,11 +1,11 @@
|
||||
Name:
|
||||
|
||||
imapsync - Email IMAP tool for syncing, copying and migrating email
|
||||
mailboxes between two imap servers, one way, and without duplicates.
|
||||
imapsync - Email IMAP tool for syncing, copying, migrating and archiving
|
||||
email mailboxes between two imap servers, one way, and without duplicates.
|
||||
|
||||
Version:
|
||||
|
||||
This documentation refers to Imapsync $Revision: 1.5 $
|
||||
This documentation refers to Imapsync $Revision: 1.7 $
|
||||
|
||||
Usage:
|
||||
|
||||
@ -23,11 +23,11 @@ Options:
|
||||
|
||||
usage: imapsync [options]
|
||||
|
||||
Standard options are the six values forming the credentials, three on each
|
||||
sides, needed to log in into the IMAP servers, ie, a host, a username, and
|
||||
a password, two times.
|
||||
The standard options are the six values forming the credentials. Three
|
||||
values on each side are needed in order to log in into the IMAP servers.
|
||||
These six values are a host, a username, and a password, two times.
|
||||
|
||||
Conventions used:
|
||||
Conventions used in the following descriptions of the options:
|
||||
|
||||
str means string
|
||||
int means integer
|
||||
@ -42,7 +42,7 @@ Options/credentials:
|
||||
--host1 str : Source or "from" imap server.
|
||||
--port1 int : Port to connect on host1.
|
||||
Optional since default ports are the
|
||||
well known ports 143 or 993.
|
||||
well known ports imap/143 or imaps/993.
|
||||
--user1 str : User to login on host1.
|
||||
--password1 str : Password for the user1.
|
||||
|
||||
@ -55,7 +55,7 @@ Options/credentials:
|
||||
Useful to restart a complete run by just reading
|
||||
the command line used in the log,
|
||||
or to debug passwords.
|
||||
It's not a secure practice.
|
||||
It's not a secure practice at all.
|
||||
|
||||
--passfile1 str : Password file for the user1. It must contain the
|
||||
password on the first line. This option avoids showing
|
||||
@ -119,7 +119,7 @@ Options/folders:
|
||||
--folderrec str : Sync this folder recursively.
|
||||
--folderrec str : and this one, etc.
|
||||
|
||||
--folderfirst str : Sync this folder first. --folderfirst "Work"
|
||||
--folderfirst str : Sync this folder first. Ex. --folderfirst "INBOX"
|
||||
--folderfirst str : then this one, etc.
|
||||
--folderlast str : Sync this folder last. --folderlast "[Gmail]/All Mail"
|
||||
--folderlast str : then this one, etc.
|
||||
@ -153,8 +153,8 @@ Options/folders:
|
||||
--regextrans2 options before all others.
|
||||
Add --debug to see what's really going on.
|
||||
|
||||
--subfolder1 str : Syncs the host1 folders hierarchy under str
|
||||
to the root hierarchy of host2.
|
||||
--subfolder1 str : Syncs the host1 folders hierarchy which is under folder
|
||||
str to the root hierarchy of host2.
|
||||
It's the couterpart of a sync done by --subfolder2
|
||||
when doing it in the reverse order.
|
||||
Backup/Restore scenario:
|
||||
@ -174,23 +174,24 @@ Options/folders:
|
||||
usually "INBOX." or "INBOX/" or an empty string "".
|
||||
imapsync guesses the prefix if host1 imap server
|
||||
does not have NAMESPACE capability. So this option
|
||||
should not be used, most of the time.
|
||||
should not be used most of the time.
|
||||
--prefix2 str : Add prefix to all host2 folders. See --prefix1
|
||||
|
||||
--sep1 str : Host1 separator. This option should not be used,
|
||||
--sep1 str : Host1 separator. This option should not be used
|
||||
most of the time.
|
||||
Imapsync gets the separator from the server itself,
|
||||
by using NAMESPACE, or it tries to guess it
|
||||
from the folders listing (it counts
|
||||
characters / . \\ \ in folder names and choose the
|
||||
more frequent, or finally / if nothing is found.
|
||||
--sep2 str : Host2 separator.
|
||||
--sep2 str : Host2 separator. See --sep1
|
||||
|
||||
--regextrans2 reg : Apply the whole regex to each destination folders.
|
||||
--regextrans2 reg : and this one. etc.
|
||||
When you play with the --regextrans2 option, first
|
||||
add also the safe options --dry --justfolders
|
||||
Then, when happy, remove --dry, remove --justfolders.
|
||||
Then, when happy, remove --dry for a run, then
|
||||
remove --justfolders for the next ones.
|
||||
Have in mind that --regextrans2 is applied after
|
||||
the automatic prefix and separator inversion.
|
||||
For examples see:
|
||||
@ -223,6 +224,18 @@ Options/log:
|
||||
--logfile str : Change the default log filename (can be dirname/filename).
|
||||
--logdir str : Change the default log directory. Default is LOG_imapsync/
|
||||
|
||||
The default logfile name is for example
|
||||
|
||||
LOG_imapsync/2019_12_22_23_57_59_532_user1_user2.txt
|
||||
|
||||
where:
|
||||
|
||||
2019_12_22_23_57_59_532 is nearly the date of the start
|
||||
YYYY_MM_DD_HH_MM_SS_mmm
|
||||
year_month_day_hour_minute_seconde_millisecond
|
||||
|
||||
and user1 user2 are the --user1 --user2 values.
|
||||
|
||||
Options/messages:
|
||||
|
||||
--skipmess reg : Skips messages matching the regex.
|
||||
@ -230,6 +243,15 @@ Options/messages:
|
||||
--skipmess is applied before --regexmess
|
||||
--skipmess reg : or this one, etc.
|
||||
|
||||
--skipcrossduplicates : Avoid copying messages that are already copied
|
||||
in another folder, good from Gmail to X when
|
||||
X is not also Gmail.
|
||||
Activated with --gmail1 unless --noskipcrossduplicates
|
||||
|
||||
--debugcrossduplicates : Prints which messages (UIDs) are skipped with
|
||||
--skipcrossduplicates (and in what other folders
|
||||
they are).
|
||||
|
||||
--pipemess cmd : Apply this cmd command to each message content
|
||||
before the copy.
|
||||
--pipemess cmd : and this one, etc.
|
||||
@ -247,6 +269,23 @@ Options/messages:
|
||||
Example: 's/\000/ /g' # to replace null by space.
|
||||
--regexmess reg : and this one, etc.
|
||||
|
||||
Options/labels:
|
||||
|
||||
Gmail present labels as folders in imap. Imapsync can accelerate the sync
|
||||
by syncing X-GM-LABELS, it will avoid to transfer messages when they are
|
||||
already on host2.
|
||||
|
||||
--synclabels : Syncs also Gmail labels when a message is copied to host2.
|
||||
Activated by default with --gmail1 --gmail2 unless
|
||||
--nosynclabels is added.
|
||||
|
||||
--resynclabels : Resyncs Gmail labels when a message is already on host2.
|
||||
Activated by default with --gmail1 --gmail2 unless
|
||||
--noresynclabels is added.
|
||||
|
||||
For Gmail syncs, see also:
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Gmail.txt
|
||||
|
||||
Options/flags:
|
||||
|
||||
If you encounter flag problems see also:
|
||||
@ -297,12 +336,15 @@ Options/deletions:
|
||||
--delete2folders : Delete folders in host2 that are not in host1 server.
|
||||
For safety, first try it like this (it is safe):
|
||||
--delete2folders --dry --justfolders --nofoldersizes
|
||||
and see what folders will be deleted.
|
||||
|
||||
--delete2foldersonly reg : Deleted only folders matching regex.
|
||||
--delete2foldersonly reg : Delete only folders matching the regex reg.
|
||||
Example: --delete2foldersonly "/^Junk$|^INBOX.Junk$/"
|
||||
This option activates --delete2folders
|
||||
|
||||
--delete2foldersbutnot reg : Do not delete folders matching regex.
|
||||
--delete2foldersbutnot reg : Do not delete folders matching the regex rex.
|
||||
Example: --delete2foldersbutnot "/Tasks$|Contacts$|Foo$/"
|
||||
This option activates --delete2folders
|
||||
|
||||
--noexpunge2 : Do not expunge messages on host2.
|
||||
--nouidexpunge2 : Do not uidexpunge messages on the host2 account
|
||||
@ -328,7 +370,7 @@ Options/message selection:
|
||||
see also --minage
|
||||
--minage int : Skip messages newer than int days.
|
||||
final stats (skipped) don't count newer messages
|
||||
You can do (+ are the messages selected):
|
||||
You can do (+ zone are the messages selected):
|
||||
past|----maxage+++++++++++++++>now
|
||||
past|+++++++++++++++minage---->now
|
||||
past|----maxage+++++minage---->now (intersection)
|
||||
@ -336,22 +378,23 @@ Options/message selection:
|
||||
|
||||
--search str : Selects only messages returned by this IMAP SEARCH
|
||||
command. Applied on both sides.
|
||||
For a complete of what can be search see
|
||||
For a complete set of what can be search see
|
||||
https://imapsync.lamiral.info/FAQ.d/FAQ.Messages_Selection.txt
|
||||
|
||||
--search1 str : Same as --search but for selecting host1 messages only.
|
||||
--search2 str : Same as --search but for selecting host2 messages only.
|
||||
--search CRIT equals --search1 CRIT --search2 CRIT
|
||||
So --search CRIT equals --search1 CRIT --search2 CRIT
|
||||
|
||||
--maxlinelength int : skip messages with a line length longer than int bytes.
|
||||
RFC 2822 says it must be no more than 1000 bytes.
|
||||
RFC 2822 says it must be no more than 1000 bytes but
|
||||
real life servers and email clients do more.
|
||||
|
||||
|
||||
--useheader str : Use this header to compare messages on both sides.
|
||||
Ex: Message-ID or Subject or Date.
|
||||
--useheader str and this one, etc.
|
||||
|
||||
--usecache : Use cache to speed up the sync.
|
||||
--usecache : Use cache to speed up next syncs. Not set by default.
|
||||
--nousecache : Do not use cache. Caveat: --useuid --nousecache creates
|
||||
duplicates on multiple runs.
|
||||
--useuid : Use UIDs instead of headers as a criterion to recognize
|
||||
@ -361,10 +404,10 @@ Options/message selection:
|
||||
Options/miscellaneous:
|
||||
|
||||
--syncacls : Synchronizes acls (Access Control Lists).
|
||||
--nosyncacls : Does not synchronize acls. This is the default.
|
||||
Acls in IMAP are not standardized, be careful
|
||||
since one acl code on one side may signify something
|
||||
else on the other one.
|
||||
--nosyncacls : Does not synchronize acls. This is the default.
|
||||
|
||||
--addheader : When a message has no headers to be identified,
|
||||
--addheader adds a "Message-Id" header,
|
||||
@ -392,17 +435,17 @@ Options/debugging:
|
||||
|
||||
Options/specific:
|
||||
|
||||
--gmail1 : sets --host1 to Gmail and options from FAQ.Gmail.txt
|
||||
--gmail2 : sets --host2 to Gmail and options from FAQ.Gmail.txt
|
||||
--gmail1 : sets --host1 to Gmail and other options. See FAQ.Gmail.txt
|
||||
--gmail2 : sets --host2 to Gmail and other options. See FAQ.Gmail.txt
|
||||
|
||||
--office1 : sets --host1 to Office365 options from FAQ.Exchange.txt
|
||||
--office2 : sets --host2 to Office365 options from FAQ.Exchange.txt
|
||||
--office1 : sets --host1 to Office365 and other options. See FAQ.Exchange.txt
|
||||
--office2 : sets --host2 to Office365 and other options. See FAQ.Exchange.txt
|
||||
|
||||
--exchange1 : sets options from FAQ.Exchange.txt, account1 part
|
||||
--exchange2 : sets options from FAQ.Exchange.txt, account2 part
|
||||
--exchange1 : sets options for Exchange. See FAQ.Exchange.txt
|
||||
--exchange2 : sets options for Exchange. See FAQ.Exchange.txt
|
||||
|
||||
--domino1 : sets options from FAQ.Domino.txt, account1 part
|
||||
--domino2 : sets options from FAQ.Domino.txt, account2 part
|
||||
--domino1 : sets options for Domino. See FAQ.Domino.txt
|
||||
--domino2 : sets options for Domino. See FAQ.Domino.txt
|
||||
|
||||
Options/behavior:
|
||||
|
||||
@ -422,7 +465,7 @@ Options/behavior:
|
||||
transferred is reached.
|
||||
|
||||
--version : Print only software version.
|
||||
--noreleasecheck : Do not check for new imapsync release
|
||||
--noreleasecheck : Do not check for any new imapsync release.
|
||||
--releasecheck : Check for new imapsync release.
|
||||
it's an http request to
|
||||
http://imapsync.lamiral.info/prj/imapsync/VERSION
|
||||
@ -450,271 +493,284 @@ Options/behavior:
|
||||
--host1 test1.lamiral.info --user1 test1 --password1 secret1 \
|
||||
--host2 test2.lamiral.info --user2 test2 --password2 secret2
|
||||
|
||||
Here is imapsync 1.945 on host petite, a linux system with 1.1/2.0 free GiB of RAM
|
||||
Here is imapsync 1.977 on host petite, a linux system with 0.2/2.0 free GiB of RAM
|
||||
with Perl 5.22.1 and Mail::IMAPClient 3.38
|
||||
$Id: prereq.scandeps.Ubuntu_16.04_xenial.txt,v 1.5 2019/06/26 23:17:16 gilles Exp gilles $
|
||||
This imapsync is up to date. ( local 1.945 >= official 1.921 )( Use --noreleasecheck to avoid this release check. )
|
||||
$Id: prereq.scandeps.Ubuntu_16.04_xenial.txt,v 1.7 2020/01/03 22:44:51 gilles Exp gilles $
|
||||
This imapsync is up to date. ( local 1.977 >= official 1.945 )( Use --noreleasecheck to avoid this release check. )
|
||||
Homepage: https://imapsync.lamiral.info/
|
||||
'Tie::Hash::NamedCapture' => '0.09',
|
||||
'APR' => '0.009000',
|
||||
'APR::XSLoader' => 'undef',
|
||||
'Apache2::XSLoader' => 'undef',
|
||||
'Authen::NTLM::DES' => '1.02',
|
||||
'Authen::NTLM::MD4' => '1.02',
|
||||
'GSSAPI' => '0.28',
|
||||
'Crypt::Random::Seed' => '0.03',
|
||||
'Math::Random::ISAAC' => '1.003',
|
||||
'CGI::Cookie' => '4.26',
|
||||
'CGI::File::Temp' => '4.26',
|
||||
'APR::Pool' => '0.009000',
|
||||
'Apache2::RequestIO' => '2.000009',
|
||||
'Apache2::RequestRec' => '2.000009',
|
||||
'Apache2::Response' => '2.000009',
|
||||
'Apache2::RequestUtil' => '2.000009',
|
||||
'CGI::Util' => '4.26',
|
||||
'ModPerl::Util' => '2.000009',
|
||||
'APR::Table' => '0.009000',
|
||||
'Fh' => '4.26',
|
||||
'Convert::ASN1::IO' => '0.27',
|
||||
'Convert::ASN1::_decode' => '0.27',
|
||||
'Convert::ASN1::_encode' => '0.27',
|
||||
'Convert::ASN1::parser' => '0.27',
|
||||
'Bytes::Random::Secure' => '0.28',
|
||||
'Crypt::SSLeay::X509' => 'undef',
|
||||
'Crypt::SSLeay::CTX' => 'undef',
|
||||
'Digest::HMAC' => '1.03',
|
||||
'Digest::Perl::MD5' => '1.9',
|
||||
'Encode::HanExtra' => '0.23',
|
||||
'HTML::Parser' => '3.72',
|
||||
'HTTP::Headers' => '6.11',
|
||||
'HTTP::Cookies::Netscape' => '6.00',
|
||||
'IO::Compress::Bzip2' => '2.069',
|
||||
'IO::Compress::Deflate' => '2.069',
|
||||
'IO::Compress::Gzip' => '2.069',
|
||||
'IO::HTML' => '1.001',
|
||||
'IO::Uncompress::Bunzip2' => '2.069',
|
||||
'IO::Uncompress::Inflate' => '2.069',
|
||||
'IO::Uncompress::RawInflate' => '2.069',
|
||||
'IO::Uncompress::Gunzip' => '2.069',
|
||||
'HTTP::Message' => '6.11',
|
||||
'Compress::Raw::Bzip2' => '2.069',
|
||||
'File::GlobMapper' => '1.000',
|
||||
'IO::Compress::Adapter::Bzip2' => '2.069',
|
||||
'IO::Compress::Base' => '2.069',
|
||||
'IO::Compress::RawDeflate' => '2.069',
|
||||
'IO::Compress::Adapter::Deflate' => '2.069',
|
||||
'IO::Compress::Base::Common' => '2.069',
|
||||
'IO::Compress::Zlib::Constants' => '2.069',
|
||||
'IO::Compress::Zlib::Extra' => '2.069',
|
||||
'IO::Compress::Gzip::Constants' => '2.069',
|
||||
'IO::Socket::SSL::PublicSuffix' => 'undef',
|
||||
'Net::SSLeay' => '1.72',
|
||||
'Socket6' => '0.25',
|
||||
'IO::Uncompress::Adapter::Bunzip2' => '2.069',
|
||||
'IO::Uncompress::Base' => '2.069',
|
||||
'IO::Uncompress::Adapter::Inflate' => '2.069',
|
||||
'JSON::WebToken::Constants' => 'undef',
|
||||
'JSON::WebToken::Exception' => 'undef',
|
||||
'Module::Runtime' => '0.014',
|
||||
'JSON::WebToken::Crypt' => 'undef',
|
||||
'Types::Serialiser' => '1.0',
|
||||
'common::sense' => '3.74',
|
||||
'CPAN::Config' => 'undef',
|
||||
'URI::_foreign' => '1.71',
|
||||
'URI::mailto' => '1.71',
|
||||
'URI::data' => '1.71',
|
||||
'URI::_query' => '1.71',
|
||||
'URI' => '1.71',
|
||||
'URI::QueryParam' => '1.71',
|
||||
'URI::Split' => '1.71',
|
||||
'URI::_segment' => '1.71',
|
||||
'URI::file::FAT' => '1.71',
|
||||
'URI::file::Mac' => '1.71',
|
||||
'URI::file::OS2' => '1.71',
|
||||
'URI::file::QNX' => '1.71',
|
||||
'URI::ftp' => '1.71',
|
||||
'URI::gopher' => '1.71',
|
||||
'URI::https' => '1.71',
|
||||
'URI::ldapi' => '1.71',
|
||||
'URI::ldaps' => '1.71',
|
||||
'URI::mms' => '1.71',
|
||||
'URI::nntp' => '1.71',
|
||||
'URI::pop' => '1.71',
|
||||
'URI::rlogin' => '1.71',
|
||||
'URI::rsync' => '1.71',
|
||||
'URI::rtspu' => '1.71',
|
||||
'URI::sftp' => '1.71',
|
||||
'URI::sips' => '1.71',
|
||||
'URI::snews' => '1.71',
|
||||
'URI::telnet' => '1.71',
|
||||
'URI::tn3270' => '1.71',
|
||||
'URI::_punycode' => '1.71',
|
||||
'URI::file::Win32' => '1.71',
|
||||
'URI::file::Unix' => '1.71',
|
||||
'URI::file::Base' => '1.71',
|
||||
'URI::_ldap' => '1.71',
|
||||
'URI::ldap' => '1.71',
|
||||
'URI::rtsp' => '1.71',
|
||||
'URI::ssh' => '1.71',
|
||||
'URI::sip' => '1.71',
|
||||
'URI::news' => '1.71',
|
||||
'URI::IRI' => '1.71',
|
||||
'URI::Heuristic' => '4.20',
|
||||
'URI::_generic' => '1.71',
|
||||
'URI::_login' => '1.71',
|
||||
'URI::_idna' => '1.71',
|
||||
'URI::_userpass' => '1.71',
|
||||
'LWP::MediaTypes' => '6.02',
|
||||
'File::Listing' => '6.04',
|
||||
'HTTP::Negotiate' => '6.00',
|
||||
'Net::HTTP' => '6.09',
|
||||
'HTTP::Status' => '6.11',
|
||||
'Net::HTTPS' => '6.09',
|
||||
'Net::SSL' => '2.88',
|
||||
'Net::LDAP::DSML' => '0.16',
|
||||
'Net::LDAP' => '0.65',
|
||||
'Net::LDAP::LDIF' => '0.26',
|
||||
'Mail::Internet' => '2.13',
|
||||
'HTML::HeadParser' => '3.71',
|
||||
'HTTP::Config' => '6.11',
|
||||
'HTTP::Request::Common' => '6.11',
|
||||
'LWP::ConnCache' => '6.15',
|
||||
'HTTP::Cookies' => '6.01',
|
||||
'Encode::Locale' => '1.05',
|
||||
'HTTP::Headers::Util' => '6.11',
|
||||
'LWP::MemberMixin' => 'undef',
|
||||
'LWP' => '6.15',
|
||||
'HTTP::Date' => '6.02',
|
||||
'HTTP::Request' => '6.11',
|
||||
'LWP::Protocol' => '6.15',
|
||||
'HTTP::Response' => '6.11',
|
||||
'Mail::IMAPClient::MessageSet' => 'undef',
|
||||
'Digest::HMAC_MD5' => '1.01',
|
||||
'Authen::NTLM' => '1.09',
|
||||
'Authen::SASL' => '2.16',
|
||||
'Authen::SASL::CRAM_MD5' => '2.14',
|
||||
'Authen::SASL::EXTERNAL' => '2.14',
|
||||
'Authen::SASL::Perl' => '2.14',
|
||||
'Authen::SASL::Perl::ANONYMOUS' => '2.14',
|
||||
'Authen::SASL::Perl::CRAM_MD5' => '2.14',
|
||||
'Authen::SASL::Perl::DIGEST_MD5' => '2.14',
|
||||
'Authen::SASL::Perl::EXTERNAL' => '2.14',
|
||||
'Authen::SASL::Perl::GSSAPI' => '0.05',
|
||||
'Authen::SASL::Perl::LOGIN' => '2.14',
|
||||
'Authen::SASL::Perl::PLAIN' => '2.14',
|
||||
'Mail::Address' => '2.13',
|
||||
'Mail::Header' => '2.13',
|
||||
'Mail::Mailer' => '2.13',
|
||||
'Mail::Util' => '2.13',
|
||||
'Math::Random::ISAAC::PP' => '1.003',
|
||||
'Math::Random::ISAAC::XS' => '1.004',
|
||||
'Net::HTTP::Methods' => '6.09',
|
||||
'Compress::Raw::Zlib' => '2.069',
|
||||
'Net::LDAP::Bind' => '1.05',
|
||||
'Net::LDAP::Extension' => '1.04',
|
||||
'Net::LDAP::RootDSE' => '0.02',
|
||||
'Net::LDAP::Search' => '0.14',
|
||||
'Convert::ASN1::Debug' => '0.27',
|
||||
'Convert::ASN1' => '0.27',
|
||||
'Net::LDAP::Message' => '1.12',
|
||||
'Net::LDAP::ASN' => '0.12',
|
||||
'Net::LDAP::Constant' => '0.23',
|
||||
'Net::LDAP::Filter' => '0.20',
|
||||
'XML::SAX::Base' => '1.07',
|
||||
'Net::LDAP::Schema' => '0.9908',
|
||||
'Net::LDAP::Entry' => '0.27',
|
||||
'Net::LDAP::Control' => '0.18',
|
||||
'Net::LDAP::Util' => '0.19',
|
||||
'Net::LDAP::Intermediate' => '0.04',
|
||||
'Crypt::SSLeay::MainContext' => 'undef',
|
||||
'Crypt::SSLeay' => '0.73_04',
|
||||
'Email::Address' => '1.908',
|
||||
'Test::Builder::IO::Scalar' => '2.113',
|
||||
'UNIVERSAL::can' => '1.20140328',
|
||||
'UNIVERSAL::isa' => '1.20150614',
|
||||
'Test::Builder' => '1.001014',
|
||||
'Test::Builder::Module' => '1.001014',
|
||||
'URI::WithBase' => '2.20',
|
||||
'URI::file' => '4.21',
|
||||
'URI::_server' => '1.71',
|
||||
'Unicode::CharName' => '1.07',
|
||||
'XML::SAX::Exception' => '1.07',
|
||||
'CGI::Carp' => '4.26',
|
||||
'Data::Uniqid' => '0.12',
|
||||
'Digest::HMAC_SHA1' => '1.03',
|
||||
'File::Copy::Recursive' => '0.38',
|
||||
'File::Tail' => '1.3',
|
||||
'IO::Tee' => '0.64',
|
||||
'JSON::WebToken' => '0.10',
|
||||
'JSON::WebToken::Crypt::RSA' => 'undef',
|
||||
'Mail::IMAPClient' => '3.38',
|
||||
'Readonly' => '2.00',
|
||||
'Sys::MemInfo' => '0.98',
|
||||
'Term::ReadKey' => '2.33',
|
||||
'Test::MockObject' => '1.20150527',
|
||||
'Test::More' => '1.001014',
|
||||
'Unicode::String' => '2.09',
|
||||
'HTML::Entities' => '3.69',
|
||||
'CGI' => '4.26',
|
||||
'LWP::Authen::Digest' => 'undef',
|
||||
'LWP::Authen::Ntlm' => '6.15',
|
||||
'LWP::Protocol::GHTTP' => 'undef',
|
||||
'LWP::Protocol::cpan' => 'undef',
|
||||
'LWP::Protocol::data' => 'undef',
|
||||
'LWP::Protocol::file' => 'undef',
|
||||
'LWP::Protocol::ftp' => 'undef',
|
||||
'LWP::Protocol::gopher' => 'undef',
|
||||
'LWP::Protocol::https' => '6.06',
|
||||
'LWP::Protocol::ldapi' => 'undef',
|
||||
'LWP::Protocol::ldaps' => 'undef',
|
||||
'LWP::Protocol::loopback' => 'undef',
|
||||
'LWP::Protocol::mailto' => 'undef',
|
||||
'LWP::Protocol::nntp' => 'undef',
|
||||
'LWP::UserAgent' => '6.15',
|
||||
'JSON::XS' => '3.01',
|
||||
'JSON' => '2.90',
|
||||
'JSON::XS::Boolean' => 'undef',
|
||||
'Crypt::OpenSSL::RSA' => '0.28',
|
||||
'LWP::Authen::Basic' => 'undef',
|
||||
'URI::URL' => '5.04',
|
||||
'URI::http' => '1.71',
|
||||
'URI::Escape' => '3.31',
|
||||
'LWP::Protocol::http' => 'undef',
|
||||
'IO::Socket::SSL' => '2.047',
|
||||
'LWP::Protocol::ldap' => '1.25',
|
||||
'LWP::Protocol::nogo' => 'undef',
|
||||
'IO::Socket::INET6' => '2.72',
|
||||
'Regexp::Common::comment' => '2016020301',
|
||||
'Regexp::Common::lingua' => '2016020301',
|
||||
'Regexp::Common::zip' => '2016020301',
|
||||
'Regexp::Common::net' => '2016020301',
|
||||
'Regexp::Common::list' => '2016020301',
|
||||
'Regexp::Common::URI::news' => '2016020301',
|
||||
'Regexp::Common::URI::pop' => '2016020301',
|
||||
'Regexp::Common::URI::tel' => '2016020301',
|
||||
'Regexp::Common::profanity' => '2016020301',
|
||||
'Regexp::Common::URI::ftp' => '2016020301',
|
||||
'Regexp::Common::URI::fax' => '2016020301',
|
||||
'Regexp::Common::URI::wais' => '2016020301',
|
||||
'Regexp::Common::URI::RFC2396' => '2016020301',
|
||||
'Regexp::Common::URI::prospero' => '2016020301',
|
||||
'Regexp::Common::URI::tv' => '2016020301',
|
||||
'Regexp::Common::URI::telnet' => '2016020301',
|
||||
'Regexp::Common::Email::Address' => '1.01',
|
||||
'Regexp::Common' => '2016020301',
|
||||
'Regexp::Common::URI::RFC1808' => '2016020301',
|
||||
'Regexp::Common::URI::RFC2806' => '2016020301',
|
||||
'Regexp::Common::_support' => '2016020301',
|
||||
'Regexp::Common::URI::gopher' => '2016020301',
|
||||
'Regexp::Common::URI::RFC2384' => '2016020301',
|
||||
'Regexp::Common::URI::RFC1738' => '2016020301',
|
||||
'Regexp::Common::URI::RFC1035' => '2016020301',
|
||||
'Regexp::Common::URI::file' => '2016020301',
|
||||
'Regexp::Common::URI::http' => '2016020301',
|
||||
'Regexp::Common::delimited' => '2016020301',
|
||||
'Regexp::Common::SEN' => '2016020301',
|
||||
'Regexp::Common::whitespace' => '2016020301',
|
||||
'Regexp::Common::number' => '2016020301',
|
||||
'Regexp::Common::balanced' => '2016020301',
|
||||
'Regexp::Common::CC' => '2016020301',
|
||||
'Regexp::Common::URI' => '2016020301',
|
||||
'Encode::Unicode' => '2.09',
|
||||
'Tie::Hash::NamedCapture' => '0.09',
|
||||
'APR' => '0.009000',
|
||||
'APR::XSLoader' => 'undef',
|
||||
'Apache2::XSLoader' => 'undef',
|
||||
'Authen::NTLM::DES' => '1.02',
|
||||
'Authen::NTLM::MD4' => '1.02',
|
||||
'GSSAPI' => '0.28',
|
||||
'Crypt::Random::Seed' => '0.03',
|
||||
'Math::Random::ISAAC' => '1.003',
|
||||
'CGI::Cookie' => '4.26',
|
||||
'CGI::File::Temp' => '4.26',
|
||||
'APR::Pool' => '0.009000',
|
||||
'Apache2::RequestIO' => '2.000009',
|
||||
'Apache2::RequestRec' => '2.000009',
|
||||
'Apache2::Response' => '2.000009',
|
||||
'Apache2::RequestUtil' => '2.000009',
|
||||
'CGI::Util' => '4.26',
|
||||
'ModPerl::Util' => '2.000009',
|
||||
'APR::Table' => '0.009000',
|
||||
'Fh' => '4.26',
|
||||
'Convert::ASN1::IO' => '0.27',
|
||||
'Convert::ASN1::_decode' => '0.27',
|
||||
'Convert::ASN1::_encode' => '0.27',
|
||||
'Convert::ASN1::parser' => '0.27',
|
||||
'Bytes::Random::Secure' => '0.28',
|
||||
'Crypt::SSLeay::X509' => 'undef',
|
||||
'Crypt::SSLeay::CTX' => 'undef',
|
||||
'Digest::HMAC' => '1.03',
|
||||
'Digest::Perl::MD5' => '1.9',
|
||||
'Encode::HanExtra' => '0.23',
|
||||
'HTML::Parser' => '3.72',
|
||||
'HTTP::Cookies::Netscape' => '6.00',
|
||||
'IO::Compress::Bzip2' => '2.069',
|
||||
'IO::Compress::Deflate' => '2.069',
|
||||
'IO::Compress::Gzip' => '2.069',
|
||||
'IO::HTML' => '1.001',
|
||||
'IO::Uncompress::Bunzip2' => '2.069',
|
||||
'IO::Uncompress::Inflate' => '2.069',
|
||||
'IO::Uncompress::RawInflate' => '2.069',
|
||||
'IO::Uncompress::Gunzip' => '2.069',
|
||||
'HTTP::Headers' => '6.11',
|
||||
'HTTP::Message' => '6.11',
|
||||
'Compress::Raw::Bzip2' => '2.069',
|
||||
'File::GlobMapper' => '1.000',
|
||||
'IO::Compress::Adapter::Bzip2' => '2.069',
|
||||
'IO::Compress::Base' => '2.069',
|
||||
'IO::Compress::RawDeflate' => '2.069',
|
||||
'IO::Compress::Adapter::Deflate' => '2.069',
|
||||
'IO::Compress::Zlib::Constants' => '2.069',
|
||||
'Socket6' => '0.25',
|
||||
'IO::Socket::SSL::PublicSuffix' => 'undef',
|
||||
'Net::SSLeay' => '1.72',
|
||||
'IO::Uncompress::Adapter::Bunzip2' => '2.069',
|
||||
'IO::Compress::Zlib::Extra' => '2.069',
|
||||
'IO::Compress::Gzip::Constants' => '2.069',
|
||||
'IO::Compress::Base::Common' => '2.069',
|
||||
'IO::Uncompress::Adapter::Inflate' => '2.069',
|
||||
'IO::Uncompress::Base' => '2.069',
|
||||
'JSON::WebToken::Constants' => 'undef',
|
||||
'JSON::WebToken::Exception' => 'undef',
|
||||
'Module::Runtime' => '0.014',
|
||||
'JSON::WebToken::Crypt' => 'undef',
|
||||
'Types::Serialiser' => '1.0',
|
||||
'common::sense' => '3.74',
|
||||
'Authen::NTLM' => '1.09',
|
||||
'HTTP::Request::Common' => '6.11',
|
||||
'URI::data' => '1.71',
|
||||
'URI::_idna' => '1.71',
|
||||
'URI::_foreign' => '1.71',
|
||||
'URI::mailto' => '1.71',
|
||||
'URI::_query' => '1.71',
|
||||
'URI' => '1.71',
|
||||
'URI::QueryParam' => '1.71',
|
||||
'URI::Split' => '1.71',
|
||||
'URI::_segment' => '1.71',
|
||||
'URI::file::FAT' => '1.71',
|
||||
'URI::file::Mac' => '1.71',
|
||||
'URI::file::OS2' => '1.71',
|
||||
'URI::file::QNX' => '1.71',
|
||||
'URI::ftp' => '1.71',
|
||||
'URI::gopher' => '1.71',
|
||||
'URI::https' => '1.71',
|
||||
'URI::ldapi' => '1.71',
|
||||
'URI::ldaps' => '1.71',
|
||||
'URI::mms' => '1.71',
|
||||
'URI::nntp' => '1.71',
|
||||
'URI::pop' => '1.71',
|
||||
'URI::rlogin' => '1.71',
|
||||
'URI::rsync' => '1.71',
|
||||
'URI::rtspu' => '1.71',
|
||||
'URI::sftp' => '1.71',
|
||||
'URI::sips' => '1.71',
|
||||
'URI::snews' => '1.71',
|
||||
'URI::telnet' => '1.71',
|
||||
'URI::tn3270' => '1.71',
|
||||
'URI::file::Win32' => '1.71',
|
||||
'URI::file::Unix' => '1.71',
|
||||
'URI::file::Base' => '1.71',
|
||||
'URI::_punycode' => '1.71',
|
||||
'URI::IRI' => '1.71',
|
||||
'URI::ldap' => '1.71',
|
||||
'URI::news' => '1.71',
|
||||
'URI::ssh' => '1.71',
|
||||
'URI::rtsp' => '1.71',
|
||||
'URI::sip' => '1.71',
|
||||
'URI::_userpass' => '1.71',
|
||||
'URI::_login' => '1.71',
|
||||
'URI::Heuristic' => '4.20',
|
||||
'URI::_ldap' => '1.71',
|
||||
'URI::_generic' => '1.71',
|
||||
'URI::_server' => '1.71',
|
||||
'HTTP::Status' => '6.11',
|
||||
'LWP::Protocol' => '6.15',
|
||||
'HTTP::Response' => '6.11',
|
||||
'CPAN::Config' => 'undef',
|
||||
'HTTP::Date' => '6.02',
|
||||
'LWP' => '6.15',
|
||||
'LWP::MediaTypes' => '6.02',
|
||||
'HTTP::Request' => '6.11',
|
||||
'File::Listing' => '6.04',
|
||||
'HTTP::Negotiate' => '6.00',
|
||||
'Net::HTTP' => '6.09',
|
||||
'Net::HTTPS' => '6.09',
|
||||
'Net::SSL' => '2.88',
|
||||
'Net::LDAP::DSML' => '0.16',
|
||||
'Net::LDAP' => '0.65',
|
||||
'Net::LDAP::LDIF' => '0.26',
|
||||
'Mail::Internet' => '2.13',
|
||||
'HTML::HeadParser' => '3.71',
|
||||
'HTTP::Config' => '6.11',
|
||||
'LWP::ConnCache' => '6.15',
|
||||
'HTTP::Cookies' => '6.01',
|
||||
'Encode::Locale' => '1.05',
|
||||
'HTTP::Headers::Util' => '6.11',
|
||||
'LWP::MemberMixin' => 'undef',
|
||||
'Mail::IMAPClient::MessageSet' => 'undef',
|
||||
'Digest::HMAC_MD5' => '1.01',
|
||||
'Authen::SASL' => '2.16',
|
||||
'Authen::SASL::CRAM_MD5' => '2.14',
|
||||
'Authen::SASL::EXTERNAL' => '2.14',
|
||||
'Authen::SASL::Perl' => '2.14',
|
||||
'Authen::SASL::Perl::ANONYMOUS' => '2.14',
|
||||
'Authen::SASL::Perl::CRAM_MD5' => '2.14',
|
||||
'Authen::SASL::Perl::DIGEST_MD5' => '2.14',
|
||||
'Authen::SASL::Perl::EXTERNAL' => '2.14',
|
||||
'Authen::SASL::Perl::GSSAPI' => '0.05',
|
||||
'Authen::SASL::Perl::LOGIN' => '2.14',
|
||||
'Authen::SASL::Perl::PLAIN' => '2.14',
|
||||
'Mail::Address' => '2.13',
|
||||
'Mail::Header' => '2.13',
|
||||
'Mail::Mailer' => '2.13',
|
||||
'Mail::Util' => '2.13',
|
||||
'Math::Random::ISAAC::PP' => '1.003',
|
||||
'Math::Random::ISAAC::XS' => '1.004',
|
||||
'Compress::Raw::Zlib' => '2.069',
|
||||
'Net::HTTP::Methods' => '6.09',
|
||||
'Net::LDAP::Bind' => '1.05',
|
||||
'Net::LDAP::Extension' => '1.04',
|
||||
'Net::LDAP::RootDSE' => '0.02',
|
||||
'Net::LDAP::Search' => '0.14',
|
||||
'Convert::ASN1::Debug' => '0.27',
|
||||
'Convert::ASN1' => '0.27',
|
||||
'Net::LDAP::Schema' => '0.9908',
|
||||
'Net::LDAP::ASN' => '0.12',
|
||||
'Net::LDAP::Entry' => '0.27',
|
||||
'Net::LDAP::Filter' => '0.20',
|
||||
'Net::LDAP::Message' => '1.12',
|
||||
'Net::LDAP::Constant' => '0.23',
|
||||
'XML::SAX::Base' => '1.07',
|
||||
'Net::LDAP::Control' => '0.18',
|
||||
'Net::LDAP::Util' => '0.19',
|
||||
'Net::LDAP::Intermediate' => '0.04',
|
||||
'Crypt::SSLeay::MainContext' => 'undef',
|
||||
'Crypt::SSLeay' => '0.73_04',
|
||||
'Email::Address' => '1.908',
|
||||
'Test::Builder::IO::Scalar' => '2.113',
|
||||
'UNIVERSAL::can' => '1.20140328',
|
||||
'UNIVERSAL::isa' => '1.20150614',
|
||||
'Test::Builder' => '1.001014',
|
||||
'Test::Builder::Module' => '1.001014',
|
||||
'URI::file' => '4.21',
|
||||
'URI::WithBase' => '2.20',
|
||||
'Unicode::CharName' => '1.07',
|
||||
'XML::SAX::Exception' => '1.07',
|
||||
'CGI::Carp' => '4.26',
|
||||
'Data::Uniqid' => '0.12',
|
||||
'Digest::HMAC_SHA1' => '1.03',
|
||||
'Encode::IMAPUTF7' => '1.05',
|
||||
'File::Copy::Recursive' => '0.38',
|
||||
'File::Tail' => '1.3',
|
||||
'IO::Tee' => '0.64',
|
||||
'JSON::WebToken' => '0.10',
|
||||
'JSON::WebToken::Crypt::RSA' => 'undef',
|
||||
'Mail::IMAPClient' => '3.38',
|
||||
'Readonly' => '2.00',
|
||||
'Sys::MemInfo' => '0.98',
|
||||
'Term::ReadKey' => '2.33',
|
||||
'Test::MockObject' => '1.20150527',
|
||||
'Test::More' => '1.001014',
|
||||
'Unicode::String' => '2.09',
|
||||
'HTML::Entities' => '3.69',
|
||||
'CGI' => '4.26',
|
||||
'Crypt::OpenSSL::RSA' => '0.28',
|
||||
'LWP::Authen::OAuth2' => '0.16',
|
||||
'LWP::Authen::Basic' => 'undef',
|
||||
'LWP::Authen::Digest' => 'undef',
|
||||
'LWP::Authen::Ntlm' => '6.15',
|
||||
'LWP::Authen::OAuth2::ServiceProvider::Dwolla' => 'undef',
|
||||
'LWP::Authen::OAuth2::ServiceProvider::Google' => '0.02',
|
||||
'LWP::Authen::OAuth2::ServiceProvider::Line' => 'undef',
|
||||
'LWP::Authen::OAuth2::ServiceProvider::Line::AccessToken' => 'undef',
|
||||
'LWP::Authen::OAuth2::ServiceProvider::Strava' => '0.02',
|
||||
'LWP::Authen::OAuth2::ServiceProvider::Yahoo' => '0.01',
|
||||
'LWP::Protocol::GHTTP' => 'undef',
|
||||
'LWP::Protocol::cpan' => 'undef',
|
||||
'LWP::Protocol::data' => 'undef',
|
||||
'LWP::Protocol::file' => 'undef',
|
||||
'LWP::Protocol::ftp' => 'undef',
|
||||
'LWP::Protocol::gopher' => 'undef',
|
||||
'LWP::Protocol::https' => '6.06',
|
||||
'LWP::Protocol::ldapi' => 'undef',
|
||||
'LWP::Protocol::ldaps' => 'undef',
|
||||
'LWP::Protocol::loopback' => 'undef',
|
||||
'LWP::Protocol::mailto' => 'undef',
|
||||
'LWP::Protocol::nntp' => 'undef',
|
||||
'LWP::UserAgent' => '6.15',
|
||||
'LWP::Protocol::nogo' => 'undef',
|
||||
'LWP::Authen::OAuth2::AccessToken' => '0.02',
|
||||
'LWP::Authen::OAuth2::Args' => 'undef',
|
||||
'JSON::XS' => '3.01',
|
||||
'JSON' => '2.90',
|
||||
'JSON::XS::Boolean' => 'undef',
|
||||
'URI::URL' => '5.04',
|
||||
'URI::http' => '1.71',
|
||||
'LWP::Authen::OAuth2::ServiceProvider' => '0.02',
|
||||
'LWP::Authen::OAuth2::AccessToken::Bearer' => '0.02',
|
||||
'LWP::Protocol::http' => 'undef',
|
||||
'IO::Socket::SSL' => '2.047',
|
||||
'LWP::Protocol::ldap' => '1.25',
|
||||
'IO::Socket::INET6' => '2.72',
|
||||
'Regexp::Common::URI::pop' => '2016020301',
|
||||
'Regexp::Common::URI::tel' => '2016020301',
|
||||
'Regexp::Common::URI::ftp' => '2016020301',
|
||||
'Regexp::Common::URI::fax' => '2016020301',
|
||||
'Regexp::Common::URI::wais' => '2016020301',
|
||||
'Regexp::Common::URI::RFC2396' => '2016020301',
|
||||
'Regexp::Common::URI::prospero' => '2016020301',
|
||||
'Regexp::Common::URI::tv' => '2016020301',
|
||||
'Regexp::Common::URI::telnet' => '2016020301',
|
||||
'Regexp::Common::profanity' => '2016020301',
|
||||
'Regexp::Common::comment' => '2016020301',
|
||||
'Regexp::Common::lingua' => '2016020301',
|
||||
'Regexp::Common::zip' => '2016020301',
|
||||
'Regexp::Common::net' => '2016020301',
|
||||
'Regexp::Common::list' => '2016020301',
|
||||
'Regexp::Common::URI::news' => '2016020301',
|
||||
'Regexp::Common::URI::http' => '2016020301',
|
||||
'Regexp::Common' => '2016020301',
|
||||
'Regexp::Common::URI::RFC1808' => '2016020301',
|
||||
'Regexp::Common::URI::RFC2806' => '2016020301',
|
||||
'Regexp::Common::_support' => '2016020301',
|
||||
'Regexp::Common::delimited' => '2016020301',
|
||||
'Regexp::Common::SEN' => '2016020301',
|
||||
'Regexp::Common::whitespace' => '2016020301',
|
||||
'Regexp::Common::number' => '2016020301',
|
||||
'Regexp::Common::balanced' => '2016020301',
|
||||
'Regexp::Common::CC' => '2016020301',
|
||||
'Regexp::Common::URI' => '2016020301',
|
||||
'Regexp::Common::Email::Address' => '1.01',
|
||||
'Regexp::Common::URI::gopher' => '2016020301',
|
||||
'Regexp::Common::URI::RFC2384' => '2016020301',
|
||||
'Regexp::Common::URI::RFC1738' => '2016020301',
|
||||
'Regexp::Common::URI::RFC1035' => '2016020301',
|
||||
'Regexp::Common::URI::file' => '2016020301',
|
||||
'URI::Escape' => '3.31',
|
||||
|
38
W/t/07_ll_regexmess_add_header.txt
Normal file
38
W/t/07_ll_regexmess_add_header.txt
Normal file
@ -0,0 +1,38 @@
|
||||
X-migrated-from-foo: 20100617
|
||||
Delivered-To: gilles.lamiral@gmail.com
|
||||
Received: by 10.216.17.5 with SMTP id i5cs170544wei;
|
||||
Fri, 4 Sep 2009 21:56:09 -0700 (PDT)
|
||||
Received: by 10.220.79.140 with SMTP id p12mr1652453vck.57.1252126565558;
|
||||
Fri, 04 Sep 2009 21:56:05 -0700 (PDT)
|
||||
Return-Path: <nicomonkey118@frontiernet.net>
|
||||
Received: from mx09.roch.ny.frontiernet.net (mx09.roch.ny.frontiernet.net [66.133.183.226])
|
||||
by mx.google.com with ESMTP id 7si2214072vws.26.2009.09.04.21.55.33;
|
||||
Fri, 04 Sep 2009 21:56:05 -0700 (PDT)
|
||||
Received-SPF: pass (google.com: domain of nicomonkey118@frontiernet.net designates 66.133.183.226 as permitted sender) client-ip=66.133.183.226;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: domain of nicomonkey118@frontiernet.net designates 66.133.183.226 as permitted sender) smtp.mail=nicomonkey118@frontiernet.net
|
||||
X-IronPort-Anti-Spam-Filtered: true
|
||||
X-IronPort-Anti-Spam-Result: AhOoAIyLoUpChbqH/2dsb2JhbACBNIpzBIQMiSaCWoYGqDWEEIpdhBYFgVeJEQI
|
||||
X-Header: [4]
|
||||
Received: from relay03.roch.ny.frontiernet.net ([66.133.182.166])
|
||||
by mx09.roch.ny.frontiernet.net with ESMTP; 05 Sep 2009 04:55:13 +0000
|
||||
Received: from cl05-zms04.roch.ny.frontiernet.net (cl05-host04.roch.ny.frontiernet.net [66.133.186.135])
|
||||
by relay03.roch.ny.frontiernet.net (Postfix) with ESMTP id AC7CC10056;
|
||||
Sat, 5 Sep 2009 04:55:11 +0000 (UTC)
|
||||
Date: Sat, 5 Sep 2009 04:55:11 +0000 (UTC)
|
||||
From: Toyota Awards <nicomonkey118@frontiernet.net>
|
||||
Reply-To: Toyota Awards <toyota3@9.cn>
|
||||
Message-ID: <165391284.448761252126511648.JavaMail.root@cl05-host04.roch.ny.frontiernet.net>
|
||||
Subject: add_some_header_please
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf-8
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Originating-IP: [65.120.56.2]
|
||||
X-Mailer: Zimbra 5.0.13_GA_2791.UBUNTU8_64 (zclient/5.0.13_GA_2791.UBUNTU8_64)
|
||||
X-Authenticated-User: nicomonkey118@frontiernet.net
|
||||
To: undisclosed-recipients:;
|
||||
X-Virus-Scanned: ClamAV 0.94.2/9777/Fri Sep 4 22:17:01 2009 on relay03.roch.ny.frontiernet.net
|
||||
X-Virus-Status: Clean
|
||||
|
||||
|
||||
|
||||
You were given 750,000.00 Pounds by the toyota global company, send Name,Address,Occupation
|
38
W/t/08_ll_regexmess_add_header_path.txt
Normal file
38
W/t/08_ll_regexmess_add_header_path.txt
Normal file
@ -0,0 +1,38 @@
|
||||
X-ImapSync-OriginalPath-tata: INBOX.yop.blanc blanc
|
||||
Delivered-To: gilles.lamiral@gmail.com
|
||||
Received: by 10.216.17.5 with SMTP id i5cs170544wei;
|
||||
Fri, 4 Sep 2009 21:56:09 -0700 (PDT)
|
||||
Received: by 10.220.79.140 with SMTP id p12mr1652453vck.57.1252126565558;
|
||||
Fri, 04 Sep 2009 21:56:05 -0700 (PDT)
|
||||
Return-Path: <nicomonkey118@frontiernet.net>
|
||||
Received: from mx09.roch.ny.frontiernet.net (mx09.roch.ny.frontiernet.net [66.133.183.226])
|
||||
by mx.google.com with ESMTP id 7si2214072vws.26.2009.09.04.21.55.33;
|
||||
Fri, 04 Sep 2009 21:56:05 -0700 (PDT)
|
||||
Received-SPF: pass (google.com: domain of nicomonkey118@frontiernet.net designates 66.133.183.226 as permitted sender) client-ip=66.133.183.226;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: domain of nicomonkey118@frontiernet.net designates 66.133.183.226 as permitted sender) smtp.mail=nicomonkey118@frontiernet.net
|
||||
X-IronPort-Anti-Spam-Filtered: true
|
||||
X-IronPort-Anti-Spam-Result: AhOoAIyLoUpChbqH/2dsb2JhbACBNIpzBIQMiSaCWoYGqDWEEIpdhBYFgVeJEQI
|
||||
X-Header: [4]
|
||||
Received: from relay03.roch.ny.frontiernet.net ([66.133.182.166])
|
||||
by mx09.roch.ny.frontiernet.net with ESMTP; 05 Sep 2009 04:55:13 +0000
|
||||
Received: from cl05-zms04.roch.ny.frontiernet.net (cl05-host04.roch.ny.frontiernet.net [66.133.186.135])
|
||||
by relay03.roch.ny.frontiernet.net (Postfix) with ESMTP id AC7CC10056;
|
||||
Sat, 5 Sep 2009 04:55:11 +0000 (UTC)
|
||||
Date: Sat, 5 Sep 2009 04:55:11 +0000 (UTC)
|
||||
From: Toyota Awards <nicomonkey118@frontiernet.net>
|
||||
Reply-To: Toyota Awards <toyota3@9.cn>
|
||||
Message-ID: <165391284.448761252126511648.JavaMail.root@cl05-host04.roch.ny.frontiernet.net>
|
||||
Subject: add_some_header_please
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf-8
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Originating-IP: [65.120.56.2]
|
||||
X-Mailer: Zimbra 5.0.13_GA_2791.UBUNTU8_64 (zclient/5.0.13_GA_2791.UBUNTU8_64)
|
||||
X-Authenticated-User: nicomonkey118@frontiernet.net
|
||||
To: undisclosed-recipients:;
|
||||
X-Virus-Scanned: ClamAV 0.94.2/9777/Fri Sep 4 22:17:01 2009 on relay03.roch.ny.frontiernet.net
|
||||
X-Virus-Status: Clean
|
||||
|
||||
|
||||
|
||||
You were given 750,000.00 Pounds by the toyota global company, send Name,Address,Occupation
|
0
W/test.bat
Normal file → Executable file
0
W/test.bat
Normal file → Executable file
0
W/test2.bat
Normal file → Executable file
0
W/test2.bat
Normal file → Executable file
0
W/test3.bat
Normal file → Executable file
0
W/test3.bat
Normal file → Executable file
0
W/test3_boxon.bat
Normal file → Executable file
0
W/test3_boxon.bat
Normal file → Executable file
0
W/test3_gmail.bat
Normal file → Executable file
0
W/test3_gmail.bat
Normal file → Executable file
0
W/test3_longdir.bat
Normal file → Executable file
0
W/test3_longdir.bat
Normal file → Executable file
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user