Comment envoyer une mail via un script sur linux ?

cyril
Site Admin
Messages : 47
Inscription : 29 mars 2021, 21:50

Comment envoyer une mail via un script sur linux ?

Message par cyril »

Bonjour,

J'ai souvent eu du mal a trouver comment envoyer des mails a partir de mes serveurs linux.

Quand enfin j'ai trouvé... MSMTP

J'ai utilisé pour réaliser ce tuto un compte GMAIL.

Il faut en premier lieu générer des identifiants d'application dans la partie sécurité de votre compte google, pour ce faire, aller sur https://www.google.com/ puis sur votre photo en haut a droite puis dans l'onglet sécurité et pour finir sélectionner dans la liste déroulante au milieu Autre puis donner un nom qui vous parle. un mot de passe vous sera communiqué. Notez-le bien dans une note sécurisée car vous ne pourrez plus le récupérer, vous devrez en créer un autre.

Puis sur votre machine, installer msmtp

Code : Tout sélectionner

sudo apt install msmtp msmtp-mta
Ensuite créer un fichier .msmtprc dans le profile de l'utilisateur avec lequel vous souhaitez envoyer des mails.

Voici un exemple de contenu de ce fichier

Code : Tout sélectionner

# 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           username@gmail.com
user           username
password       XXXXXXXXXX

# Exemple pour un compte GMX
account        gmx
host           mail.gmx.com
port           587
from           username@gmx.com
user           username@gmx.com
password       XXXXXXXXXX
tls_nocertcheck

# Exemple pour un compte OVH
account        ovh
host           XXXXXX.ovh.net
port           465
from           username@example.com
user           username@example.com
password       XXXXXXXXXX

# Exemple pour un compte Infomaniak
account        infomaniak
host           mail.infomaniak.com
port           587
from           username@example.com
user           username@example.com
password       XXXXXXXXXX

# Exemple pour un serveur de test MailHog
account        mailhog
auth           off
tls            off
tls_starttls   off
host           localhost
port           1024
from           username@example.com

# Définir le compte par défaut
account default : gmail
Ensuite, vous pouvez utiliser la commande suivant

Code : Tout sélectionner

echo "Corps de mail" | mail -s "Sujet" -a "From: email@alcazar.ovh" destinataire@alcazar.ovh
Parfois, il est nécessaire de modifier les droits du fichier de configuration

Code : Tout sélectionner

chmod 600 .msmtprc


Source :
https://doc.ubuntu-fr.org/msmtp
https://www.linuxtricks.fr/wiki/ssmtp-m ... e-commande
Répondre