Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ssmtp [Le 08/03/2018, 15:56]
krodelabestiole [En Ligne de commande]
ssmtp [Le 02/03/2023, 00:21] (Version actuelle)
sefran Ajout tag
Ligne 1: Ligne 1:
-{{tag>​Xenial serveur mail courriel}}+{{tag>​Xenial serveur mail courriel ​vetuste MTA}}
 ---- ----
  
 ====== ssmtp ====== ====== ssmtp ======
 +
 +<note warning>
 +**ssmtp** n'est plus actif depuis 2013. Nous vous conseillons vivement d'​utiliser une alternative comme [[:msmtp]].
 +</​note>​
  
 **ssmtp** permet à des applications d'​envoyer des courriels via la commande ''/​usr/​sbin/​sendmail''​. Contrairement à [[:​postfix]],​ il ne fait que rediriger les courriers vers un serveur SMTP externe. C'est donc un outil très léger et rapide, et qui ne demande que très peu de paramétrage. **ssmtp** permet à des applications d'​envoyer des courriels via la commande ''/​usr/​sbin/​sendmail''​. Contrairement à [[:​postfix]],​ il ne fait que rediriger les courriers vers un serveur SMTP externe. C'est donc un outil très léger et rapide, et qui ne demande que très peu de paramétrage.
Ligne 18: Ligne 22:
 Si vous n'avez rien, l'​installation et la configuration de ssmtp vous permettra d'​utiliser sendmail. Si vous n'avez rien, l'​installation et la configuration de ssmtp vous permettra d'​utiliser sendmail.
  
-===== Alternatives ​=====+===== Méthodes alternatives ​=====
  
   * Pour envoyer un courriel en ligne de commande consultez cette [[:​tutoriel:​comment_envoyer_un_mail_par_smtp_en_ligne_de_commande|page]].   * Pour envoyer un courriel en ligne de commande consultez cette [[:​tutoriel:​comment_envoyer_un_mail_par_smtp_en_ligne_de_commande|page]].
Ligne 56: Ligne 60:
 ===La configuration de root=== ===La configuration de root===
  
-<​file>#​ Config file for sSMTP sendmail+<​file>#​Config file for sSMTP sendmail
 # #
-# Tous les utilisateurs avec un uid < 1000 enverront un courriel avec ce nom +#Tous les utilisateurs avec un uid < 1000 enverront un courriel avec ce nom 
-# Laissez vide ou commentez la ligne pour déactiver la réécriture+#Laissez vide ou commentez la ligne pour déactiver la réécriture
 root=votre_identifiant@fournisseur.com</​file>​ root=votre_identifiant@fournisseur.com</​file>​
 Vous pouvez mettre ici votre adresse de courriel. Vous pouvez mettre ici votre adresse de courriel.
 ===La configurationd'​AuthUser=== ===La configurationd'​AuthUser===
-<note help>Ce paramètre, tout comme le suivant (AuthPass=) n'est pas présent par défaut dans le fichier de configuration,​ rajoutez-le après root=identifiant@fournisseur.com par exemple, mais ne le mettez pas à la fin du fichier sinon dans les logs (var/​log/​mail.log) ou dans le terminal vous pourrez avoir le message d'​erreur suivant ​+<note help>Ce paramètre, tout comme le suivant (AuthPass=) n'est pas présent par défaut dans le fichier de configuration,​ rajoutez-le après root=identifiant@fournisseur.com par exemple, mais ne le mettez pas à la fin du fichier sinon dans les logs (var/​log/​mail.log) ou dans le terminal vous pourrez avoir le message d'​erreur suivant
 <​code>​send-mail:​ Authorization failed (535 5.7.0 authentication failed) <​code>​send-mail:​ Authorization failed (535 5.7.0 authentication failed)
 Can't send mail: sendmail process failed with error code 1</​code></​note>​ Can't send mail: sendmail process failed with error code 1</​code></​note>​
