From NixOS Wiki

Imapsync is a versatile email migration tool that allows users to easily transfer emails between different IMAP email servers. It supports various features such as incremental sync, folder hierarchy preservation, and SSL encryption, making it a reliable choice for seamless email migration.


To install Imapsync system wide add the following line to your system configuration

environment.systemPackages = [ pkgs.imapsync ];


Following example transfers all mails from server to via IMAP protocol using supplied credentials

imapsync \
  --host1 --user1 user1 --password1 "secret1" \
  --host2 --user2 user1 --password2 "secret1" \

Adding parameter --addheader helps if you want to sync draft and sent messages which usually have no headers to be identified.

Filter messages and deletion

Additional flags --delete1 and --search can be added to sync all messages before the specified date and to remove them after successfull migration to host2

imapsync \
  --delete1 --delete1emptyfolders \
  --search "SENTBEFORE 01-Jan-2008"