msmtp est un client SMTP très simple et facile à configurer pour l'envoi de courriels.
Installation
sudo apt install msmtp msmtp-mta bsd-mailx
Configuration
nano /etc/msmtprc
chown root:msmtp /etc/msmtprc && chmod 640 /etc/msmtprc && touch /var/log/msmtp.log && chown msmtp: /var/log/msmtp.log && chmod 660 /var/log/msmtp.log
# Valeurs par défaut pour tous les comptes.
defaults
auth on
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp.log
# Exemple pour un compte Gmail
account gmail
auth plain
host smtp.gmail.com
port 587
from [email protected]
user username
password XXXXXXXXXX
# Exemple pour un compte GMX
account gmx
host mail.gmx.com
port 587
from [email protected]
user [email protected]
password XXXXXXXXXX
tls_nocertcheck
# Exemple pour un compte OVH
account ovh
host XXXXXX.ovh.net
port 465
from [email protected]
user [email protected]
password XXXXXXXXXX
# Exemple pour un compte Infomaniak
account infomaniak
host mail.infomaniak.com
port 587
from [email protected]
user [email protected]
password XXXXXXXXXX
# Exemple pour un serveur de test MailHog
account mailhog
auth off
tls off
tls_starttls off
host localhost
port 1024
from [email protected]
# Définir le compte par défaut
account default : gmail
# Aliases
aliases /etc/aliases
Si vous voulez configurer l'envoi de courriels au niveau d'un utilisateur, créez le fichier .msmtprc dans le dossier personnel de l'utilisateur concerné. Ce fichier ne devra être accessible en lecture et écriture qu'à l'utilisateur
chmod 600 .msmtprc
Test
echo 'message' | msmtp -d [email protected]
Désinstallation
Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.
Problème avec TLS
If you have the error "msmtp: TLS certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown", you can use fingerprint instead, as follow:
#tls_starttls on
tls_fingerprint xx:xx:xx:xx:[...]
To find fingerprint, do:
sudo msmtp --serverinfo --tls --tls-certcheck=off --host=smtp.server.com