How to install msmtp to Debian 10 for sending emails with gmail

I am making this post because last 2 days I tried to install msmtp to my Debian 10 server. Previously I used ssmtp where I did not have any problems but it cannot be installed at the time of making this tutorial. Because nobody is maintaining the package anymore or something like this as far as I understood.

I spend countless hours to the error that said my username and password is not accepted by Gmail. So here is my tutorial to how fully install it and configure it.

Step 1: Installing required packages.

sudo apt-get install msmtp msmtp-mta

Step 2: Create an app password in Google for msmtp

This (Step 2.* in this tutorial) was the missing piece of the puzzle which weren’t in any of the msmtp tutorials I did through. I found out about it in one of the Postfix tutorials where it was included after many hours of trial and error. Because at first, I thought the msmtp config file where was password field had to be filled with the same password with what you log in as a person to your account.

Go to: https://myaccount.google.com and log into the email account you want to start sending the emails.

Step 2.1: Select Security from the side menu and turn 2-Step Verification ON.

Step 2.2: After that click on App passwords

Step 2.3: Next up select Other (Custom name)

Step 2.4: Fill in the name as msmtp for example

Step 2.5: Get the password for your msmtp configuration file

Save this password to some notepad temporarily so you can copy & paste it later to a configuration file because once you click DONE you cannot see the password again. At least I have not found a way to re-open this popup.

Step 3: Create a configuration file

sudo nano /etc/msmtprc

Step 4: Configure msmtprc file

defaults
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        ~/.msmtp.log
account        gmail
host           smtp.gmail.com
port           587
from           [email protected]
user           username
password       password
account default : gmail

The [email protected] has to be changed in the config file with the email you used to create an app password in Google.

The user field where is username has to be changed as well. For example, if your email is [email protected] then change username to john.doe.

The password field has to be changed also to the one the Google App password told you.

So the configuration file would look like something like this:

defaults
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        ~/.msmtp.log
account        gmail
host           smtp.gmail.com
port           587
from           [email protected]
user           john.doe
password       fkelpwkdymcwslwo
account default : gmail

Step 5: Testing the email configuration

echo "Message" | mail -s "Title" [email protected]

After that command, you should receive an email from your configured account.

I hope this helps at least some of you. If you have any questions then feel free to ask and I will try to answer as fast as I can.

9 thoughts on “How to install msmtp to Debian 10 for sending emails with gmail”

  1. Thanks very much, gave me the missing step I needed. Have bookmarked this page for later 🙂

    Reply
  2. Everything is very open with a really clear clarification of the issues.
    It was truly informative. Your site is very helpful. Many
    thanks for sharing!

    Reply

Leave a Comment