-<​file>#​ Nom d'​utilisateur du compte email avec lequel vous envoyez les courriels+<​file>#​Nom d'​utilisateur du compte email avec lequel vous envoyez les courriels
 AuthUser=votre_identifiant@fournisseur.com</​file>​ AuthUser=votre_identifiant@fournisseur.com</​file>​
 Mettez donc l'​identifiant qui vous permet d'​accéder à la boîte de messagerie. Cela peut être du type votre_identifiant@fournisseur.com OU votre_identifiant OU votre_identifiant+fournisseur.com (remplacez @ par +). Pour info, le choix entre les 3 possibilités dépend de la configuration du serveur smtp. Par exemple, pour moi, ça a fonctionné avec votre_identifiant@fournisseur.com. Mettez donc l'​identifiant qui vous permet d'​accéder à la boîte de messagerie. Cela peut être du type votre_identifiant@fournisseur.com OU votre_identifiant OU votre_identifiant+fournisseur.com (remplacez @ par +). Pour info, le choix entre les 3 possibilités dépend de la configuration du serveur smtp. Par exemple, pour moi, ça a fonctionné avec votre_identifiant@fournisseur.com.
 ===Configuration d'​AuthPass=== ===Configuration d'​AuthPass===
-<​file>#​ Mot de passe de ce même compte+<​file>#​Mot de passe de ce même compte
 AuthPass=le_mot_de_passe_utilisé_pour_votre_identifiant@fournisseur.com</​file>​ AuthPass=le_mot_de_passe_utilisé_pour_votre_identifiant@fournisseur.com</​file>​
 Mettez ici votre mot de passe. Mettez ici votre mot de passe.
Ligne 79: Ligne 83:
 sudo chown root:mail /​usr/​sbin/​ssmtp /​etc/​ssmtp{,/​{ssmtp.conf,​revaliases}} sudo chown root:mail /​usr/​sbin/​ssmtp /​etc/​ssmtp{,/​{ssmtp.conf,​revaliases}}
 sudo chmod 2711 /​usr/​sbin/​ssmtp sudo chmod 2711 /​usr/​sbin/​ssmtp
-sudo chmod o-rwx /etc/ssmtp /​etc/​ssmtp/​ssmtp.conf;​ # 0750, 0640+sudo chmod o-rwx /etc/ssmtp /​etc/​ssmtp/​ssmtp.conf;​ #0750, 0640
 sudo dpkg-statoverride --add root mail 2711 /​usr/​sbin/​ssmtp sudo dpkg-statoverride --add root mail 2711 /​usr/​sbin/​ssmtp
 sudo dpkg-statoverride --add root mail 0750 /etc/ssmtp sudo dpkg-statoverride --add root mail 0750 /etc/ssmtp
Ligne 88: Ligne 92:
 === Configuration de mailhub=== === Configuration de mailhub===
  
-<​file>#​ The place where the mail goes. The actual machine name is required no  +<​file>#​The place where the mail goes. The actual machine name is required no 
-# MX records are consulted. Commonly mailhosts are named mail.domain.com+#MX records are consulted. Commonly mailhosts are named mail.domain.com
 mailhub=mail.fournisseur.com:​587</​file>​ mailhub=mail.fournisseur.com:​587</​file>​
  
-Mettez ici le serveur SMTP que vous allez utiliser, de cette manière ssmtp saura où faire parvenir vos courriels (cf. Prérequis si vous ne savez pas quel est le votre). Les chiffres après les deux points indiquent le port qui va être utilisé lors du contact du serveur smtp. 465 serait ​le port standard pour les connections ​SMPTP protégées par TLS et SSL (cf. plus bas). Pour utiliser des connections non cryptées vous pouvez mettre 25 (le port par defaut) ou 587 si par exemple votre FAI bloque le port 25 (mais selon votre fournisseur de service de messagerie, les ports 25 ou 587 peuvent aussi utiliser TLS).+Mettez ici le serveur SMTP que vous allez utiliser, de cette manière ssmtp saura où faire parvenir vos courriels (cf. Prérequis si vous ne savez pas quel est le votre). Les chiffres après les deux points indiquent le port qui va être utilisé lors du contact du serveur smtp. 465 est le port standard pour les connections ​SMTP protégées par TLS et SSL (cf. plus bas). Pour utiliser des connections non cryptées vous pouvez mettre 25 (le port par defaut) ou 587 si par exemple votre FAI bloque le port 25 (mais selon votre fournisseur de service de messagerie, les ports 25 ou 587 peuvent aussi utiliser TLS).
  
  
 === Configuration de rewriteDomain === === Configuration de rewriteDomain ===
  
