Here is imapsync 1.977 on host privremena, a linux system with 18.0/31.3 free GiB of RAM with Perl 5.28.1 and Mail::IMAPClient 3.42 Transfer started at Sun Jul 26 21:01:12 2020 PID is 13667 my PPID is 22856 Log file is LOG_imapsync/2020_07_26_21_01_12_069_test1_test2.txt ( to change it, use --logfile path ; or use --nolog to turn off logging ) Load is 0.86 0.99 1.00 2/1183 on 2 cores Current directory is /root/imapsync-master Real user id is root (uid 0) Effective user id is root (euid 0) $RCSfile: imapsync,v $ $Revision: 1.977 $ $Date: 2019/12/23 20:18:02 $ Command line used, run by /usr/bin/perl: ./imapsync --testslive Temp directory is /tmp ( to change it use --tmpdir dirpath ) kill -QUIT 13667 # special behavior: call to sub catch_exit kill -TERM 13667 # special behavior: call to sub catch_exit kill -INT 13667 # special behavior: call to sub catch_reconnect kill -HUP 13667 # special behavior: call to sub catch_print kill -USR1 13667 # special behavior: call to sub toggle_sleep File /tmp/imapsync.pid does not exist PID file is /tmp/imapsync.pid ( to change it, use --pidfile filepath ; to avoid it use --pidfile "" ) Writing my PID 13667 in /tmp/imapsync.pid Writing also my logfile name in /tmp/imapsync.pid : LOG_imapsync/2020_07_26_21_01_12_069_test1_test2.txt Modules version list: Authen::NTLM Not installed CGI 4.40 Compress::Zlib 2.074 Crypt::OpenSSL::RSA Not installed Data::Uniqid Not installed Digest::HMAC_MD5 1.01 Digest::HMAC_SHA1 1.03 Digest::MD5 2.55 Encode 2.97 Encode::IMAPUTF7 1.05 File::Copy::Recursive 0.45 File::Spec 3.74 Getopt::Long 2.5 HTML::Entities 3.69 IO::Socket 1.39 IO::Socket::INET 1.39 IO::Socket::INET6 2.72 IO::Socket::IP 0.39 IO::Socket::SSL 2.060 IO::Tee 0.65 JSON Not installed JSON::WebToken Not installed LWP 6.36 MIME::Base64 3.15 Mail::IMAPClient 3.42 Net::Ping 2.62 Net::SSLeay 1.85 Term::ReadKey 2.38 Test::MockObject Not installed Time::HiRes 1.9759 URI::Escape 3.31 Unicode::String 2.10 ( use --no-modulesversion to turn off printing this Perl modules list ) Info: will resync flags for already transferred messages. Use --noresyncflags to not resync flags. Host1: probing ssl on port 993 ( use --nosslcheck to avoid this ssl probe ) Host1: sslcheck detected open ssl port 993 so turning ssl on (use --nossl1 --notls1 to turn off SSL and TLS wizardry) Host2: probing ssl on port 993 ( use --nosslcheck to avoid this ssl probe ) Host2: sslcheck detected open ssl port 993 so turning ssl on (use --nossl2 --notls2 to turn off SSL and TLS wizardry) SSL debug mode level is --debugssl 1 (can be set from 0 meaning no debug to 4 meaning max debug) Host1: SSL default mode is like --sslargs1 "SSL_verify_mode=0", meaning for host1 SSL_VERIFY_NONE, ie, do not check the certificate server. Host1: Use --sslargs1 SSL_verify_mode=1 to have SSL_VERIFY_PEER, ie, check the certificate server of host1 Host2: SSL default mode is like --sslargs2 "SSL_verify_mode=0", meaning for host2 SSL_VERIFY_NONE, ie, do not check the certificate server. Host2: Use --sslargs2 SSL_verify_mode=1 to have SSL_VERIFY_PEER, ie, check the certificate server of host2 Info: turned ON syncinternaldates, will set the internal dates (arrival dates) on host2 same as host1. Host1: will try to use LOGIN authentication on host1 Host2: will try to use LOGIN authentication on host2 Host1: imap connection timeout is 120 seconds Host2: imap connection timeout is 120 seconds Host1: IMAP server [test1.lamiral.info] port [993] user [test1] Host2: IMAP server [test2.lamiral.info] port [993] user [test2] Host1: connecting and login on host1 [test1.lamiral.info] port [993] with user [test1] Host1 IP address: 5.39.87.81 Host1 banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. Host1 capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH Host1: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] Host2: connecting and login on host2 [test2.lamiral.info] port [993] with user [test2] Host2 IP address: 5.39.87.81 Host2 banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. Host2 capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH Host2: success login on [test2.lamiral.info] with user [test2] auth [LOGIN] Host1: state Authenticated Host2: state Authenticated Host1 capability once authenticated: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY LITERAL+ NOTIFY SPECIAL-USE THREAD I18NLEVEL CONTEXT SNIPPET Host2 capability once authenticated: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY LITERAL+ NOTIFY SPECIAL-USE THREAD I18NLEVEL CONTEXT SNIPPET Host1: found ID capability. Sending/receiving ID, presented in raw IMAP for now. In order to avoid sending/receiving ID, use option --noid Sending: 4 ID ("name" "imapsync" "version" "1.977" "os" "linux" "vendor" "Gilles LAMIRAL" "support-url" "https://imapsync.lamiral.info/" "date" "23-Dec-2019 20:18:02 +0000" "side" "host1") Sent 181 bytes Read: * ID ("name" "Dovecot") 4 OK ID completed (0.001 + 0.000 secs). Host2: found ID capability. Sending/receiving ID, presented in raw IMAP for now. In order to avoid sending/receiving ID, use option --noid Sending: 4 ID ("name" "imapsync" "version" "1.977" "os" "linux" "vendor" "Gilles LAMIRAL" "support-url" "https://imapsync.lamiral.info/" "date" "23-Dec-2019 20:18:02 +0000" "side" "host2") Sent 181 bytes Read: * ID ("name" "Dovecot") 4 OK ID completed (0.001 + 0.000 secs). Host1: found 2 folders. Host2: found 7 folders. Host1: guessing separator from folder listing: [/] Host1: separator given by NAMESPACE: [/] Host2: guessing separator from folder listing: [/] Host2: separator given by NAMESPACE: [/] Host1: guessing prefix from folder listing: [] Host1: prefix given by NAMESPACE: [] Host2: guessing prefix from folder listing: [] Host2: prefix given by NAMESPACE: [] Host1: separator and prefix: [/][] Host2: separator and prefix: [/][] Including all folders found by default. Use --subscribed or --folder or --folderrec or --include to select specific folders. Use --exclude to unselect specific folders. Host1: Checking wanted folders exist. Use --nocheckfoldersexist to avoid this check (shared of public namespace targeted). Host1: Checking wanted folders are selectable. Use --nocheckselectable to avoid this check. Turned off automapping folders ( use --automap to turn on automapping ) ++++ Listing folders All foldernames are presented between brackets like [X] where X is the foldername. When a foldername contains non-ASCII characters it is presented in the form [X] = [Y] where X is the imap foldername you have to use in command line options and Y is the utf8 output just printed for convenience, to recognize it. Host1: folders list (first the raw imap format then the [X] = [Y]): * LIST (\NoInferiors) "/" init * LIST (\HasNoChildren) "/" INBOX 11 OK List completed (0.001 + 0.000 secs). [INBOX] [init] Host2: folders list (first the raw imap format then the [X] = [Y]): * LIST (\NoInferiors \Drafts) "/" Drafts * LIST (\NoInferiors) "/" DRAFTS * LIST (\NoInferiors) "/" Archives * LIST (\NoInferiors) "/" prueba * LIST (\NoInferiors) "/" "Deleted Messages" * LIST (\NoInferiors \UnMarked) "/" init * LIST (\HasNoChildren) "/" INBOX 9 OK List completed (0.002 + 0.000 + 0.001 secs). [Archives] [DRAFTS] [Deleted Messages] [Drafts] [INBOX] [init] [prueba] Folders in host2 not in host1: [prueba] [Drafts] [Deleted Messages] [DRAFTS] [Archives] Folders sizes before the synchronization. You can remove foldersizes listings by using "--nofoldersizes" and "--nofoldersizesatend" but then you will also lose the ETA (Estimation Time of Arrival) given after each message copy. Host1 folder 1/2 [INBOX] Size: 133296 Messages: 328 Biggest: 416 Host2 folder 1/2 [INBOX] Size: 133296 Messages: 328 Biggest: 416 Host2-Host1 0 0 0 Host1 folder 2/2 [init] Size: 0 Messages: 0 Biggest: 0 Host2 folder 2/2 [init] Size: 0 Messages: 0 Biggest: 0 Host2-Host1 0 0 0 Host1 Nb folders: 2 folders Host2 Nb folders: 2 folders Host1 Nb messages: 328 messages Host2 Nb messages: 328 messages Host1 Total size: 133296 bytes (130.172 KiB) Host2 Total size: 133296 bytes (130.172 KiB) Host1 Biggest message: 416 bytes (0.406 KiB) Host2 Biggest message: 416 bytes (0.406 KiB) Time spent on sizing: 2.7 seconds ++++ Looping on each one of 2 folders to sync ETA: Sun Jul 26 21:01:14 2020 0 s 328/328 msgs left Folder 1/2 [INBOX] -> [INBOX] Host1: folder [INBOX] has 328 messages in total (mentioned by SELECT) Host2: folder [INBOX] has 328 messages in total (mentioned by SELECT) Host2: folder [INBOX] permanentflags: Host1: folder [INBOX] considering 328 messages Host2: folder [INBOX] considering 328 messages Host1: folder [INBOX] selected 328 messages, duplicates 0 Host2: folder [INBOX] selected 328 messages, duplicates 0 ETA: Sun Jul 26 21:01:15 2020 0 s 0/328 msgs left Folder 2/2 [init] -> [init] Host1: folder [init] has 0 messages in total (mentioned by SELECT) Host2: folder [init] has 0 messages in total (mentioned by SELECT) Host2: folder [init] permanentflags: Host1: folder [init] considering 0 messages Host2: folder [init] considering 0 messages Host1: folder [init] selected 0 messages, duplicates 0 Host2: folder [init] selected 0 messages, duplicates 0 ETA: Sun Jul 26 21:01:15 2020 0 s 0/328 msgs left ++++ End looping on each folder Folders sizes after the synchronization. You can remove this foldersizes listing by using "--nofoldersizesatend" Host1 folder 1/2 [INBOX] Size: 133296 Messages: 328 Biggest: 416 Host2 folder 1/2 [INBOX] Size: 133296 Messages: 328 Biggest: 416 Host2-Host1 0 0 0 Host1 folder 2/2 [init] Size: 0 Messages: 0 Biggest: 0 Host2 folder 2/2 [init] Size: 0 Messages: 0 Biggest: 0 Host2-Host1 0 0 0 Host1 Nb folders: 2 folders Host2 Nb folders: 2 folders Host1 Nb messages: 328 messages Host2 Nb messages: 328 messages Host1 Total size: 133296 bytes (130.172 KiB) Host2 Total size: 133296 bytes (130.172 KiB) Host1 Biggest message: 416 bytes (0.406 KiB) Host2 Biggest message: 416 bytes (0.406 KiB) Time spent on sizing: 0.3 seconds ++++ Statistics Transfer started on : Sun Jul 26 21:01:12 2020 Transfer ended on : Sun Jul 26 21:01:15 2020 Transfer time : 3.4 sec Folders synced : 2/2 synced Messages transferred : 0 Messages skipped : 328 Messages found duplicate on host1 : 0 Messages found duplicate on host2 : 0 Messages found crossduplicate on host2 : 0 Messages void (noheader) on host1 : 0 Messages void (noheader) on host2 : 0 Messages found in host1 not in host2 : 0 messages Messages found in host2 not in host1 : 0 messages Messages deleted on host1 : 0 Messages deleted on host2 : 0 Total bytes transferred : 0 (0.000 KiB) Total bytes skipped : 133296 (130.172 KiB) Message rate : 0.0 messages/s Average bandwidth rate : 0.0 KiB/s Reconnections to host1 : 0 Reconnections to host2 : 0 Memory consumption at the end : 176.3 MiB (started with 159.9 MiB) Load end is : 0.86 0.99 1.00 1/1183 on 2 cores Biggest message : 0 bytes (0.000 KiB) Memory/biggest message ratio : NA Start difference host2 - host1 : 0 messages, 0 bytes (0.000 KiB) Final difference host2 - host1 : 0 messages, 0 bytes (0.000 KiB) The sync looks good, all 328 identified messages in host1 are on host2. There is no unidentified message The sync is strict, all 328 identified messages in host2 are on host1. Detected 0 errors Check if a new imapsync release is available by adding --releasecheck Homepage: https://imapsync.lamiral.info/ Live tests ended successfully Exiting with return value 0 (EX_OK: successful termination) 0/50 nb_errors/max_errors Log file is LOG_imapsync/2020_07_26_21_01_12_069_test1_test2.txt ( to change it, use --logfile filepath ; or use --nolog to turn off logging )