This document is a WORK IN PROGRESS.
This is just a quick personal cheat sheet: treat its contents with caution!
Neomutt¶
Neomutt is a text based CLI MUA. Here I will detail how to configure it with ProtonMail (with the
protonmail-bridge).
TODO
Prerequisite(s)
Reference(s)
Table of contents¶
Install¶
TODO also install sendmail (at least on Ubuntu).
Config¶
Find your IMAP and SMTP credentials, e.g. with ProtonMail bridge:
$ protonmail-bridge --cli
> login # login to your protonmail-bridge account
> ...
>
> info # print your protonmail-bridge account info
> ...
> Address: 127.0.0.1
> IMAP port: 1143
> Username: <user.name@protonmail.com>
> Password: <protonmail-bridge-password>
>
> SMTP Settings
> Address: 127.0.0.1
> SMTP port: 1025
> Username: <user.name@protonmail.com>
> Password: <protonmail-bridge-password>
Create a dedicated file to store your email and bridge password:
$ mkdir ~/.config/neomutt
$ vi ~/.config/neomutt/keys
> set my_user=<user.name@protonmail.com>
> set my_pass="<protonmail-bridge-password>"
Minimal working neomuttrc configuration:
$ vi ~/.config/neomutt/neomuttrc
> source ~/.config/neomutt/keys # sources $my_user and $my_pass variables
>
>
> # Char encoding #
> # ------------- #
>
> # Character set on sent messages:
> set send_charset="utf-8"
> # If there is no char set given on incoming messages, it is probably windows:
> set assumed_charset="iso-8859-1"
>
>
> # IMAP settings #
> # ------------- #
>
> # ("+" substitutes for `folder`)
> set mbox_type = Maildir
> set folder = imap://127.0.0.1:1143/
> set record = +Sent
> set postponed = +Drafts
> set trash = +Trash
> set spoolfile = +INBOX
> mailboxes = +INBOX
> set mail_check = 5 # seconds
>
> # Local protonmail-bridge host server: 127.0.0.1
> # Protonmail-bridge imap port: 1143
> set imap_user = $my_user
> set imap_pass = $my_pass
>
> # Store message headers locally to speed things up.
> # If hcache is a folder, Mutt will create sub cache folders for each account
> # which may speeds things up even more:
> set header_cache = ~/.cache/mutt
>
> # Store messages locally to speed things up, like searching message bodies.
> # Can be the same folder as header_cache.
> # This will cost important disk usage according to your e-mail amount.
> set message_cachedir = "~/.cache/mutt"
>
> # Specify where to save and/or look for postponed messages.
> set postponed = +[Protonmail]/Drafts
>
> # Allow Mutt to open a new IMAP connection automatically.
> unset imap_passive
>
> # Keep the IMAP connection alive by polling intermittently (time in seconds).
> set imap_keepalive = 300
>
> # How often to check for new mail (time in seconds).
> set mail_check = 120
>
>
> # SMTP settings #
> # ------------- #
>
> set smtp_pass = $my_pass
> set realname ='Stéphane Tzvetkov'
> set from = $my_user
> set use_from = yes
>
> # Local protonmail-bridge host server: 127.0.0.1
> # Protonmail-bridge smtp port: 1025
> set smtp_url = smtp://$my_user:$smtp_pass@127.0.0.1:1025
> set ssl_force_tls = yes
> set ssl_starttls = yes
neomuttrc config file:
https://gitlab.com/stephane.tzvetkov/config/blob/master/home/user/config/neomutt/neomuttrc
Neomutt with outlook¶
Warning
Don't forget to set the certificate_file option!
Root and system wild¶
Note that if you want to use Neomutt as root, you will have to copy your neomuttrc file and key
file into /root/.config/neomutt.
Also note that if you want to use Neomutt system wild (e.g. for some other users) you will have to
copy your neomuttrc file and key file into /etc/neomutt.
Neomutt as default MTA ?¶
Is there a proper way the select Neomutt as a proper MTA ?
Use¶
To enter the Neomutt CLI, Simply run:
The first time you have to accept ("a"ccept always) the SSL Certificate, quit and re open it in
order for all the mailbox to load.
One can also easily send an email this way:
Troubleshooting¶
If you get the following error when testing Neomutt:
$ echo "This is a test." | neomutt -s "Test subject" recipient.name@eg.com
> Could not connect to 127.0.0.1 (Connection refused).
> Could not send the message.
If you get the following error when testing Neomutt:
$ echo "This is a test." | neomutt -s "Test subject" recipient.name@eg.com
> SASL authentication failed
> Could not send the message.
If this cheat sheet has been useful to you, then please consider leaving a star here.