Gandi is my favorite registrar for many reasons. Their motto is “No Bullshit” and they mean it. They make it super easy to manage domains, and offer tons of great services. One of the best things about buying a domain from Gandi is that they provide you with free email for the life of your domain. Setting up a mail server can be a pain in the ass, so this is really kind of awesome. mutt is an awesome MUA (Mail User Agent) that is light weight, terminal based, and highly customizable. Your local mail system can be as complex or as simple as you want it to be. There are countless guides out there on how to mutt, but a lot of them seem way to complex for my use case and can get very confusing. This guide will help you get mutt working with Gandi mail. Gandi mail is a pretty generic mail stack so this should also apply to any other IMAP/SMTP mail system that uses Dovecot, Postfix, etc… as well. My use case is this:
- I use Gandi mail for all of my personal email for a single address.
- I want to connect to Gandi using IMAP with mutt
- I want to send mail with mutt by connecting to Gandi with SMTP
Note that there are no local folders on my machine in this use case, so everything is happening on the mail server. A lot of the mutt guides assume that you are using mutt for just reading email and are using some external program like fetchmail to receive the mail to a local folder, and some external smtp system like msmtp to send it. This is not what we are doing here, so if you want this type of setup I would suggest looking at this guide instead. With this simple use case in mind, your .muttrc file becomes super simple.
- If you have not already, install mutt.
#On Debian Based Distros apt-get install mutt #On Red Hat Based Distros yum install mutt #On Mac OS X, assuming you have Homebrew Installed brew install mutt
- Open up a text editor and put the following in your \~/.muttrc file
# Configure imap username and password set imap_user="firstname.lastname@example.org" set imap_pass="YourPassword" # Configure Default Folder and where to put Sent Mail set folder="imaps://mail.gandi.net:993/" set spoolfile=$folder set record="=Sent" # Configure SMTP Settings set smtp_url = "smtp://$imap_user:$email@example.com:587/" set realname="Your Name" set from="firstname.lastname@example.org" set use_from = yes # Enable STARTTLS for Security set ssl_starttls=yes
- Fire up
mutt, you will be logged into your Gandi inbox and you can start rocking out your mail.
This was a super simple config and it “just works”. It allows you to perform the basic functions of receiving, reading, and sending mail. You can now go read about the other 10,000 config options in the mutt manual.
Added STARTTLS to .muttrc example, thanks to Kenn for the catch.