-<​file>#​ Where will the mail seem to come from?+<​file>#​Where will the mail seem to come from?
 rewriteDomain=fournisseur.com</​file>​ rewriteDomain=fournisseur.com</​file>​
  
Ligne 105: Ligne 109:
 === Configuration de hostname === === Configuration de hostname ===
  
-<​file>#​ The full hostname+<​file>#​The full hostname
 hostname=nom_de_votre_ordinateur.domain</​file>​ hostname=nom_de_votre_ordinateur.domain</​file>​
  
Ligne 114: Ligne 118:
 === Configuration de FromLineOverride === === Configuration de FromLineOverride ===
  
-<​file>#​ Are users allowed to set their own From: address? +<​file>#​Are users allowed to set their own From: address? 
-# YES - Allow the user to specify their own From: address +#YES - Allow the user to specify their own From: address 
-# NO - Use the system generated From: address+#NO - Use the system generated From: address
 FromLineOverride=YES</​file>​ FromLineOverride=YES</​file>​
  
-Mettre YES permet au programme qui envoie un courriel de modifier l'​entête du message ​concernant l'​émetteur.+Mettre YES permet au programme qui envoie un courriel de modifier ​l'​expéditeur dans l'​entête du message.
  
-<​file>​ +=== Sécurité === 
-# Utilisation d'une connexion sécurisée SSL/TLS (décommenter pour activer)+<​file>#​Utilisation d'une connexion sécurisée SSL/TLS (décommenter pour activer)
 #​UseTLS=YES</​file>​ #​UseTLS=YES</​file>​
  
-Décommenter ​UseTLS=YES permet ​d'​encrypter ​la connexion au serveur SMTP et de protéger votre nom d'​utilisateur et mot de passe.+Une valeur //UseTLS=YES// (pour SSL/TLS) ou //​UseSTARTTLS=YES//​ (pour STARTTLS) ​permet ​de chiffrer ​la connexion au serveur SMTP et de protéger votre nom d'​utilisateur et mot de passe.
  
 <note important>​Si lors d'un envoi de courriels avec le terminal ou dans les logs (var/​log/​mail.log) vous voyez <​code>​send-mail:​ Connection lost in middle of processing <note important>​Si lors d'un envoi de courriels avec le terminal ou dans les logs (var/​log/​mail.log) vous voyez <​code>​send-mail:​ Connection lost in middle of processing
-Can't send mail: sendmail process failed with error code 1</​code>,​ c'est peut être lié à un problème d'​utilisation de TLS. Commenter UseTLS=YES peut permettre de résoudre le problème. ​+Can't send mail: sendmail process failed with error code 1</​code>,​ c'est peut être lié à un problème d'​utilisation de TLS. Commenter UseTLS=YES peut permettre de résoudre le problème.
 </​note>​ </​note>​
-<note important>​UseTLS ne fonctionnerait pas avec authsmtp, seulement UseSTARTTLS fonctionnerait. Vous pouvez donc essayer UseSTARTTLS=YES au lieu de UseTLS=YES cf. https://​cloud-support.engineyard.com/​faqs/​questions/​ssmtp </​note>​ 
  
-<note tip>Un exemple de fichier ssmtp.conf fonctionnel avec GMAIL dont l'​adresse électronique est <​pierre.kiroul@gmail.com>​ et le mot de passe <​123poireau>​ : +=== Exemple === 
-<​code>​ + 
-root=pierre.kiroul@gmail.com ​           # Your email address+Un exemple de fichier ssmtp.conf fonctionnel avec GMAIL dont l'​adresse électronique est <​pierre.kiroul@gmail.com>​ et le mot de passe <​123poireau>​ : 
 +<​code>​root=pierre.kiroul@gmail.com ​           #Your email address
 UseSTARTTLS=YES UseSTARTTLS=YES
