aerc + notmuch setting up gist What's there: +----------------------------+ | Email Server | +----------------------------+ ^ ^ | imap | | | SMTP v | +--------------+ | +-+ | isync | | | |-------- | (mbsync) | | |P| +--------------+ | |A| | | |S| [ LOCAL STORAGE] | |S| | | +-+ | + notmuch | | | INCOMING | OUTGOING | V | | +---------------------------+ +--------- | aerc | +---------------------------+ 1. configure password manager (here gnupg + pass). If you are OK with storing your password as plaintext config file then skip (I dare you) https://www.passwordstore.org 2. configure incoming mails. Later I may write about how to do this manually (no one wants to...) but here you can just use the mutt-wizzard tool from Luke Smith. Just follow the instruction and create your mbsync config. (Since we are not using mutt, you can skip anything SMTP related) https://github.com/LukeSmithxyz/mutt-wizard this should set up your mbsync; it also stores your password into password-store. Your emails will be downloaded to ~/.local/share/mail/ 3. now you should be able to configure aerc for incoming emails. You could use aerc's new-account wizzarwd. For incoming emails select notmuch. You could just give placeholders if you are not sure about something. In the end check the config file and it should look like this: ~/.config/aerc/accounts.conf [my] default = INBOX from = you name copy-to = Sent # NOTMUCH SOURCE source = notmuch://~/.local/share/mail maildir-store = ~/.local/share/mail maildir-account-path = query-map = ~/.config/aerc/my.qmap check-mail-cmd = mailsync you@example.org # OUTGOING SMTP + STARTLS outgoing = smtp+login://account@example.org:587 outgoing-cred-cmd = pass you@example.org # OUTGOING SMTP + TLS outgoing = smtps://account@smtp.example.org:465 outgoing-cred-cmd = pass you@example.org 3.1 note for the outgoing email protocol and port numbers, you should edit accordingly. 4. setting up crontab (periodic pulling your emails in the background). you can simply use mutt wizzard $ mw -t [minutes] or manually put `mailsync` in your crontab.