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 | ||
|
msmtp [Le 12/01/2020, 12:41] 82.251.241.242 [Configuration] |
msmtp [Le 22/07/2024, 15:11] (Version actuelle) 80.67.176.205 [Test de fonctionnement] |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>Bionic Xenial BROUILLON}} | + | {{tag>Bionic Xenial Focal MTA }} |
| - | ---- | + | |
| ====== MSMTP ====== | ====== MSMTP ====== | ||
| + | |||
| **msmtp** est un client [[https://fr.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol|SMTP]] très simple et facile à configurer pour l'envoi de courriels. \\ | **msmtp** est un client [[https://fr.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol|SMTP]] très simple et facile à configurer pour l'envoi de courriels. \\ | ||
| Son mode de fonctionnement par défaut consiste à transférer les courriels au serveur SMTP que vous aurez indiqué dans sa configuration. Ce dernier se chargera de distribuer les courriels à leurs destinataires.\\ | Son mode de fonctionnement par défaut consiste à transférer les courriels au serveur SMTP que vous aurez indiqué dans sa configuration. Ce dernier se chargera de distribuer les courriels à leurs destinataires.\\ | ||
| Il est entièrement compatible avec sendmail, prend en charge le transport sécurisé TLS, les comptes multiples, diverses méthodes d’authentification et les notifications de distribution.\\ | Il est entièrement compatible avec sendmail, prend en charge le transport sécurisé TLS, les comptes multiples, diverses méthodes d’authentification et les notifications de distribution.\\ | ||
| - | **msmtp** est la solution idéale si vous avez besoin que votre serveur vous envoie les courriels de notifications (taches [[cron|Programmer des tâches avec CRON]], [[logwatch|Logwatch]] ou autre) sans avoir à mettre en place une solution lourde comme [[postfix|Postfix : agent de transfert de courriel (SMTP)]].\\ | + | **msmtp** est la solution idéale si vous avez besoin que votre serveur vous envoie les courriels de notifications (taches [[cron|Programmer des tâches avec CRON]], [[logwatch|Logwatch]] ou autre) sans avoir à mettre en place une solution plus lourde comme: |
| + | * [[:postfix_systeme_satellite]] | ||
| + | * [[:exim4-satellite]] | ||
| ===== Pré-requis ===== | ===== Pré-requis ===== | ||
| Ligne 15: | Ligne 17: | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - | Pour installer ce logiciel, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt>msmtp,msmtp-mta,paquet3|msmtp msmtp-mta]]**. | + | Pour installer ce logiciel, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt>msmtp]]** et **[[apt>msmtp-mta]]**. |
| Soit en ligne de commande : | Soit en ligne de commande : | ||
| <code>sudo apt install msmtp msmtp-mta</code> | <code>sudo apt install msmtp msmtp-mta</code> | ||
| - | + | Valider la proposition de non-acceptation de [[https://doc.ubuntu-fr.org/apparmor|apparmor]] : | |
| + | |||
| + | {{:applications:msmtp:msmtp1.png?400|}} | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| - | Pour configurer l'envoi de courriels au niveau du système, [[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] **/etc/msmtprc** en modification puis renseignez les paramètres de connexion à votre compte de courriel en vous inspirant de l'exemple ci-dessous : | + | Pour configurer l'envoi de courriels au niveau du système, [[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] **/etc/msmtprc** en modification (A créer s'il n'existe pas ) puis renseignez les paramètres de connexion à votre compte de courriel en vous inspirant de l'exemple ci-dessous : |
| <file> | <file> | ||
| # Valeurs par défaut pour tous les comptes. | # Valeurs par défaut pour tous les comptes. | ||
| Ligne 30: | Ligne 35: | ||
| tls_starttls on | tls_starttls on | ||
| tls_trust_file /etc/ssl/certs/ca-certificates.crt | tls_trust_file /etc/ssl/certs/ca-certificates.crt | ||
| - | logfile /var/log/msmtp.log | + | logfile /var/log/msmtp |
| # Exemple pour un compte Gmail | # Exemple pour un compte Gmail | ||
| Ligne 39: | Ligne 44: | ||
| from username@gmail.com | from username@gmail.com | ||
| user username | user username | ||
| - | password plain-text-password | + | 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 MX PLAN | ||
| + | account ovh | ||
| + | auth on | ||
| + | tls on | ||
| + | tls_starttls off | ||
| + | host ssl0.ovh.net | ||
| + | port 465 | ||
| + | from username@example.com | ||
| + | user username@example.com | ||
| + | password XXXXXXXXXX | ||
| + | |||
| + | |||
| + | # Exemple pour un compte OVH E-MAIL PRO | ||
| + | account ovh | ||
| + | host proX.mail.ovh.net | ||
| + | port 587 | ||
| + | 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 | ||
| + | |||
| + | # Exemple pour riseUP | ||
| + | account riseup | ||
| + | tls on | ||
| + | auth on | ||
| + | host smtp.riseup.net | ||
| + | port 587 | ||
| + | from me@riseup.net | ||
| + | user me@riseup.net | ||
| + | password xxx | ||
| + | |||
| + | # Exemple pour free. L'utilisation du port 25 est une liaison non sécurisée nécessitant d'installer aussi bsd-mailx | ||
| + | account free1 | ||
| + | tls off | ||
| + | auth off | ||
| + | port 25 | ||
| + | host smtp.free.fr | ||
| + | from Me1@free.fr | ||
| + | user You@free.fr | ||
| + | password Celui définit dans la messagerie free pour Me1 | ||
| + | |||
| + | account free2 | ||
| + | auth off | ||
| + | port 587 | ||
| + | host smtp.free.fr | ||
| + | from Me2@free.fr | ||
| + | user You@free.fr | ||
| + | password Celui définit dans la messagerie free pour Me2 | ||
| # Définir le compte par défaut | # Définir le compte par défaut | ||
| account default : gmail | account default : gmail | ||
| </file> | </file> | ||
| + | |||
| + | <note tip> | ||
| + | Pour OVH dans les paramètres généraux, pensez à désactiver starttls (sauf si vous utilisez une solution E-MAIL PRO) : | ||
| + | <file> tls_starttls off </file> </note> | ||
| + | |||
| 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 : | 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 : | ||
| <code>chmod 600 .msmtprc</code> | <code>chmod 600 .msmtprc</code> | ||
| + | |||
| + | |||
| <note tip> | <note tip> | ||
| Ligne 57: | Ligne 143: | ||
| lrwxrwxrwx 1 root root 12 nov. 28 2016 /usr/sbin/sendmail -> ../bin/msmtp | lrwxrwxrwx 1 root root 12 nov. 28 2016 /usr/sbin/sendmail -> ../bin/msmtp | ||
| </code> | </code> | ||
| + | Si ce n'est pas le cas, [[:tutoriel:comment_installer_un_paquet|réinstallez le paquet]] **[[apt>msmtp-mta]]**. | ||
| </note> | </note> | ||
| + | ===== Usage en crontab ===== | ||
| + | |||
| + | Certaines lignes ne sont pas obligatoires, comme **CRONARGS**, mais ça ne fait pas de mal. | ||
| + | |||
| + | <file> | ||
| + | CRONARGS=-m/usr/bin/msmtp | ||
| + | MAILTO=toi@fournisseur-de-mail.tld | ||
| + | MAILFROM=toi@fournisseur-de-mail-renseigne-dans-msmtp.tld | ||
| + | # m h dom mon dow command | ||
| + | |||
| + | 10 * * * * command_X | ||
| + | </file> | ||
| ===== Test de fonctionnement ===== | ===== Test de fonctionnement ===== | ||
| - | |||
| - | <code>echo 'message' | mail user@domain.com</code> | ||
| - | Si cela ne fonctionne pas, essayer : | + | <code>printf "Subject:DeQuoiOnParle\n\nLeCorpsDuMessage" | msmtp user@domain.com</code> |
| + | **Erreur de retour possible:** "msmtp: le serveur ne supporte pas l'authentification" | ||
| - | <code>echo 'message' | msmtp user@domain.com</code> | + | Si cela ne fonctionne pas, installez le paquet ** [[apt>mailutils|mailutils]]**, puis faite cette commande. |
| + | <code>printf "Subject:DeQuoiOnParle\n\nLeCorpsDuMessage" | msmtp user@domain.com</code>**Erreur de retour possible:** "mail: impossible d'expédier le message : Processus terminé avec un état de sortie non nul" | ||
| Vérifier sa boîte de réception. | Vérifier sa boîte de réception. | ||
| - | + | ||
| + | <note tip> | ||
| + | Si la commande ''mail'' ne fonctionne pas, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>bsd-mailx]]** : | ||
| + | <code>sudo apt install bsd-mailx</code> | ||
| + | </note> | ||
| + | <note tip> | ||
| + | Si vous recevez ce message d'erreur : | ||
| + | ''send-mail: impossible d'écrire dans le journal /var/log/msmtp.log : erreur d'ouverture de fichier: Permission non accordée'' peut-être avez-vous sélectionné "Oui" sur l'écran **AppArmor** ? Dans ce cas, il faut désactiver la prise en charge de msmtp en faisant : | ||
| + | <code>sudo ln -s /etc/apparmor.d/usr.bin.msmtp /etc/apparmor.d/disable/ | ||
| + | sudo apparmor_parser -R /etc/apparmor.d/usr.bin.msmtp</code> | ||
| + | Si ce n'est pas le cas, la solution est [[http://blogettrux.free.fr/index.php?2020/11/23/22/00/09-config-msmtp | résumée sur cette page en français.]] et [[https://askubuntu.com/questions/878288/msmtp-cannot-write-to-var-log-msmtp-msmtp-log| précisée sur sa source en anglais ]] | ||
| + | Testé avec succès sur Ubuntu 20.04. | ||
| + | |||
| + | Il peut aussi être utile d'ajouter l'utilisateur au groupe msmtp et reconnecter. | ||
| + | <code>sudo adduser $USER msmtp | ||
| + | exit</code> | ||
| + | </note> | ||
| ===== Désinstallation ===== | ===== Désinstallation ===== | ||