Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:comment_envoyer_un_mail_par_smtp_en_ligne_de_commande [Le 21/08/2009, 20:10] kerkael |
tutoriel:comment_envoyer_un_mail_par_smtp_en_ligne_de_commande [Le 17/02/2023, 16:15] (Version actuelle) 84.14.209.116 [Configurations particulières] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>8.10 intrepid réseau internet mail tutoriel brouillon}} | + | {{tag>Xenial réseau internet courriel tutoriel BROUILLON}} |
- | ====== Comment envoyer un mail par SMTP en ligne de commande ====== | + | |
- | ====== Et envoyer l'IP de sa box automatiquement ====== | + | ---- |
- | ===== Comment envoyer un mail par SMTP en ligne de commande ===== | + | |
+ | ====== Comment envoyer un courriel par smtp en ligne de commande ====== | ||
+ | * Il n'est pas nécessaire de surcharger son système d'applications serveur pour l'envoi de courriel. La solution la plus simple est l'utilisation d'un client smtp. | ||
+ | * Envoyer automatiquement des informations par courriel peut être utile, par exemple, pour récupérer l'IP externe de sa box. Voir le tuto [[tutoriel:Comment_envoyer_l_IP_de_sa_box_automatiquement_par_courriel]]. | ||
+ | ===== Utilisation de msmtp ===== | ||
==== Installation ==== | ==== Installation ==== | ||
- | [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt://msmtp|msmtp]]**. | + | |
+ | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt://msmtp|msmtp]]**. | ||
Si vous aviez déjà installé des paquets désormais inutiles, un petit rappel sur [[:tutoriel:comment_supprimer_un_paquet|la suppression d'un paquet]]. | Si vous aviez déjà installé des paquets désormais inutiles, un petit rappel sur [[:tutoriel:comment_supprimer_un_paquet|la suppression d'un paquet]]. | ||
+ | |||
+ | <note>Ce tutoriel se base sur l'utilisation de msmtp. Il existe bien sûr d'autres solutions pour envoyer des courriels en ligne de commande. ssmtp propose les mêmes fonctionnalités en se basant sur un fichier de configuration très semblable, par exemple.</note> | ||
==== Configuration ==== | ==== Configuration ==== | ||
- | * [[:tutoriel:comment_editer_un_fichier|Editer/créer le fichier]].msmtp dans le home directory, depuis son propre compte. | + | |
+ | * [[:tutoriel:comment_modifier_un_fichier|Créez et ouvrez le fichier]] **~/.msmtprc** (dans votre dossier personnel). | ||
<note important>Ne pas utiliser de commande sudo. C'est bien l'utilisateur qui envoie les mails.</note> | <note important>Ne pas utiliser de commande sudo. C'est bien l'utilisateur qui envoie les mails.</note> | ||
- | <file>nano .msmtp</file> | + | <code bash>nano ~/.msmtprc</code> |
account default | account default | ||
host smtp.monfai.fr | host smtp.monfai.fr | ||
Ligne 24: | Ligne 33: | ||
* Dissimuler ce fichier qui contient votre mot de passe en clair | * Dissimuler ce fichier qui contient votre mot de passe en clair | ||
- | <file>chmod 600 .msmtp</file> | + | <code bash>chmod 600 ~/.msmtprc</code> |
+ | == Configurations spécifiques (en fin de tuto) == | ||
+ | <note> | ||
+ | **Remarques :** | ||
+ | * la configuration de msmtp peut être beaucoup plus pointue, //man// et //documentation// peuvent vous aider. | ||
+ | </note> | ||
+ | * Pour avoir plusiers comptes configurés: | ||
+ | il suffit de rajouter une ligne account //NomDuCompte// suivi de la configuration propre à ce compte. | ||
+ | |||
+ | __exemple__: | ||
+ | |||
+ | <file> | ||
+ | account celuidelaposte | ||
+ | host smtp.laposte.net | ||
+ | from user@laposte.net | ||
+ | tls on | ||
+ | tls_certcheck off | ||
+ | tls_starttls off | ||
+ | auth on | ||
+ | user user@laposte.net | ||
+ | password motdepasse | ||
+ | </file> | ||
+ | |||
+ | Pour utiliser un compte plutôt que celui par défaut (//default//), on utilisera l'option -a: | ||
+ | |||
+ | //echo "bonjour, je viens d'un autre compte" | msmtp **-a** celuidelaposte toto@univers.net// | ||
+ | |||
+ | * fichier .msmtprc pour [[tutoriel:comment_envoyer_un_mail_par_smtp_en_ligne_de_commande#gmail|gmail]]. | ||
==== Utilisation ==== | ==== Utilisation ==== | ||
* Pour envoyer le contenu d'un fichier texte comme message: | * Pour envoyer le contenu d'un fichier texte comme message: | ||
- | <file>cat readme.txt | msmtp johnny@liday.ch</file> | + | <code bash>cat readme.txt | msmtp johnny@liday.ch</code> |
* Pour envoyer un fichier binaire, ou compressé en pièce jointe : | * Pour envoyer un fichier binaire, ou compressé en pièce jointe : | ||
- | <file>uuencode application.zip | msmtp johnny@liday.ch</file> | + | <code bash>uuencode application.zip | msmtp johnny@liday.ch</code> |
+ | <note tip>Pour préciser le sujet du mail, il faut utiliser Subject://DeQuoiOnParle// en tête de message. | ||
+ | Donc si on envoie un fichier readme.txt, à moins qu'il commence par Subject:... le message n'aura pas de sujet | ||
- | ---- | + | **Attention**: il faut alors un saut de ligne; une solution simple est d'utiliser //printf// plutôt que //echo//. |
+ | Exemple: <code bash>printf "Subject:DeQuoiOnParle\nLeCorpsDuMessage" | msmtp johnny@liday.ch</code></note> | ||
- | ====== Envoyer l'IP de sa box automatiquement ====== | + | <note important>Ne pas oublier les tags ci dessous en début de votre message électronique sans quoi il ne sera pas forcement accepté par [[http://mail.google.com|gmail]] ou autre (non respect de la RFC2822)</note> |
- | ===== Installation ===== | + | From: mon-adresse@domaine.xx |
- | S'il vous manque GET [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt://GET|GET]]** | + | To: adresse-destination@domaine.xx |
+ | subject: le sujet de l'Email | ||
+ | |||
+ | le corps du texte commence à cette ligne (laisser une ligne blanche) | ||
+ | ==== Vérification ==== | ||
+ | * Depuis votre client de messagerie, vérifiez que vous avez bien reçu le message attendu | ||
- | ===== Récupérer l'IP externe de sa box ===== | ||
- | <file>GET whatismyip.org</file> | ||
- | * Cette commande renvoie des erreurs une fois sur deux, donc on va la lancer 2 ou 3 fois dans un script et récupérer l'IP dans un fichier. | ||
- | <file>nano getip</file> | ||
- | GET whatismyip.org > .myip | ||
- | echo "" >> .myip | ||
- | sleep 1 | ||
- | GET whatismyip.org >> .myip | ||
- | echo "" >> .myip | ||
- | sleep 1 | ||
- | GET whatismyip.org >> .myip | ||
- | echo "" >> .myip | ||
- | <file>cat .myip</file> | ||
- | 92.122.18.135 | ||
- | 92.122.18.135 | ||
- | 92.122.18.135 | ||
- | ===== Envoyer son IP de box à son courriel au bureau ===== | + | ==== Configurations particulières ==== |
- | * On a vu cela juste avant : | + | === gmail === |
- | <file>cat .myip | msmtp johnny@bureau.ovale.to</file> | + | [[http://mail.google.com|gmail]] impose l'utilisation d'une couche [[wpfr>Transport_Layer_Security|TLS]]. La configuration doit le prendre en compte de cette façon : |
- | ===== Automatiser l'envoi de son IP de box vers le bureau ===== | + | <file>~/.msmtprc</file> |
- | * Modifier le script getip pour qu'il intègre la commande msmtp : | + | account default |
- | <file>nano getip</file> | + | tls on |
- | GET whatismyip.org > .myip | + | host smtp.gmail.com |
- | echo "" >> .myip | + | port 587 |
- | sleep 1 | + | from nom_user@gmail.com |
- | GET whatismyip.org >> .myip | + | auth on |
- | echo "" >> .myip | + | user nom_user |
- | sleep 1 | + | password password_user |
- | GET whatismyip.org >> .myip | + | tls_starttls on |
- | echo "" >> .myip | + | tls_certcheck on |
- | cat .myip | msmtp johnny@bureau.ovale.to | + | tls_trust_file /etc/ssl/certs/ca-certificates.crt |
+ | |||
+ | La dernière ligne est spécifique aux systèmes basés sur debian. Elle pointe vers le fichier où sont stockés l'ensemble des certificats racine de conficance du système (cf : [[http://msmtp.sourceforge.net/doc/msmtp.html|manuel]]) | ||
+ | === gmail - non sécurisé === | ||
+ | Il est aussi tout simplement possible de ne pas vérifier le certificat serveur est désactivant tls_certcheck. Ceci est non-recommandé car sensible à une attaque de type [[wpfr>Attaque_de_l'homme_du_milieu|MiM]] | ||
+ | |||
+ | <file>~/.msmtprc</file> | ||
+ | account default | ||
+ | tls on | ||
+ | host smtp.gmail.com | ||
+ | port 587 | ||
+ | from nom_user@gmail.com | ||
+ | auth on | ||
+ | user nom_user | ||
+ | password password_user | ||
+ | tls_starttls off | ||
+ | tls_certcheck off | ||
+ | |||
+ | === Orange sécurisé === | ||
+ | L'opérateur historique Orange fonctionne avec [[wpfr>Transport_Layer_Security|TLS]] de la façon suivante (20/11/2015): | ||
+ | |||
+ | <file>~/.msmtprc</file> | ||
+ | account default | ||
+ | host smtp.orange.fr | ||
+ | protocol smtp | ||
+ | auth login | ||
+ | tls on | ||
+ | tls_starttls off | ||
+ | tls_certcheck on | ||
+ | tls_trust_file /etc/ssl/certs/ca-certificates.crt | ||
+ | from mon-adresse@orange.fr | ||
+ | maildomain orange.fr | ||
+ | port 465 | ||
+ | user mon-adresse | ||
+ | password mon-motdepasse | ||
+ | |||
+ | === gandi.net === | ||
+ | Paramétrage pour l’utilisation de l'adresse fournie avec les noms de domaines achetés avec gandi.net | ||
+ | <file>~/.msmtprc</file> | ||
+ | account default | ||
+ | host mail.gandi.net | ||
+ | from <adresse de l'émetteur> | ||
+ | tls on | ||
+ | tls_certcheck off | ||
+ | tls_starttls off | ||
+ | auth on | ||
+ | user <adresse Gandi/nom d'utilisateur utilisé pour se connecter à la boîte aux lettres électronique Gandi> | ||
+ | password <mot de passe boîte aux lettres électronique> | ||
+ | | ||
+ | === Free === | ||
+ | Paramétrage utilisé pour la messagerie Free (testé février 2023 sur Ubuntu Server 22.04) | ||
+ | <file>~/.msmtprc</file> | ||
+ | account default | ||
+ | host smtp.free.fr | ||
+ | from <adressemail>@free.fr | ||
+ | auto_from off | ||
+ | add_missing_from_header on | ||
+ | auth on | ||
+ | port 587 | ||
+ | user <adressemail>@free.fr | ||
+ | password <mot_de_passe> | ||
+ | tls on | ||
+ | tls_starttls on | ||
+ | tls_trust_file /etc/ssl/certs/ca-certificates.crt | ||
+ | |||
+ | ===== Références ===== | ||
+ | * Le site officiel de msmtp : [[http://msmtp.sourceforge.net/]] | ||
+ | ----------------- | ||
+ | Contributeurs : [[:utilisateurs:kerkael]] création de la page le 21/08/2009, simtris MAJ de la configuration de Gmail le 17/05/2010 |