This SMTP application works the same way on Raspbian 10 (Buster).
sudo apt-get install msmtp msmtp-mta -y sudo nano /etc/msmtprc
Copy and paste this content to the 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 username@gmail.com user username@gmail.com password password account default : gmail
Using your real password is not the best way for two reasons. First, it will be stored as plain text and other users of your server can read it. Second, you have to go into your configuration account and allow “less secure apps” [Link].
You can create an API Password (one password exclusive for this application) in your Google account configuration, copy, and paste the random password in the MSMTP.
Steps (the links are shortcuts, if not working just follow the steps):
- Enter your Google account settings [Link].
- Select Security [Link].
- In Signing in to Google enable 2-Step Verification [Link].
- Select App Passwords [Link].
- Select the app and device you want to generate the app password for.
- Click Generate.
- Copy the password that may log line this: mssl uemq sabi fjbc.
- Then paste in the MSMTP configuration file.
This App Password procedure might be the same if you want to user Sendmail or Postfix as Google relay.
All the e-mails sent using the Google server will have the sender e-mail the same as your account e-mail.
Test your configuration:
(echo "Subject: Test"; echo 'Body of the email') | msmtp username@gmail.com
cat file.txt | msmtp -a default username@gmail.com
Note: -a followed by the name of the configuration name will select what configuration file (server, credentials, etc) will be used.
Also, install the mail tools and test them:
sudo apt-get install mailutils -y echo 'Message' | mail -s "Subject" username@gmail.com echo 'Message' | mail -s "Subject" -A attachment.zip username@gmail.com echo 'Message' | sendmail username@gmail.com