mirror of
https://github.com/imapsync/imapsync.git
synced 2024-11-16 15:52:47 +01:00
1428 lines
49 KiB
Plaintext
1428 lines
49 KiB
Plaintext
#!/bin/cat
|
||
# $Id: TODO,v 1.269 2022/07/22 09:51:06 gilles Exp gilles $
|
||
|
||
This documentation is also at http://imapsync.lamiral.info/#doc
|
||
|
||
===========================================================================
|
||
TODO file for imapsync
|
||
----------------------
|
||
|
||
https://imapsync.lamiral.info/TODO
|
||
|
||
SUGGESTED 2022_07_22 by Flavio
|
||
Have a parameter to reconnect in case of failure
|
||
Exiting with return value 102 (EXIT_CONNECTION_FAILURE_HOST2)
|
||
|
||
SUGGESTED 2022_01_04 by Franck
|
||
It might be even more efficient if at the end there was a summary in
|
||
categories for mails that did not transfer, e.g.:
|
||
xx number of mails not transferred due to missing header: use --addheader to transfer
|
||
xx number of duplicate mails not transferred: use ... to force transfer
|
||
... etc
|
||
Thus one would not have to scroll through the log unless there
|
||
were particular mails to be inspected as to problems.
|
||
|
||
|
||
SUGGESTED 2022_05_05 by mao13820
|
||
https://github.com/imapsync/imapsync/issues/330#issuecomment-1118190081
|
||
Try IO::Socket::Socks::Wrapper
|
||
on Socks server.
|
||
|
||
SUGGESTED 2022_02_19
|
||
Talk about size discrepencies.
|
||
Gmail doesn't count duplicates sizes twice.
|
||
Servers reported message sizes are always not the actual messages sizes.
|
||
Where put that information?
|
||
|
||
SUGGESTED 2022_01_26 by Kuch/Mitchell/D.
|
||
Make --delete1 be optionally "Move to Trash folder"
|
||
Use MOVE if possible
|
||
https://datatracker.ietf.org/doc/html/rfc6851
|
||
|
||
SUGGESTED 2022_01_09 by Neustradamus
|
||
Add SCRAM-SHA* support
|
||
https://github.com/imapsync/imapsync/issues/313
|
||
https://perldoc.perl.org/Digest::SHA
|
||
|
||
|
||
SUGGESTED 2021_06_13 by rotemes
|
||
https://github.com/imapsync/imapsync/issues/288
|
||
Add a counter for skipped because of already copied and
|
||
because of other things.
|
||
What ENVELOPE could bring?
|
||
( 'FLAGS', 'INTERNALDATE', 'RFC822.SIZE' ) ;
|
||
( 'FLAGS', 'INTERNALDATE', 'RFC822.SIZE' , 'ENVELOPE' )
|
||
|
||
SUGGESTED 2021_05_29 on github https://github.com/imapsync/imapsync/issues/78
|
||
ripmime https://github.com/inflex/ripMIME
|
||
altermime http://pldaniels.com/altermime/
|
||
|
||
SUGGESTED 2021_05_29 by Gilles
|
||
Add --regexbody --regexheader, similar to --regexmess
|
||
|
||
Hum hum, time goes by:
|
||
SUGGESTED 2016_06_09 by Gilles and David Carter
|
||
In order to avoid useless headaches from --regexmess, add
|
||
--regexheader
|
||
--regexbody
|
||
|
||
|
||
|
||
SUGGESTED 2021_01_26 by Gilles and Martin L. R. @duelhost.dk
|
||
I am trying to move some e-mail using imapsync but the domain I'm moving
|
||
to have the Danish "<22>"-character which it doesn't seem like imapsync can handle.
|
||
Make a functional test of this scenario.
|
||
|
||
SUGGESTED 2021_01_26 by Gilles and Mike
|
||
https://github.com/imapsync/imapsync/pull/266
|
||
Maybe Gmail has changed and that currently "All Mail" really contains all emails
|
||
with all the labels well set to do a good Gmail to Gmail sync but I have to
|
||
investigate on that.
|
||
|
||
SUGGESTED 2020_12_11 by Gilles
|
||
Look at XAPPLEPUSHSERVICE for iCloud imap service Apple (Is it Dovecot masquerade?)
|
||
|
||
SUGGESTED 2020_12_11 by Gilles
|
||
Check my Office365 account (outlook.com) and play with the configuration
|
||
to still allow imap with imapsync. It already works but it is an old account.
|
||
It looks like new O365 accounts are less likely to allow basic LOGIN imap
|
||
with a password.
|
||
|
||
SUGGESTED 2020_12_11 byTimo Smit
|
||
Allow the syntax --host1 "example.com/Sent"
|
||
to sync only the Sent folder.
|
||
|
||
SUGGESTED 2020_11_30 by Gilles
|
||
Add a FAQ.Invalid_Argument.txt
|
||
This error is a low level connection issue, either ipv6 or dns resolution of
|
||
the name.
|
||
|
||
|
||
SUGGESTED 2020_11_24 by Gilles
|
||
On Centos 8 SELinux is blocking imapsync online /X by default.
|
||
Dig into this to find the commands that will allow only the online /X service.
|
||
Instead of:
|
||
|
||
sestatus
|
||
setenforce 0
|
||
sestatus
|
||
|
||
|
||
SUGGESTED 2020_11_21 by Mike Alexander https://github.com/mtalexander and Wittmer, Christian https://github.com/computersalat
|
||
Make a "make github" target in Makefile and add an automatic
|
||
git tag 1.977 # (not 1.977 of course, the actual release number)
|
||
https://github.com/imapsync/imapsync/issues/156
|
||
https://github.com/imapsync/imapsync/issues/251
|
||
|
||
|
||
|
||
SUGGESTED 2020_11_01 bilogic
|
||
How to uninstalled cpanm modules installed by cpanm and installed by
|
||
perl -Mlazy imapsync
|
||
https://github.com/imapsync/imapsync/issues/211#issuecomment-719889417
|
||
|
||
SUGGESTED 2020_11_04 by Tim O (and others before)
|
||
Add an option to sync newest emails first.
|
||
|
||
SUGGESTED 2020_10_15 by Alexander Perlis
|
||
Bugfix. With --delete1 duplicate messages on host1 are deleted only
|
||
one at a time, one at each run. Imapsync should delete them all on first pass.
|
||
Add --delete1duplicates
|
||
|
||
|
||
SUGGESTED 2020_09_22 by Jon Ward
|
||
--idatefromreceivedheader
|
||
As I thought about how this option works, I wondered if it makes more sense to
|
||
use the date from the final RECEIVED header rather than the DATE header?
|
||
This seems like a better solution since it avoids the case of wrong or
|
||
spoofed times in the DATE header.
|
||
Also, I would guess that in most cases the final RECEIVED header is for
|
||
the closest server (to me) and is probably the most correct date/time.
|
||
|
||
|
||
SUGGESTED 2020_09_17 by Peter Franken
|
||
I found a bug:
|
||
If I use the parameters "--subfolder1 Sent/2017 --subfolder2 Sent/2017",
|
||
the mails from "Sent/2017" on Host 1 are transferred to "Sent/2017/INBOX" on Host 2.
|
||
|
||
|
||
==============================================================================
|
||
OAUTH2 requests
|
||
|
||
Readings
|
||
https://developers.google.com/identity/protocols/oauth2
|
||
https://www.oauth.com/oauth2-servers/client-registration/client-id-secret/
|
||
https://unix.stackexchange.com/questions/495691/how-to-provide-oauth2-client-id-and-client-secret-to-an-open-source-bash-scr
|
||
https://stackoverflow.com/questions/64150126/best-practice-for-open-source-applications-using-imap-with-oauth2-regarding-cred
|
||
|
||
SUGGESTED 05/12/2020 by David Carter
|
||
https://massivescale.com/microsoft-v2-endpoint-primer/
|
||
|
||
A big complication is https://docs.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth :
|
||
"Get an access token
|
||
... you can select an appropriate flow from the following list and follow the corresponding steps to call the underlying identity platform REST APIs and retrieve an access token.
|
||
|
||
OAuth2 authorization code flow
|
||
OAuth2 Device authorization grant flow
|
||
|
||
OAuth access to IMAP, POP, SMTP AUTH protocols via OAuth2 client credentials grant flow is not supported."
|
||
|
||
|
||
SUGGESTED 2020_10_15 by Alexander Perlis
|
||
https://gitlab.com/muttmua/mutt/-/blob/master/contrib/mutt_oauth2.py.README
|
||
https://gitlab.com/muttmua/mutt/-/blob/master/contrib/mutt_oauth2.py
|
||
|
||
|
||
SUGGESTED 2020_09_10 by Joe Rizzo
|
||
I can follow these instructions and authenticate to imap.
|
||
Is there a way I can use the access token generated by this process to authenticate with imapsync?
|
||
https://github.com/google/gmail-oauth2-tools/wiki/OAuth2DotPyRunThrough
|
||
$ python2.7 oauth2.py --test_imap_authentication --access_token=XXXX --user=user@domain.com
|
||
35:05.38 > CCPK1 AUTHENTICATE XOAUTH2
|
||
35:05.39 < +
|
||
35:05.39 write literal size 276
|
||
35:05.46 < * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE APPENDLIMIT=35651584
|
||
35:05.46 < CCPK1 OK user@domain.com authenticated (Success)
|
||
|
||
SUGGESTED 2021_01_07 by many people
|
||
Add OAUTH2 individual to Gmail and Office365
|
||
http://vdirsyncer.pimutils.org/en/stable/config.html#google
|
||
Office365:
|
||
https://techcommunity.microsoft.com/t5/exchange-team-blog/announcing-oauth-2-0-support-for-imap-and-smtp-auth-protocols-in/ba-p/1330432
|
||
https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow
|
||
https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code
|
||
|
||
|
||
SUGGESTED on 31 Jan 2017 by tibbsbrookside
|
||
Try this code XOAUTH2
|
||
https://github.com/imapsync/imapsync/issues/87#issuecomment-276298841
|
||
|
||
End of OAUTH2 requests
|
||
==============================================================================
|
||
|
||
|
||
|
||
SUGGESTED 2020_04_16 by Gilles and tom@mklab
|
||
Reinvestigate the memory issue for huge folder with
|
||
326691 messages in them. It sounds that imapsync
|
||
take 2.5 Ko memory per message.
|
||
Trace memory consumption by message.
|
||
|
||
|
||
|
||
SUGGESTED 2020_04_23 by Gabriel
|
||
Folders Size human readable
|
||
une option pour avoir la taille des dossiers individuels en MB,
|
||
lors de l'utilisation de --justfoldersizes ?
|
||
|
||
SUGGESTED 2020_03_02 by https://github.com/gpothier
|
||
https://github.com/imapsync/imapsync/issues/27#issuecomment-593425945
|
||
Bugfix. Do fail when --minage or --maxage are employed with --search
|
||
Or make them be consistent, ie, do an AND between them.
|
||
Or at least document the bad current behavior which is that
|
||
--search overrides any --minage or --maxage
|
||
|
||
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:
|
||
<EFBFBD>imapsync_bin_Darwin<EFBFBD> can<61>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 good progress
|
||
{
|
||
"status": "in progress",
|
||
"progress": "245/5000",
|
||
"message_rate":"7.06 msgs/s",
|
||
"bandwidth_rate":"2.801 KiB/s",
|
||
"errors_count": "0",
|
||
"logfile": "LOG_imapsync/2019_09_22_09_01_42_058_abc@example.com_JDoe@example.com.txt",
|
||
"pid": "123456",
|
||
"exit_value": ""
|
||
}
|
||
|
||
On complete example*
|
||
{
|
||
"status": "finished",
|
||
"progress": "5000/5000",
|
||
"logfile": "LOG_imapsync/2019_09_22_09_01_42_058_abc@example.com_JDoe@example.com.txt",
|
||
"pid": ""
|
||
"exit_value": "0"
|
||
}
|
||
|
||
|
||
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 2019_06_18 by Konrad Wawryn
|
||
Add NTLMv2 support
|
||
It shouldn't be that hard to support NTLMv2 because
|
||
the underlying NTLM module can do it already.
|
||
Delegate all the stuff to underlying Mail-IMAPClient.
|
||
|
||
SUGGESTED 2019_06_05 by Gilles
|
||
Code equivalent W/tools/fix_email_for_exchange.py
|
||
inside imapsync
|
||
|
||
SUGGESTED 2019_04_10 by Gilles
|
||
With signals show also their numbers
|
||
https://perldoc.perl.org/Config.html
|
||
|
||
SUGGESTED 2019_04_03 by Katja Wolf and Gilles
|
||
Put a summary like the one in the log file
|
||
in the source and the destination mailbox.
|
||
|
||
SUGGESTED 2019_03_19 by Gilles
|
||
In the final errors listing, add lines
|
||
* Host1 banner
|
||
* Host2 banner
|
||
* Command line parameters
|
||
I'm a little fade up to ask them
|
||
in order to understand the context
|
||
|
||
|
||
SUGGESTED 2019_03_04 by Gilles
|
||
Write a FAQ about deciphering with imapsync.
|
||
Test it!
|
||
If the encryption is made using gpg
|
||
then the decryption via --pipemess could be just the command:
|
||
imapsync ... --pipemess 'gpg --decrypt --no-batch --no-tty --override-session-key 9:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||
where you previously ran:
|
||
gpg --decrypt --no-batch --show-session-key some_rfc822_filecrypted.txt
|
||
in order to get the session-key "9:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||
|
||
SUGGESTED 2019_02_28 by Gilles
|
||
Default tmpdir could become ./TMP_imapsync
|
||
for --usecache if there is no cache in the
|
||
historical tmpdir File::Spec->tmpdir( )
|
||
Why? Some systems like Windows do change
|
||
their tmpdir upon reboot.
|
||
Some Unixes do remove their /tmp upon reboot.
|
||
|
||
|
||
SUGGESTED 2018_09_11 by Gilles
|
||
Use Smart::Comments in long loop
|
||
Use Smart::Comments in debug/verbose mode
|
||
|
||
SUGGESTED 2018_09_11 by Gilles
|
||
Take a look at
|
||
Test::NoWarnings
|
||
Test::Warn
|
||
|
||
SUGGESTED 2018_05_08 by James B. Byrne
|
||
Sync also the quota with SETQUOTA
|
||
https://tools.ietf.org/html/rfc2087
|
||
|
||
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_08_31 by Gilles
|
||
Makefile. Add a "make docker" goal that build, test and publish the
|
||
docker package on ks3.
|
||
|
||
SUGGESTED 2017_08_22 by Ismael Baena
|
||
when hmailserver hierarchy delimiter is <20>\<5C>
|
||
When imapsync asks hmailserver about namespace, hmailserver returns <20>\\<5C> instead of <20>\<5C>.
|
||
After that, imapsync fails when accessing any folder. Comparing hmailserver logs between
|
||
imapsync and outlook accessing the account, I see outlook quoting every path
|
||
while imapsync don<6F>t, and outlook doesn<73>t fail.
|
||
I wrote a message to the hmailserver forum,
|
||
https://www.hmailserver.com/forum/viewtopic.php?f=7&t=31503
|
||
|
||
|
||
SUGGESTED 2017_05_04 by Gilles
|
||
Verif ipv6 connection, seems to fail now
|
||
./imapsync --host1 2603:1026:200:52::2 --host2 2603:1026:200:52::2 --justconnect
|
||
...
|
||
Host1: connecting on host1 [2603:1026:200:52::2] port [143]
|
||
Host1: Can not open imap connection on [2603:1026:200:52::2]: Unable to connect to 2603:1026:200:52::2: Invalid argument
|
||
|
||
SUGGESTED 2017_05_04 via github
|
||
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 2016_11_16 by Fl<46>vio Zarur Lucarelli LucaNet Sistemas
|
||
Getting subjects of messages for duplicates and print them.
|
||
Dates and sizes are easier printable because imapsync gets them each time.
|
||
|
||
SUGGESTED 2016_10_24 by Gilles
|
||
Verify regex --delete2foldersbutnot and --delete2foldersonly are ok
|
||
before anything.
|
||
|
||
SUGGESTED 2016_10_07 by Gilles
|
||
Write a FAQ file for packagers,
|
||
mostly how to get the dependency Perl modules complete.
|
||
|
||
SUGGESTED 2016_10_07 by Gilles
|
||
Write a FAQ file about all errors and explain what they mean.
|
||
Maybe propose an action to solve them in the code,
|
||
or even solve them directly in the execution.
|
||
|
||
SUGGESTED 2016_10_06 by Gilles
|
||
Document or fix behavior (do a AND),
|
||
curently "--search" makes "--maxage" and "--minage" ignored.
|
||
|
||
SUGGESTED 2016_09_16 by Gilles
|
||
Add a check of all --regextrans2 before going further,
|
||
like what is done with --regexmess
|
||
|
||
SUGGESTED 2016_08_25 by David Carter
|
||
It would be helpful if imapsync reported Message-Id:/From:/Subject
|
||
as well as folder name and message UID when it skips a message.
|
||
|
||
SUGGESTED 2016_09_02 by Gilles & David Carter
|
||
Exchange Online errors that need a relogin:
|
||
"BAD User is authenticated but not connected."
|
||
"error while reading data from server: Connection reset by peer"
|
||
"timeout waiting 1200s for data from server"
|
||
|
||
|
||
SUGGESTED 2016_08_31 by Gilles
|
||
Rename $expungeaftereach $expungeaftereach1 or $expunge1aftereach
|
||
|
||
|
||
|
||
SUGGESTED 2016_08_19 by Gilles
|
||
Go back to SSL_VERIFY_PEER but include
|
||
SSL_ca_file inside imapsync or near.
|
||
|
||
|
||
SUGGESTED 2016_07_29 by Gilles from CSS3 Coursera course
|
||
Take a look at
|
||
https://modernizr.com/
|
||
|
||
SUGGESTED 2016_07_29 by Gilles
|
||
Move website to HTML5
|
||
https://about.validator.nu/
|
||
|
||
SUGGESTED 2016_07_07 by Jean-Dominique Delyon.
|
||
Add a way to know easily which account transfers went wrong.
|
||
G<EFBFBD>n<EFBFBD>rer un fichier des comptes qui ont rencontr<74> des probl<62>mes
|
||
et afficher le contenu <20> la fin de la boucle sur les comptes.
|
||
|
||
SUGGESTED 2016_06_29 by Gilles
|
||
Clarify system flags in RFC
|
||
Example to add:
|
||
If \Forwarded is not in PERMANENTFLAGS but \* is, then transform
|
||
\Forwarded to Forwarded. And by default.
|
||
|
||
SUGGESTED 2016_06_13 by David Carter
|
||
--pipemess could also treat stderr
|
||
` $command < $input_tmpfile > $output_tmpfile 2> $error_tmpfile `
|
||
|
||
|
||
SUGGESTED 2016_06_22 by Gilles
|
||
Add --quiet mode
|
||
Make --quiet mode being switched by a signal
|
||
|
||
SUGGESTED 2016_06_12 by Gilles
|
||
Fix many perlcritic, all?
|
||
DONE * 60 perlcritic Double-sigil dereference (Severity 2)
|
||
DONE * 627 perlcritic violations of CodeLayout::ProhibitTrailingWhitespace. (Severity 1).
|
||
DONE * 458 perlcritic violations of ValuesAndExpressions::ProhibitInterpolationOfLiterals. "Useless interpolation of literal string"
|
||
DONE * 420 perlcritic violations of CodeLayout::ProhibitParensWithBuiltins. "Builtin function called with parentheses". (Severity: 1).
|
||
|
||
|
||
|
||
|
||
SUGGESTED 2016_06_09 by David Carter
|
||
Add --pipemess-on-fail
|
||
If, and only if, the target server responses with NO or BAD then have another go
|
||
with a sanitized version of the message.
|
||
|
||
SUGGESTED 2016_06_01 by M. Beaubien
|
||
Add flag --noheaderwarnings or better name
|
||
no header by parse_headers so taking whole header with BODY.PEEK[HEADER]
|
||
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_02_10
|
||
Add stats about "Messages found crossduplicate on host1"
|
||
|
||
WANTED 2016_01_28 Stephen Sookdeo
|
||
Able to send email without attachment (in case size is the problem) and maybe note in main body that attachment was removed...
|
||
See http://unix.stackexchange.com/questions/174707/remove-delete-attachments-from-email-server-imap
|
||
http://unix.stackexchange.com/a/174726/89270
|
||
|
||
imapsync ... --pipemess 'remove_attachments --sizemin 10MB --addnote "Attachment was removed" '
|
||
|
||
WANTED 2016_03_06
|
||
Add a real test to authenticate with a ssl certificate.
|
||
|
||
WANTED 2016_03_08
|
||
Check if --ssl1 and --tls1 are used together and warn abort and abort in that case.
|
||
Same for --ssl2 and --tls2
|
||
|
||
Start a wiki for imapsync.
|
||
|
||
Write a Windows tutorial, TUTORIAL_Windows.html.
|
||
|
||
Write a good practices migration tips document, GOOD_PRACTICES.html
|
||
|
||
Add uidexpunge with --delete1 if possible (like with --delete2).
|
||
|
||
Add the possibility to specify a unity with --maxsize and --minsize
|
||
Example --maxsize 10MB --minsize 10KB
|
||
B
|
||
KB
|
||
MB
|
||
GB
|
||
TB
|
||
|
||
|
||
WANTED 2015_12_16 Gilles Lamiral
|
||
Add "df -i" with usecache and abort if the number of messages
|
||
to transfer will exhaust empty inodes used by the cache.
|
||
Looks like module Filesys::DfPortable will help for Unix and Win32.
|
||
|
||
==== Similar skip/error messages ====
|
||
WANTED 2016_01_28 Stephen Sookdeo
|
||
List all emails that gives errors so you know exactly which. List with detailed info.
|
||
Then ability to perform action on these specific emails like delete or ignore per email.
|
||
|
||
WANTED 2015_06_02 Karen F Bath.
|
||
Add skipped messages in the final dump.
|
||
Print the list of messages not copied and why (duplicates or void header).
|
||
I would like to request if you could add additional errors to the bottom,
|
||
as we find that things like MaxLineLength and maxsize limit are classed
|
||
as skipped messages and in my opinion are errors; as the email message
|
||
is not transferred but this is not logged at the bottom.
|
||
We have our own scan script which we run on all log files at the end
|
||
and copy the users logs into subfolders that have issues.
|
||
I've attached a list of things we search for.
|
||
|
||
"Error", "Output"
|
||
NO Mailbox already exists, "Folder"
|
||
NO LOGIN failed, "NoLogin"
|
||
Could not create folder, "Linux"
|
||
Error sending, "Linux"
|
||
Write failed 'no error caught', "Linux"
|
||
line length exceeds maxlinelength, "Linux"
|
||
BAD Command Argument Error. 11, "Linux"
|
||
Failure: can not open, "Linux"
|
||
No not connected, "Linux"
|
||
Write failed 'Connection reset by peer', "Linux"
|
||
could not be fetched:, "Linux"
|
||
NO Mailbox does not exist,"Error"
|
||
exceeds maxsize limit 20971520 bytes,"Error"
|
||
error while reading data from server: Connection reset by peer (4x),"Error"
|
||
Folder [Inbox] already exists,"Error"
|
||
|
||
WANTED Add a well described problem for each problem detected
|
||
and counted in error counter statistics.
|
||
==== End Similar skip/error messages ====
|
||
|
||
|
||
WANTED 2015_05_18
|
||
I'd like to be able to print the messages subjects, on some logs:
|
||
For instance:
|
||
msg INBOX.Archived/95551 marked \Deleted on host2 [GyDD6WpsFEtyBzNFnv]
|
||
msg [Gmail]/All Mail/281079 copying to INBOX.Archived
|
||
It would be great to be able to print the email subject, in order to debug or to get more useful information.
|
||
|
||
|
||
WANTED 2015_04_25
|
||
Add duplicates test option.
|
||
|
||
|
||
|
||
|
||
WANTED 2015_03_06
|
||
Dealing with Content-Type Message/Partial
|
||
Extract the components of the partial messages and construct them
|
||
with reformime as one message which can then be transferred. (Larry Moore)
|
||
See also uudeview http://www.fpx.de/fp/Software/UUDeview/
|
||
(Larry said uudeview is weird on Partial issue, too old maybe)
|
||
|
||
Apply --disarmreadreceipts only to UNSEEN messages.
|
||
|
||
Add an exit value when exiting because of --exitwhenover
|
||
The goal is to know easily why to restart later.
|
||
|
||
Write a Mail::imapsync package and use it.
|
||
|
||
One day, when I have really nothing better to do, evaluate:
|
||
http://www.rackspace.com/apps/email_hosting/migrations
|
||
http://www.yippiemove.com/
|
||
http://www.migrationwiz.com/
|
||
http://www.microsoft.com/download/en/details.aspx?id=1329 "Microsoft Transporter Suite"
|
||
|
||
|
||
Add --mark-as-deleted1 --mark-as-deleted2 as
|
||
aliases for --noexpunge1 --delete1 and --noexpunge2 --delete2
|
||
|
||
Fix bug found by Pavel Stano on 01/06/2012 (june) imapsync never stop login
|
||
when login fails with a "* BYE Temp error" from server.
|
||
|
||
Consider /var/tmp/ instead of /tmp (/tmp is destoyed
|
||
on some Unix at reboot)
|
||
|
||
Fix long path over than 260 character on Win32 with --usecache
|
||
Fix inode crunching with --usecache
|
||
Think about Digest::SHA or Digest::SHA::PurePerl.
|
||
Think about a file database like DBM instead.
|
||
Look at https://en.wikipedia.org/wiki/Radix_tree (David M. advice)
|
||
Look at leveldb (Simon Th actux advice)
|
||
Look at http://fallabs.com/kyotocabinet/ (JYB advice)
|
||
Also Redis (Ludovic Danigo advice)
|
||
|
||
I am writing now to suggest that imapsync provide info containing the parameters
|
||
with which a message is determined to be a duplicate, so that if I wanted to confirm
|
||
they are in fact duplicates by looking at the messages themselves, enough info would
|
||
be available to easily locate them. One or two duplicates per folder are easy to
|
||
find, but I had one large folder with quite a few, and in this case it would have
|
||
been a big help.
|
||
|
||
|
||
Explain that users can win time/bandwidth by using --expunge
|
||
|
||
Fix "\Forwarded" flag bug in courier.
|
||
Does \lalala can be forbidden (courier does a
|
||
"16 NO Error in IMAP command received by server"
|
||
with
|
||
* OK [PERMANENTFLAGS (\* \Draft \Answered \Flagged \Deleted \Seen)] Limited
|
||
|
||
Add sync imap keywords. Sync Gmail labels to imap keyword
|
||
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503159
|
||
http://www.linux-france.org/prj/imapsync_list/msg00022.html
|
||
http://mail.google.com/support/bin/answer.py?hl=en&answer=77657
|
||
http://mail.google.com/support/bin/answer.py?answer=78892
|
||
|
||
Add and option to sync to & from files.
|
||
|
||
Add an --aclregextrans2 flag.
|
||
"Today we discovered, that Cyrus and Dovecot use different characters for
|
||
their ACLs. Syncing ACLs vom Cyrus to Dovecot (at least 1.2) doesn't
|
||
work. Cyrus uses c and d, Dovecot uses k and x instead."
|
||
Peer Heinlein.
|
||
|
||
Add more information about skipped messages.
|
||
|
||
Add Rick Romero patch with
|
||
--quiet No output at all
|
||
--showstats intended for use with --quiet
|
||
|
||
Take a look at Mail::IMAPTalk
|
||
Simon Bertrang said "way better performance, less problems, easier to use and no
|
||
issues so far". Sounds good!
|
||
|
||
imapsync doesn't report well. It should says "I had
|
||
to sync 123 messages but I could transfer only 99 messages"
|
||
Maybe count messages not transferred because they're dupplicate.
|
||
|
||
Fix bug "not possible to use space in the imap password"
|
||
|
||
Add kerberos authentification
|
||
|
||
Fix bug with folder names starting with an asterisk: *Archiv
|
||
Sending: 220 SELECT *Archiv/Support/foobar
|
||
Read: 220 BAD Protokollfehler: "Invalid folder specified in SELECT command"
|
||
|
||
Add LITERAL+ [RFC 2088] support to imapsync.
|
||
|
||
Make a m4 file for lsm.imapsync and generate it at each public release.
|
||
|
||
Add --verbose from Kjetil jumbo patch.
|
||
|
||
Read the IMAP RFC http://www.faqs.org/rfcs/rfc3501.html
|
||
|
||
Read:
|
||
http://www.washington.edu/imap/documentation/commndmt.txt.html
|
||
|
||
Add cyrus link about INBOX. namespace
|
||
http://asg.web.cmu.edu/cyrus/download/imapd/altnamespace.html
|
||
|
||
===========================================================================
|
||
Now the TODO done! (or not)
|
||
===========================================================================
|
||
|
||
DONE revision 2.169 date: 2021/12/07 17:13:44;
|
||
Added --keepalive1 and --keepalive2 options. On by default.
|
||
See https://metacpan.org/pod/Mail::IMAPClient#Keepalive
|
||
|
||
DONE revision 2.159 date: 2021/11/19 14:29:31
|
||
SUGGESTED 2021_11_18 by Justas Umbrasas
|
||
Add COMPRESS to imap connections
|
||
--compress1 --compress2
|
||
|
||
DONE 2021/04/30 revision 2.111 by Gilles
|
||
SUGGESTED 2021_04_22 by popular request
|
||
Add an option --syncduplicates that syncs duplicates.
|
||
|
||
|
||
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
|
||
"another imapsync may be curently running",
|
||
instead of quit.
|
||
Add --tail --notail and --tail on by default in cgi context.
|
||
|
||
DONE 2019_04_27 by Gilles
|
||
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:
|
||
How to be a proper program
|
||
https://www.cons.org/cracauer/sigint.html
|
||
|
||
|
||
DONE 2018_11_20 by Gilles
|
||
Count the messages that are on host2 but not on host1.
|
||
(hum... see DONE 2018_09_01)
|
||
|
||
DONE 2018_09_01 by Gilles
|
||
Count messages on host2 that are not in host1
|
||
|
||
DONE 2018/04/18 revision 1.875 by Gilles
|
||
SUGGESTED 2018_06_29 by Michael Hesse
|
||
Remove the warning on Windows
|
||
<EFBFBD>No such signal: SIGUSR1 at script/imapsync line 11744.<2E>
|
||
|
||
|
||
DONE 2017_11_29 by Gilles
|
||
SUGGESTED 2017_04_11 by Stefano Lo Cascio
|
||
Add a --resyncflags on by default but allowing --noresyncflags
|
||
|
||
DONE 2017_10_27 by Gilles in revision 1.841
|
||
SUGGESTED 2017_09_02 by Gilles
|
||
Check that @ARGV is empty after readding it by GetOptions since
|
||
remaining arguments are not used and might signal something wrong
|
||
in the command line arguments.
|
||
|
||
|
||
DONE 2017_08_31 by Gilles
|
||
SUGGESTED 2016_12_14 by Gilles
|
||
Look at Pod::Usage and convert the actual doc to it
|
||
|
||
DONE 2017_04_24 by Gilles
|
||
SUGGESTED 2016_11_29 by Gilles
|
||
Fix bug passfile no exist => login
|
||
Should be fatal sooner.
|
||
|
||
DONE 2017/03/13 by gilles in revision 1.782
|
||
SUGGESTED 2016_06_29 by Gilles
|
||
Add --gmail1 --gmail2 --gmail12 to set automatically advices from
|
||
https://imapsync.lamiral.info/FAQ.d/FAQ.Gmail.txt
|
||
Add --exchange --office365 to set automatically advices from
|
||
https://imapsync.lamiral.info/FAQ.d/FAQ.Exchange.txt
|
||
Add --domino1 --domino2
|
||
|
||
DONE by Gilles revision 1.755 date: 2017/01/12
|
||
SUGGESTED by Gilles
|
||
Try to act as --tls if CAPABILITY allows it and if there is no --notls.
|
||
Fallback without --tls if --tls fails.
|
||
|
||
DONE 2016_09_29 by Gilles
|
||
SUGGESTED 2016_04_13 by Gilles
|
||
Split --noabletosearch in --noabletosearch1 --noabletosearch2
|
||
|
||
|
||
SUGGESTED 2016_09_29 by Gilles
|
||
DONE with revision 1.764 2017/01/19
|
||
Try to use TLS or SSL by default unless not asked to do so.
|
||
|
||
DONE 2016_07_27 by Gilles
|
||
SUGGESTED 2016_06_15 by Gilles
|
||
Fix sub check_lib_version and its call.
|
||
It was ok because of the Perl line "use Mail::IMAPClient 3.30".
|
||
|
||
|
||
|
||
SUGGESTED 2016_06_22 by Gilles
|
||
DONE 2016_07_29 by Gilles
|
||
Make reconnections launched by a signal Ctrl-c, aka INT signal.
|
||
2 consecutive Ctrl-c within 1 second then exit the program.
|
||
Inline help when Ctrl-c is hit
|
||
|
||
SUGGESTED 2016_07_15 by Alan Williams
|
||
DONE 2016_07_20 for IO::Socket::SSL
|
||
Add --inet4 --inet6 to force AF_INET or AF_INET6 ip connection,
|
||
aka ipv4 or ipv6.
|
||
|
||
SUGGESTED 2016_06_24 by Jean-Dominique Delyon
|
||
DONE 2016_06_30 by Gilles
|
||
Add --delete1emptyfolders
|
||
Destroy host1 empty folders.
|
||
Be carefull of non-empty subfolders!
|
||
|
||
|
||
SUGGESTED 2016_07_01 by Gilles
|
||
DONE 2016_07_01 by Gilles
|
||
Add exit explanation after errorsdump
|
||
|
||
DONE 2016_01_06. Write a Unix tutorial, TUTORIAL_Unix.html.
|
||
|
||
DONE by Gilles revision 1.677 date: 2016/01/19
|
||
Move --help documentation into the man page so that description is easier to find.
|
||
|
||
DONE 2015_12_26. WANTED 2015_03_24
|
||
Add --sslargs with usage like:
|
||
imapsync ... --sslargs 'SSL_version=SSLv3' --sslargs 'SSL_use_cert=1' \
|
||
--sslargs 'SSL_verify_mode=SSL_VERIFY_PEER'
|
||
See perldoc IO::Socket::SSL for all possibilities.
|
||
|
||
|
||
DONE 2015_12_25 Gilles Lamiral
|
||
Add --ssldebug 0-4
|
||
|
||
DONE 2015_10_06. Find a way to avoid passwords in --debugimap unless needed.
|
||
Proposed in Mail-IMAPClient via $imap->Showcredentials()
|
||
in patch at
|
||
See https://rt.cpan.org/Public/Bug/Display.html?id=107592
|
||
|
||
DONE 2015_12_03 WANTED 2015_11_24 Jens Herrmann
|
||
Add --logdir to allow imapsync choosing the filename while allowing
|
||
user to choose the dirname part.
|
||
|
||
DONE. 2015_08_10.
|
||
Guess separators and prefixes when NAMESPACE is not available,
|
||
instead of forcing the user to guess and set them.
|
||
|
||
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.
|
||
It's called imapsync_bin_Darwin
|
||
|
||
|
||
DONE. Add a NOP for host2 for each fake copy in --dry mode.
|
||
Goal is to avoid timeouts happening only because of --dry
|
||
|
||
DONE 2015_05_09 WANTED 2015_04_25
|
||
Add an option "--subfolder2 FOO" to move all folders to a subfolder FOO:
|
||
On Windows:
|
||
--regextrans2 "s,${h2_prefix}(.*),${h2_prefix}FOO${h2_sep}$1," \
|
||
--regextrans2 "s,^INBOX$,${h2_prefix}FOO${h2_sep}INBOX,"
|
||
|
||
|
||
DONE. Quota are read if available and warning is printed if 90% quota reached.
|
||
Can you setup an option to make it stop if the destination mailbox reports
|
||
that it is over quota?
|
||
|
||
|
||
DONE. Add stdin/stdout filter before transfer:
|
||
"Now i asked me, how to modify your perl program to work with
|
||
that - in example, to write each mail to stdout, pipe that to the
|
||
conversion program, and read the result from stdin - and this all before
|
||
the mail will transfer to the target imap-server"
|
||
http://www.courier-mta.org/maildrop/reformime.html
|
||
Look at IPC::Open2, assuming a good and safe pipe,
|
||
or write more code handling all the bad stranger behaviours possible.
|
||
Option name: --pipemess "command arg1 arg2 ..."
|
||
|
||
|
||
DONE. Transform messages with too long linelength.
|
||
Office365 and Exchange abort connection
|
||
when they encounter a message with more than 10000 characters on a single line.
|
||
Could be done with the previous --pipemess with reformime.
|
||
Thanks to Larry Moore for suggesting reformime tool!
|
||
Usage: --maxlinelength 9900 maxlinelengthcmd 'reformime -r7'
|
||
|
||
|
||
DONE. Add DavMail in Similar Softwares section. http://davmail.sourceforge.net/
|
||
|
||
DONE. Convert folder names to utf-8 and print them next to the utf-7 ones.
|
||
Look at imapsync/W/learn/
|
||
./imap_utf7 data_utf7
|
||
|
||
DONE. Separate the online site in a folder site/ or www/ and make the upper directory simple.
|
||
|
||
DONE. --skipemptyfolders
|
||
Is it possible to run imapsync in a way that empty folders on host1
|
||
aren't created at all on host2? Yes with --skipemptyfolders
|
||
|
||
NO. Add an option to remove empty folders on host1, except INBOX.
|
||
Use --skipemptyfolders instead
|
||
|
||
DONE. Subject is output when APPEND fails. Done since a long time.
|
||
Suggestion: it's very difficult to track down messages which are behaving
|
||
funny during the sync. It would be great - and presumably easy to code -
|
||
to have an option to have imapsync display e.g. the subject of an
|
||
e-mail when it gets synced, rather than just the message ID and the date/time.
|
||
|
||
|
||
DONE. Add W/learn/imap_utf7 in imapsync, the folders lists output looks a good place,
|
||
if transcription is needed.
|
||
|
||
DONE. Add options --log and --logfile to log both on screen and to a file.
|
||
DONE. Document the tee command solution (Unix and Windows) in the FAQ.
|
||
|
||
NEVER. Add an option to implement the faq entry about copying a contact folder.
|
||
(write a dedicated software instead!)
|
||
|
||
NEVER. Use examine() instead of select() in --dry mode.
|
||
Add a method doing the switch automagicaly.
|
||
|
||
DONE. Write --disarmreadreceipts that does:
|
||
--regexmess 's{\A(.*?(?! ^$))^Disposition-Notification-To:(.*?)$}{$1X-Disposition-Notification-To:$2}igxms'
|
||
|
||
DONE. With --foldersizes make the listing on host2 independent of case
|
||
(avoid "not yet created" if the folder exists in another case string)
|
||
|
||
DONE. Write --maxmessagespersecond and --maxbytespersecond for staying under Microsoft's throttling policies.
|
||
|
||
DONE. Inform about --addheader when the problem occurs "(no wanted headers so we ignore this message)"
|
||
|
||
DONE. Print the timeout value.
|
||
DONE. Inform --timeout is is seconds.
|
||
|
||
DONE. Add an entry to http://lsm.qqx.org/lsm/
|
||
See lsm.imapsync
|
||
|
||
DONE. Fix the mailing-list archive bug with From at
|
||
the beginning of a line
|
||
http://www.linux-france.org/prj/imapsync_list/msg00307.html
|
||
|
||
DONE. Remove 2.2.9 Mail::IMAPClient support.
|
||
|
||
DONE. Add OAUTH autentication support
|
||
https://developers.google.com/google-apps/gmail/oauth_overview
|
||
|
||
DONE. Add --delete1 as an alias for --delete
|
||
|
||
DONE. Add current date at the beginning of the run, useful when imapsync
|
||
doesn't finish with statistics.
|
||
|
||
DONE. Add automatic convertion or detection when
|
||
separator inversion produces an invalid character.
|
||
From uw to cyrus, for example :
|
||
FoldA/FoldB.ext -> FoldA.FoldB/ext
|
||
|
||
DONE. Not done since useless now (--useuid)
|
||
Add a --skipheaderinfolder option
|
||
|
||
DONE. Not fixed since only reported once a long time ago.
|
||
Fix this:
|
||
> - Erreur avec la traditionnelle diff<66>rence entre Windows
|
||
> et Linux sur les retour-chariots : le calcul de la
|
||
> longueur du message ou des ent<6E>tes <20> envoyer au serveur
|
||
> cible n'est pas bon sur une machine Windows.
|
||
> Ci-dessous la modif :
|
||
>
|
||
> # No NL Count on Windows my $length = ( -s $file ) + $bare_nl_count;
|
||
> my $length = ( -s $file );
|
||
I wonder if it is Windows or the imap server used.
|
||
|
||
|
||
DONE. No Debian package anymore.
|
||
Add debian packaging in the Makefile.
|
||
Write to the debian maintener about that.
|
||
|
||
DONE with --addheader
|
||
Add an option to solve syncing Sent folder when no good header
|
||
are available:
|
||
http://www.linux-france.org/prj/imapsync_list/msg01151.html
|
||
http://www.linux-france.org/prj/imapsync_list/msg01158.html
|
||
|
||
DONE. Add a note about
|
||
"One other thing: You might want to warn idiots like me, that if your
|
||
cache resides on a filesystem with a limited number of inodes such as
|
||
ext4, your inodes will be exhausted really fast (check with df -i). I
|
||
now use a dedicated partition with reiserfs."
|
||
|
||
DONE. Add an option --exitwhenover 2500000000 to avoid to be banned or locked
|
||
http://support.google.com/a/bin/answer.py?hl=en&answer=1071518
|
||
|
||
DONE. Check if a message exists before fetching it (could have been deleted recently)
|
||
(Check avoided when UID mode is not available)
|
||
|
||
DONE. Change default --useheader 'Message-ID' --useheader Date to
|
||
--useheader 'Message-ID' --useheader 'Received'
|
||
because Exchange changes Date header! (but not Received:)
|
||
|
||
DONE. Add "output to reflect everything that imapsync was doing".
|
||
Not everything but flag synchronization will be nice"
|
||
--debugflags does this.
|
||
|
||
DONE. Add a script to install automaticaly all needed Perl modules
|
||
if needed. Not a script but command lines in INSTALL file.
|
||
|
||
DONE. Post on imapsync mailing-list when a new release comes.
|
||
No since I no longer distribute it gratis, imapsync detects
|
||
itself a new release and buyers are informed by a specific
|
||
list. I know some packagers (FreeBSD) use the Changelog file
|
||
to detect an update.
|
||
|
||
DONE. Subscribe users to imapsync_update mailing-list automatically after the payment.
|
||
(done in paypal_send)
|
||
|
||
DONE. NO became porn! Post on newsgroup comp.mail.imap when a new release comes.
|
||
http://groups.google.fr/group/comp.mail.imap
|
||
|
||
DONE. The --search option allows this (and many other things)
|
||
Add option --exclude_messages_with_flag
|
||
|
||
DONE. (yahoo login is standard now)
|
||
Add yahoo imap support:
|
||
http://elearningcentral.blogspot.com/2010/07/how-to-use-imapsync-with-yahoo-imap.html
|
||
http://www.bwebcentral.com/utils/imapsync-yahoo
|
||
See patches/imapsync-yahoo
|
||
|
||
|
||
DONE. Add --subscribe by default.
|
||
Subscribe only when needed (not already subscribed).
|
||
|
||
DONE. Ask Nick Czeczulin why he wrote patent "Method for mailbox migration"
|
||
http://www.google.com/patents/about?id=qI_IAAAAEBAJ
|
||
|
||
DONE. Add --search option allowing to select messages with any IMAP SEARCH command.
|
||
|
||
DONE. Make --usecache works with --maxage --maxsize etc.
|
||
|
||
DONE. Fix Exchange 2010 SP1 issue with --foldersizes when
|
||
host2 folders don't exist. $imap->exists calls STATUS.
|
||
Is it RFC compliant or an Exchange bug?
|
||
Exchange quit after 10 errors.
|
||
|
||
DONE. Make --delete2 works with --useuid
|
||
|
||
DONE. write a comment to http://blog.migrationwiz.com/2010/12/09/imapsync-vs-migrationwiz/
|
||
|
||
DONE. Read http://bugs.gentoo.org/show_bug.cgi?id=354831
|
||
Nice conversation.
|
||
|
||
DONE. Look https://fedorahosted.org/released/imapsync/
|
||
|
||
DONE. Take a look at https://bitbucket.org/imapsync/imapsync
|
||
|
||
DONE. Explain expunge behavior in help message.
|
||
|
||
DONE. Add --authmd51 --authmd52 to permit authmd5 by host.
|
||
|
||
DONE. Write option --delete2foldersonly regex.
|
||
Example: to permit a sync in a subfolder with --delete2folder
|
||
--regextrans2 's#(.*)#NEW/$1#' --delete2foldersonly /^NEW/
|
||
|
||
DONE. Write option --delete2foldersbutnot regex.
|
||
Example: to permit a sync but not deleting folder OLD
|
||
--delete2foldersbutnot /^OLD/
|
||
|
||
DONE. Add cache to speed up transfer. Option --usecache
|
||
|
||
DONE. There was a time imapsync took the whole message when the
|
||
header was bad (empty). But it was bad for speed with big
|
||
messages (nowadays there are always big messages in
|
||
mailboxes). May be the best is to take a part of the
|
||
body. Have to code this.
|
||
|
||
DONE. Add a --delete2folders option
|
||
"When syncing mailboxes with imapsync, is there a way to delete folders in the
|
||
target account? The --delete2 option only seems to delete individual
|
||
messages, not folders."
|
||
|
||
DONE. Add NTLM authentification support. Mail-IMAPClient-3.25
|
||
support it.
|
||
http://cpansearch.perl.org/src/BUZZ/NTLM-1.05/NTLM.pm
|
||
http://curl.haxx.se/rfc/ntlm.html
|
||
|
||
DONE. Evaluate memory consumption with (or better):
|
||
print qx{ ps o pid,pcpu,comm,vsz,rss,size $$ }, "\n"
|
||
Search memory leaks with
|
||
Test-Weaken Test-Memory-Cycle Devel-Cycle Devel-Leak Test-Weaken
|
||
sh -x tests.sh ll_bigmail
|
||
sh -x tests.sh ll_memory_consumption
|
||
are good candidate to stress memory.
|
||
No memory leak detected just up to 8 memory copies of the same data
|
||
in Mail::IMAPClient.
|
||
Wrote ./learn/memory_consumption to show that it is a Mail::IMAPClient issue.
|
||
|
||
DONE.Be more effiscient with large mailboxes
|
||
Write a Mail::IMAPClient::fetch_hash allowing selecting messages to fetch
|
||
4 hours estimated time coding. Time spent 4h30 (with public release and emails)
|
||
|
||
DONE. Bugfix. Duplicate messages on host2 are not deleted with --delete2
|
||
Reason: "Skipping msg #120:508 in host2 folder INBOX.2005-INBOX (duplicate so we ignore this message)"
|
||
|
||
DONE. Ask namespace capability after login (dovecot 2).
|
||
It was a bug from library caching CAPABILITY.
|
||
|
||
DONE. Write a clean_exit() replacing each die() or exit() call.
|
||
Wrote exit_clean() and die_clean() to remove pid file.
|
||
|
||
DONE. Add a --pidfile option.
|
||
|
||
DONE. Add NOOP commands to avoid timeouts.
|
||
Useless since reconnect mode permits timeouts.
|
||
|
||
DONE. Add --subscribeall option.
|
||
Is it possible to have a option that subscribes all folders regardless of
|
||
subscription on the source server? Perhaps --subscribeall?
|
||
|
||
DONE. Add an option to make imapsync automatically
|
||
reconnect when the connection drops
|
||
|
||
DONE. Add Google adsence to imapsync website to see if it can help.
|
||
|
||
DONE. Be "FLAGS.SILENT" the normal behavior instead of "+FLAGS.SILENT".
|
||
|
||
DONE. Add TLS support with patches/imapsync-1.217_tls_support.patch
|
||
|
||
USELESS. Make --skipheader be multiple. Useless since we can
|
||
use the or perl regex '^X-|^Date|^From'
|
||
|
||
|
||
USELESS. Add a --tmpfile option.
|
||
|
||
DONE. Add --justlogin options
|
||
to check usernames and passwords.
|
||
|
||
DONE. Add a --tmpdir option.
|
||
|
||
DONE. Fix bug "Found that if folders have a space at the end of
|
||
the name, it will not create the folder name on the new
|
||
server, nor will it copy that folder's email."
|
||
Added regression test checking this.
|
||
Could not reproduce this bug.
|
||
Seems to be a old imapsync bug with 2.2.9
|
||
|
||
|
||
DONE. (contacted Date::Manip maintener) Fix bug with Date::Manip 6.02
|
||
|
||
DONE. Explain howto change only the header with --regexmess
|
||
|
||
DONE.
|
||
Change IsUnconnected behavior. If IsUnconnected then print
|
||
stats and die. Avoid logout.
|
||
|
||
DONE. Remove --password "secret" in outpout.
|
||
|
||
DONE. Make "--delete 2" be a fatal error.
|
||
|
||
DONE.
|
||
Write to zimbra coders about the date presentation:
|
||
Sorting by default by internal date is bad with migrations
|
||
and delayed arrivals. An user option would be good.
|
||
|
||
DONE.
|
||
Add failure return code in case of
|
||
last FOLDER if $from->IsUnconnected();
|
||
last FOLDER if $to->IsUnconnected();
|
||
See Phil Lobbes messages (18 Sep 2008)
|
||
Subject: BUG: imapsync may silently disconnect leading to unmigrated data without warnings
|
||
|
||
DONE. Fix bad english language.
|
||
|
||
DONE. Add a better test to check non existing folders on destination
|
||
server. (status and select are bad).
|
||
|
||
DONE. Fix the buggy --include behavior with no --folder --folderrec or --subscribed.
|
||
|
||
DONE. Update the distribution list including imapsync in the
|
||
INSTALL chapter. Also in README.
|
||
|
||
DONE. Start FAQ entries about good options with such imap server.
|
||
|
||
DONE. Talk about mbox and maildir format when "Invalid header"
|
||
problem is encountered. (See FAQ "Invalid header")
|
||
|
||
DONE. Look at http://barnson.org/node/81
|
||
An old blog about imap migration.
|
||
|
||
DONE. Normally, "no header used or found" means imapsync found a message
|
||
with no header. It may be a bad message with really no header
|
||
or it may be a imap server problem, the server gives no header
|
||
for this message. In that case imapsync gets the whole message
|
||
to see if there is the same on the other side. It slows the transfer
|
||
of course. I think I'll change imapsync behavior and let it
|
||
give up those bad messages missing an header.
|
||
|
||
DONE. Make --syncinternaldates turn on by default
|
||
|
||
DONE. Check imapsync with gmail (dates problem?).
|
||
|
||
DONE. Start an imap internet scan project.
|
||
|
||
DONE. Fix --ssl --justconnect bug
|
||
|
||
DONE. Fix --ssl needs --authmech login with gmail. Why?
|
||
|
||
DONE. Try a 50Mo message transfer (slow ?)
|
||
fast!
|
||
|
||
DONE. Add my amazon wishlist link.
|
||
|
||
DONE. Remove file rfc2342.txt "IMAP4 Namespace"
|
||
|
||
DONE. Add an --exactsync option to remove target messages
|
||
that are not on source. Maybe --delete2 is a better name.
|
||
|
||
DONE. Fix the "word too large" or "Command line too long"
|
||
bug with some imap servers.
|
||
|
||
DONE. Add features from Herman (patch against 1.139 and
|
||
again with 1.156 by Kjetil Torgrim Homme)
|
||
- Support for authenticating as different (admin) user
|
||
- Support for different auth mechanisms (we needed PLAIN)
|
||
|
||
DONE. Make --include --exclude options possibly be a list.
|
||
|
||
DONE. Look at http://freshmeat.net/projects/freshmeat-submit/
|
||
|
||
DONE in FAQ.Talk about :
|
||
"I think notes is right but MS Eudora is bad with dates.
|
||
(netscape or thunderbird is ok with dates)
|
||
use the option --syncinternaldates "
|
||
|
||
DONE. Create a imapsync mailing list.
|
||
May be I won't since we can use comp.mail.imap
|
||
http://groups.google.fr/group/comp.mail.imap
|
||
to talk about imapsync
|
||
|
||
DONE. Add a --recurse option when --folder option is used.
|
||
No I won't since this feature can be done by doing a
|
||
--include '^INBOX.MyFolder'
|
||
Yes done with --folderrec
|
||
|
||
Done. Look at comp.mail.imap http://groups.google.fr/groups?q=imapsync
|
||
In fact I set up an google alert on imapsync so I read
|
||
any posted question about imapsync posted to any group
|
||
followed by google.
|
||
|
||
DONE. Add usage about --regextrans2
|
||
To remove INBOX. in the name of destination folders:
|
||
--regextrans2 's/^INBOX\.(.+)/$1/'
|
||
To sync a complete account in a subfolder called FOO:
|
||
--regextrans2 's/^INBOX(.*)/INBOX.FOO$1/'
|
||
|
||
DONE. Make the --justconnect a real "just connect" connection,
|
||
not a auth connection like it is now.
|
||
|
||
DONE. Add --prefix1 option.
|
||
The need is to remove this prefix when building target folder names.
|
||
|
||
DONE. Read the IMAP RFC http://www.rfc-editor.org/rfc/rfc2342.txt
|
||
Respect the NAMESPACE behavior like the RFC.
|
||
|
||
DONE. Add in doc: Does imapsync support IMAP over TLS (IMAPS)?
|
||
|
||
DONE. Add the licence of each IMAP software (the free ones).
|
||
|
||
DONE. Add MailEnable version 1.54 if
|
||
Javier Gomez succeed. He failed.
|
||
MailEnable is an early stage developpment IMAP server.
|
||
|
||
DONE. Update doc with ALL options.
|
||
|
||
DONE. Think about speed.
|
||
|
||
DONE. Pb if "to separator" is in "from folder" name.
|
||
Have to choose a caracter != to separator and
|
||
not in from folders. The solution can be to
|
||
just exchange the two separator caracters.
|
||
|
||
DONE. Look at the separator() function in Mail::IMAPClient
|
||
|
||
DONE. Add SASL support MD5 : DIGEST-MD5 and CRAM-MD5
|
||
see authenticate in IMAPClient.pm
|
||
Test the new Mail::IMAPClient (2.1.4 -> 2.2.6 or sup)
|
||
userdbpw -hmac-md5 | userdb userdb set hmac-md5pw
|
||
http://www.inter7.com/courierimap/INSTALL.html
|
||
|
||
DONE. Add a --subscribe option to subscribe folders on the
|
||
destination server.
|
||
|
||
DONE. Add a --subscribed option to transfert only subscribed
|
||
folder on the source server.
|
||
|
||
DONE. Add a CREDITS file.
|
||
|
||
DONE. Pb with namespace INBOX. Some IMAP servers
|
||
don't have this CAPABILITY
|
||
http://www.inter7.com/courierimap/FAQ.html#namespace
|
||
http://www.rfc-editor.org/rfc/rfc2342.txt
|
||
|
||
DONE. Pb with date
|
||
|
||
DONE. Pb with \Recent flag
|
||
|
||
DONE. Add the list of tested IMAP servers (successes and failures).
|
||
|
||
|