This was a tough decision, having used Gmail since 2007/2008. However, I had to draw the line and stop giving Google my data for free. The problem with email is that everything is transmitted in plain text. Technically, Google can store every message you receive and know everything, and U.S. agencies can request access to that data (this include also EU citizens under the EU-U.S. and Swiss-U.S. Data Privacy Frameworks). For someone like me, who cares about privacy and runs as much as possible on my own home servers, that felt like way too much. So I decided to switch to another provider, one that respects privacy a bit more. Of course, this meant no longer “paying” with my personal data, but instead paying the actual price of the email service. The beginning Let me start by saying: I use email in a very basic way. I send and receive a lot of messages (at least 50 a day), but they’re plain text/html emails with no attachments or fancy features. I couldn’t care less about the rest of the “suite", like notes, contacts, calendars and all that extra stuff. So, after a bit of research, I narrowed it down to three different services: Mailbox.org Proton Mail Tutanota The last two providers offered true end-to-end encryption, at a cost of about €3/4 per month. Sounds good… but the catch is that to use their end-to-end encryption you’re forced to use their apps (or, on macOS, run a background “bridge”). That’s a no go for me, because I love Apple’s Mail app on macOS and iOS, it just works perfectly for my needs, and I don’t want to give that up. So, I went with mailbox.org that still offers integrated PGP encryption, and if you want, you can always use external PGP too (which I was already doing with Gmail). Mailbox.org has a solid plan: 10GB of email storage plus 5GB of cloud storage starting at €2.50/month (paid annually). You can even expand the mail storage up to 100GB, at €0.20 per gigabyte. I was using around 2.5GB on Gmail, so I had no issues with paying the equivalent of two coffees a month for a huge boost in privacy. And if I ever need more space, I can just add it on-demand for €0.20/GB. There’s also a free one-month trial, but it’s pretty limited since you can’t send emails outside of mailbox.org domains. So win the end, I registered my new address [email protected] and paid €3 for a month of testing. That means I’m covered for two months, and then I can just “top up” the account with €30 for a full year. ⚠️ Mailbox.org doesn’t use auto-renewal, so you have to manually top up your account. Nice feature Mailbox.org online The web interface is extremely simple but very effective. I actually find it better than Gmail, less bloated of useless stuff. And on mobile it’s very usable too. One thing I prefer is using folders instead of Gmail’s “labels.” Mainly because this way I can put the folders directly under the account in Apple Mail (I think is the only email that can actually support this). Mailbox.org also has all the features I need, and probably way more than I’ll ever use. It even includes storage, video chat, an XMPP chat, task lists, calendar, contacts, an Etherpad (basically shared notes, I think), and so on… none of which I really care about. Migrating I decided to move all my emails from Gmail to mailbox.org, so I could (in future) completely wipe my Gmail account. To do this, I used the tool imapsync, which I installed on my Archive server (see this post My home setup v6 | Archive server) After creating an “app password” on Gmail, I installed the Docker image and ran the tool with this script: #!/bin/sh set -eu HOST1="imap.gmail.com" USER1="[email protected]" PASS1="xxx" HOST2="imap.mailbox.org" USER2="[email protected]" PASS2="xxx" LOGDIR="/home/imapsync/logs" mkdir -p "$LOGDIR" LOGFILE="$LOGDIR/sync_$(date +%F_%H-%M-%S).log" echo "Starting: $(date)" docker compose run --rm imapsync imapsync \ --host1 "$HOST1" --user1 "$USER1" --password1 "$PASS1" --ssl1 \ --host2 "$HOST2" --user2 "$USER2" --password2 "$PASS2" --ssl2 \ --automap --syncinternaldates --skipsize \ --useuid --addheader --usecache --buffersize 4096 \ --nofoldersizes --nofoldersizesatend \ --exclude "\[Gmail\]/All Mail" \ --regextrans2 "s/\[Imap\]\/Archive/Archive/" \ --log > "$LOGFILE" 2>&1 echo "Complete: $(date)" echo "Log file: $LOGFILE" The script excludes the All Mail folder" using: --exclude "\[Gmail\]/All Mail" \ This to avoid duplicate emails already present in the folders, I also merged the [Imap]/Archive folder into the general Archive folder using: --regextrans2 "s/\[Imap\]\/Archive/Archive/" This because Apple’s Mail app creates the [Imap]/Archive folder/label on Gmail whenever you use the “Archive” function instead of “Trash.” The whole process took a couple of hours (11201secs, ~3h to be precise) during which I was monitoring the logs using: tail -f /home/imapsync/logs/sync_2025-08-19_15-02-48.log And in the end, the end… [cut] msg [Gmail]/Trash/183393 {19549} copied to Trash/13361 2.36 msgs/s 200.418 KiB/s 2.140 GiB copied msg [Gmail]/Trash/183394 {92245} copied to Trash/13362 2.36 msgs/s 200.420 KiB/s 2.140 GiB copied msg [Gmail]/Trash/183395 {19675} copied to Trash/13363 2.36 msgs/s 200.415 KiB/s 2.140 GiB copied msg [Gmail]/Trash/183396 {5953} copied to Trash/13364 2.36 msgs/s 200.410 KiB/s 2.140 GiB copied ++++ End looping on each folder ++++ Statistics Transfer started on : Tuesday 19 August 2025-08-19 03:02:49 +0000 UTC Transfer ended on : Tuesday 19 August 2025-08-19 06:09:30 +0000 UTC Transfer time : 11201.5 sec Folders synced : 14/14 synced Folders deleted on host2 : 0 Messages transferred : 26407 Messages skipped : 0 Messages found duplicate on host1 : 0 Messages found duplicate on host2 : 0 Messages found crossduplicate on host2 : 0 Messages void (noheader) on host1 : 0 Messages void (noheader) on host2 : 0 Messages found in host1 not in host2 : 0 messages Messages found in host2 not in host1 : 0 messages Messages deleted on host1 : 0 Messages deleted on host2 : 0 Total bytes transferred : 2297647358 (2.140 GiB) Total bytes skipped : 0 (0.000 KiB) Message rate : 2.4 messages/s Average bandwidth rate : 200.3 KiB/s Reconnections to host1 : 0 Reconnections to host2 : 0 Memory consumption at the end : 268.7 MiB (*time 836.2 MiB*h) (started with 161.5 MiB) Load end is : 0.06 0.08 0.08 1/1135 on 16 cores CPU time and %CPU : 446.72 sec 4.0 %CPU 0.2 %allcpus Biggest message transferred : 30413995 bytes (29.005 MiB) Memory/biggest message ratio : 9.3 Detected 0 errors This imapsync is up to date. ( local 2.306 >= official 2.290 )( Use --noreleasecheck to avoid this release check. ) Homepage: https://imapsync.lamiral.info/ Exiting with return value 0 (EX_OK: successful termination) 0/50 nb_errors/max_errors PID 1 Removing pidfile /var/tmp//tmp/imapsync.pid Log file is LOG_imapsync/2025_08_19_03_02_49_171_giuliomagnifico_gmail_com_giuliomagnifico_mailbox_org.txt ( to change it, use --logfile filepath ; or use --nolog to turn off logging ) Simplify the transition Of course, the full switch will be a gradual process, even though I’ve already updated almost all my main services with the new address. To make things easier, on my old Gmail account (which I removed from Apple Mail on all devices) I set up a forward to my new mailbox.org address. On the new mailbox.org account, I also set up a filter to flag any emails that get forwarded from Gmail. That way, I immediately notice them and I can update the address from Gmail to Mailbox.org whenever they show up. (The \flagged tag is perfect for this, since it add a “real red flag” in Apple Mail on iOS, iPadOS and macOS) Cryptography Mailbox.org allows you to easily import your keys for PGP cryptography directly from the web. This is convenient as it lets you read and send PGP encrypted emails right from the browser on iOS, where there aren’t any “decent” apps for encrypted mail. The same goes for macOS, although there you can just use Thunderbird, which works really well. Here’s how PGP emails look on iOS: To send encrypted emails, you just select “Use PGP encrypted” when composing a new message, after importing your private key, of course. And from the web interface, there’s also a handy feature to quickly import the sender’s public keys: Conclusion I’m satisfied. Leaving Gmail completely was something I wanted to do for a long time, but I was always hesitant. Finally, I made the switch, and, as often happens with these transitions, I discovered many unexpected positive aspects. Oh, and if you have something to tell me or just want to test Mailbox.org after your switch, feel free to send me an email. Here’s my public key: