Currently (and for decades) I have set up my email in the following way: I have a local email client (Thunderbird) on my desktop computer. I have multiple external email accounts with my ISP, Google, etc., etc. My local email client goes directly to these external accounts and uses (preferably) POP3 to download the emails and delete them from the external server , In some cases, IMAP is used instead. However, I really like keeping all my emails eternal and really not keeping them on an external server forever. Therefore, I prefer POP3 on the external servers, if possible.
For a variety of reasons, I'm thinking of changing, so I'm running an IMAP server on a computer on my personal network instead. It would take over collecting emails from all external accounts and filling them into local accounts. I would then change Thunderbird to access the local accounts (via IMAP, not POP3) instead of the external accounts, and I would do a small cron job to periodically send (about) monthly emails from the external servers Clear.
I've read to find out how to do that, and I have a high-level plan. But I find it all a bit complicated, so I'm not really confident that my plan is not that bad. So, I'd like to describe what I plan to do and hope for feedback if I'm on the right track or not, and also ask some specific questions to make sure I understand things correctly. My plan is this:
(1) Set up an IMAP server on one of my computers (I tend to Dovecot).
(2) For each external e-mail account (for example, firstname.lastname@example.org), set up a corresponding local e-mail account in Dovecot (for example, email@example.com).
(3) Set up something like getmail for getmail to log in to (for example) firstname.lastname@example.org for each external / local pair, get new emails, and submit them to email@example.com.
(4) Set up an IMAP client account for each local account in Thunderbird, for example: Bob_foo_bar@mygreatserver.local.
(5) In Thunderbird, link each IMAP account to the SMTP account of the associated external account, e.g. Eg firstname.lastname@example.org.
(6) For backup purposes, an automatic script for storing the database of the local IMAP server.
(7) Also, for backup purposes, an automated script that uses something like OfflineIMAP as an intermediary between the local IMAP server and storing Maildir content in a Subversion repository.
(8) An automatic script for deleting old e-mails from external servers.
So … does that sound reasonable? Something is wrong with it? Am I missing something? Any better suggestions? A few things to worry about:
(A) This is, I think, my biggest concern: am I right to think that if my script deletes old emails from the external servers, it will NOT cause them to be deleted from the local server either? Even if getmail accesses the external account via IMAP?
(B) The reason I (I think) want to use the external SMTP servers is that I want to receive emails from email@example.com and not from firstname.lastname@example.org. Is this the right way to achieve this? Or should I set up a local SMTP server (like Postfix) and somehow use it as a bridge to the external SMTP servers?
(C) What about saving sent emails? I imagine that it would be more or less automatic, based only on what I described above: Thunderbird sends an e-mail to the SMTP server at foo.bar. Foo.bar's e-mail system is a black box that somehow puts a copy of it into an IMAP-accessible Sent folder. Getmail sees this new message on the external server and treats it like any other message it sees: it sends it to the local IMAP server, which places it in a local Maildir folder named "Sent". Thunderbird sees the Maildir folder (via IMAP) and treats it like he's handling any such folder: it displays it and its contents. Is that all right? If not, how do I save sent emails?
Thanks in advance for any help.