-mailhub=smtp.gmail.com:​587 ​           # Address and port number to send mail to +mailhub=smtp.gmail.com:​587 ​           #Address and port number to send mail to 
-AuthUser=pierre.kiroul@gmail.com ​  # Your Username +AuthUser=pierre.kiroul@gmail.com ​  #Your Username 
-AuthPass=123poireau ​                      # Your Password +AuthPass=123poireau ​                      #Your Password 
-rewriteDomain= ​                                # So the message appears to come from FAI +rewriteDomain= ​                                #So the message appears to come from FAI 
-FromLineOverride=YES ​                   # So the message appears to come from FAI +FromLineOverride=YES ​                   #So the message appears to come from FAI 
-hostname=pierre.kiroul@gmail.com ​ # Hostname: use hostname -f in a Terminal +hostname=pierre.kiroul@gmail.com ​ #Hostname: use hostname -f in a Terminal</​code>​ 
-</​code>​ +et pour OVH : 
-</note>+<​code>​AuthUser=utilisateur@domaine.com 
 +AuthPass=##########​ 
 +mailhub=ssl0.ovh.net:​465 
 +UseTLS=Yes 
 +FromLineOverride=YES</code>
 ==== Configuration de revaliases ==== ==== Configuration de revaliases ====
  
Ligne 149: Ligne 157:
 Passons maintenant au deuxième et dernier fichier à éditer. [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] le fichier **/​etc/​ssmtp/​revaliases** avec les [[:​sudo|droits d'​administration]],​ et appliquez les modifications suivantes :​ Passons maintenant au deuxième et dernier fichier à éditer. [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] le fichier **/​etc/​ssmtp/​revaliases** avec les [[:​sudo|droits d'​administration]],​ et appliquez les modifications suivantes :​
  
-<​file>#​ sSMTP aliases +<​file>#​sSMTP aliases 
-#  +
-# Format:​ local_account:​outgoing_address:​mailhub+#​Format:​ local_account:​outgoing_address:​mailhub
 # #
-# Example: root:​your_login@your.domain:​mailhub.your.domain[:​port] +#Example: root:​your_login@your.domain:​mailhub.your.domain[:​port] 
-# where [:port] is an optional port number that defaults to 25.+#where [:port] is an optional port number that defaults to 25.
 root:​votre_identifiant@fournisseur.com:​mail.fournisseur.com:​587 root:​votre_identifiant@fournisseur.com:​mail.fournisseur.com:​587
-# Other System user: (for Apache) +#Other System user: (for Apache) 
-# www-data:​votre_identifiant@fournisseur.com:​mail.fournisseur.com:​587+#​www-data:​votre_identifiant@fournisseur.com:​mail.fournisseur.com:​587
 </​file>​ </​file>​
  
