12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427 |
- #!/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 "ø"-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:
- “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 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 “\”
- When imapsync asks hmailserver about namespace, hmailserver returns “\\” instead of “\”.
- 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’t, and outlook doesn’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á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énérer un fichier des comptes qui ont rencontré des problèmes
- et afficher le contenu à 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
- “No such signal: SIGUSR1 at script/imapsync line 11744.”
- 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érence entre Windows
- > et Linux sur les retour-chariots : le calcul de la
- > longueur du message ou des entêtes à 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).
|