Client SMTP

Envoie de mail en ligne de commande

Installation

Installer le paquet msmtp :

sudo apt install msmtp

Configuration

Editer le fichier ~/.msmtprc

account default
host smtp.monfai.fr
from prenom.nom@monfai.fr
auth off
#auth on
#si jamais auth off ne passe pas
user prenom.nom
#si votre fai vous identifie plus clairement si vous reprécisez le domaine, alors plutôt cela :
#user prenom.nom@fai.fr
password monmotdepasse

Modifier les droits d'accès sur le fichier

chmod 600 ~/.msmtprc

Utilisation

Créer un fichier avec le contenu du mail. Par exemple mail.txt

From: mon-adresse@domaine.xx
To: destinataire@domaine.xx
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
subject: le sujet de l'Email
le corps du texte commence à cette ligne (laisser une ligne blanche)
<br>
Il faut utiliser le html pour le multi lignes

Adapter l'encodage de caractère (pas forcément nécessaire si ASCII).
Puis envoyer le mail par la commande :

cat mail.txt | msmtp "adresse-destination1@domaine.xx;adresse2@domaine2.yy"

Haut de page

Exemple avec free

Configuration msmtp

.msmtprc

account free
host smtp.free.fr
from toto@free.fr
auto_from off
add_missing_from_header on
auth on
port 587
user toto@free.fr
password xxxxxxx
logfile /var/log/msmtp.log
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account default : free

Test

echo 'message' | msmtp <adresse mail>

Debug

echo 'message' | msmtp --debug <adresse mail>

Haut de page

Sources

https://doc.ubuntu-fr.org/tutoriel/comment_envoyer_un_mail_par_smtp_en_ligne_de_commande

Haut de page