Ligne 166: Ligne 174:
 <note tip>​Exemple de fichier <​revaliases>​ fonctionnel (avec le fichier <​ssmtp.conf>​ d'​exemple ci-dessus), pour l'​utilisateur <​pierre>​ : <note tip>​Exemple de fichier <​revaliases>​ fonctionnel (avec le fichier <​ssmtp.conf>​ d'​exemple ci-dessus), pour l'​utilisateur <​pierre>​ :
 <​code>​ <​code>​
-# sSMTP aliases +#sSMTP aliases 
-#  +
-# Format:​ local_account:​outgoing_address:​mailhub+#​Format:​ local_account:​outgoing_address:​mailhub
 # #
 root:​pierre.kiroul@gmail.com:​smtp.gmail.com:​587 root:​pierre.kiroul@gmail.com:​smtp.gmail.com:​587
Ligne 175: Ligne 183:
 </​note>​ </​note>​
  
-==== Ouverture des ports ==== +==== Ouverture des ports ====
  
 Selon la configuration de votre pare-feu et/ou de votre box/​routeur,​ vous pouvez être appelé(e) à permettre le trafic sur les ports utilisés pour la messagerie. Lorsque les ports ne sont pas ouverts correctement,​ la connexion au serveur smtp est bloquée ''​mail:​ impossible d'​expédier le message : Processus terminé avec un état de sortie non nul'',​ et ssmtp enregistre un message d'​erreur dans /​var/​log/​mail.err : ''​Cannot open mail.fournisseur.com:​587''​. Selon la configuration de votre pare-feu et/ou de votre box/​routeur,​ vous pouvez être appelé(e) à permettre le trafic sur les ports utilisés pour la messagerie. Lorsque les ports ne sont pas ouverts correctement,​ la connexion au serveur smtp est bloquée ''​mail:​ impossible d'​expédier le message : Processus terminé avec un état de sortie non nul'',​ et ssmtp enregistre un message d'​erreur dans /​var/​log/​mail.err : ''​Cannot open mail.fournisseur.com:​587''​.
Ligne 199: Ligne 207:
 ==== En Ligne de commande ==== ==== En Ligne de commande ====
  
-Une fois ssmtp configuré, vous pouvez [[:​tutoriel:​comment_installer_un_paquet|installez ​le paquet]] [[apt://​mailutils|mailutils]] ou [[apt://​bsd-mailx|bsd-mailx]] et envoyer un courriel avec une des commandes suivantes :+Une fois ssmtp configuré, vous pouvez [[:​tutoriel:​comment_installer_un_paquet|installer ​le paquet]] [[apt://​mailutils|mailutils]] ou [[apt://​bsd-mailx|bsd-mailx]] et envoyer un courriel avec une des commandes suivantes :
  
-avec **//​mailutils//** +avec **//​mailutils//​** :​
-<​code>​echo "​contenu"​ | mailx -s "​test"​ email@destinataire.com</​code>​ +
- +
-avec **//​bsd-mailx//** :+
 <​code>​echo "​contenu"​ | mail -s "​test"​ email@destinataire.com</​code>​ <​code>​echo "​contenu"​ | mail -s "​test"​ email@destinataire.com</​code>​
 +
 +avec **//​bsd-mailx//​** :
 +<​code>​echo "​contenu"​ | mailx -s "​test"​ email@destinataire.com</​code>​
  
 Vous pourrez ainsi vérifier la configuration de ssmtp.conf et essayer de modifier certains paramètres sur ce dernier. Vous pourrez ainsi vérifier la configuration de ssmtp.conf et essayer de modifier certains paramètres sur ce dernier.
  
-==== Paramétrer pour LAMP (fonction mail() de PHP) ==== 
  
-Ouvrez le fichier ''/​etc/​php5/​apache2/​php.ini''​ et éditez la ligne suivante((l'​option **-l** n'est pas utilisée par ''​ssmtp''​)) : +==== Astuce pour associer un user système à une adresse mail ====
  
-<​code>​sendmail_path = /​usr/​sbin/​ssmtp ​-t</​code>​ +Il peut être intéressant que les mails adressés à un user système soit redirigé vers un vraie adresse e-mail au lieu de celle généré par ssmtp. En effet, la commande suivante enverra un mail à l'​adresse monlogin@hostname ou monlogin@rewriteddomain 
- +<​code>​ 
-et ne pas oublier de redémarrer ​le serveur PHP avec la commande: +echo "​contenu du mail" | mail -s "objet du mail" monlogin 
- +</​code>​ 
-<​code>​sudo service apache2 restart</​code>​+  
 +Pour que cette commande envoi un mail à une vraie adresse e-mail, il est nécessaire d'​avoir installer xmail. Il faut configurer ​le fichier ~/​.mailrc ​avec le contenu suivant 
 +<​code>​ 
 +alias monlogin Mon Nom<​mavraie@adresse.fr>​ 
 +</​code>​
  
 +Vous pourrez tester la commande ci-dessus, l'​effet est immédiat. Il  recevera des notifications directement sur son adresse mail.
 ===== Accéder aux logs ====== ===== Accéder aux logs ======
  
Ligne 243: Ligne 255:
 Autres liens : Autres liens :
  
-<​del>  ​* **(fr)** [[http://​www.d-sites.com/​2009/​06/​19/​utiliser-un-serveur-smtp-distant-pour-envoyer-des-mails-depuis-son-serveur/​]] ;</​del>​ (le nom de domaine est à vendre ;) ) +  ​* **(fr)** [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=137722]] Régler ssmtp pour fonctionner avec Gmail + résolutions d'​autres problèmes ; 
-  * **(fr)** [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=137722]] Régler ssmtp pour fonctionner avec Gmail + résolutions d'​autres problèmes ; +  * **(fr)** [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=217202]] Exemple de configuration.
-  * **(fr)** [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=217202]] Exemple de configuration. +
-<​del> ​ * **(en)** [[https://​cloud-support.engineyard.com/​faqs/​questions/​ssmtp]] Conseils sur la configuration de ssmtp.</​del>​ (lien mort :'( )+
  
  
  • ssmtp.1520520979.txt.gz
  • Dernière modification: Le 08/03/2018, 15:56
  • par krodelabestiole