Comment envoyer une mail via un script sur linux ?
Publié : 19 avr. 2021, 20:46
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
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
Ensuite, vous pouvez utiliser la commande suivant
Parfois, il est nécessaire de modifier les droits du fichier de configuration
Source :
https://doc.ubuntu-fr.org/msmtp
https://www.linuxtricks.fr/wiki/ssmtp-m ... e-commande
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-mtaVoici 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
Code : Tout sélectionner
echo "Corps de mail" | mail -s "Sujet" -a "From: email@alcazar.ovh" destinataire@alcazar.ovhCode : Tout sélectionner
chmod 600 .msmtprcSource :
https://doc.ubuntu-fr.org/msmtp
https://www.linuxtricks.fr/wiki/ssmtp-m ... e-commande