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.

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

  1. I am not sure where you are getting your info, but great topic. I needs to spend some time learning much more or understanding more.
    Thanks for wonderful info I was looking for this info for my mission.

    Reply
    • If I remember correctly then I followed different guides and tutorials and eventually I saw that none of them worked. So I started to try on my own by trial & error and after awhile I saw what worked and what not and then figured to do this kind of tutorial. So if even I should do this process again then I atleast have some reference manual for next time so it wouldn’t be so painful then. 🙂 But thanks for reading and commenting. It makes me happy that my writing helped.

      Reply

Leave a Reply to caupo Cancel reply