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 06/11/2009, 07:33]
elpepe + lien tuto tutoriel/comment_envoyer_un_mail_par_smtp_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 vetuste MTA}}
-{{tag>Jaunty ​serveur ​smtp mail lampp BROUILLON}}+
 ---- ----
  
 ====== ssmtp ====== ====== ssmtp ======
  
-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.+<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.
  
 A quoi cela peut servir ? A quoi cela peut servir ?
  
-ssmtp peut permettre facilement :+ssmtp peut permettre facilement :​
  
   * à CRON, ou encore à la commande at, de publier leurs résultats ;   * à CRON, ou encore à la commande at, de publier leurs résultats ;
-  * d'​envoyer des mails via le terminal ; +  * d'​envoyer des courriels ​via le terminal ; 
-  * aux CMS et LMS d'un environnement de développement lampp d'​envoyer des courriels via sendmail (ex : tester les messages envoyés par Drupal).+  * aux CMS et LMS d'un environnement de développement lampp d'​envoyer des courriels via sendmail (ex : tester les messages envoyés par Drupal ​ou Spip).
  
 Si vous voulez savoir si vous pouvez utiliser sendmail avant cette installation,​ entrez : Si vous voulez savoir si vous pouvez utiliser sendmail avant cette installation,​ entrez :
Ligne 19: 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 mail en ligne de commande ​[[tutoriel/comment_envoyer_un_mail_par_smtp_en_ligne_de_commande]]+  * Pour envoyer un courriel ​en ligne de commande ​consultez cette [[:tutoriel:comment_envoyer_un_mail_par_smtp_en_ligne_de_commande|page]].
  
 ===== Pré-requis ===== ===== Pré-requis =====
Ligne 27: Ligne 30:
   * Disposer des [[:​sudo|droits d'​administration]].   * Disposer des [[:​sudo|droits d'​administration]].
   * Disposer d'une connexion à Internet configurée et activée.   * Disposer d'une connexion à Internet configurée et activée.
-  * Disposer d'​un ​email, connaître son mot de passe et le serveur smtp du mail.+  * Disposer d'​un ​compte de courriel, connaître son mot de passe et le serveur smtp du service de courriel.
  
-<note help>​Comment connaître le serveur smtp du mail ? Vous pouvez consulter cette page [[http://​www.arobase.org/​adresses/​serveurs.htm]] et renseigner le nom de votre fournisseur de service. Notez alors le serveur smtp et le port utilisé. Si vous ne le trouvez pas dans cette liste, vous pouvez essayer de rajouter mail au nom de domaine de votre courriel, par exemple : mail.votredomaine.com ou mail.libertysurf.fr.+<note help>​Comment connaître le serveur smtp du service de courriel ​? Vous pouvez consulter cette [[http://​www.arobase.org/​adresses/​serveurs.htm|page]] et renseigner le nom de votre fournisseur de service. Notez alors le serveur smtp et le port utilisé. Si vous ne le trouvez pas dans cette liste, vous pouvez essayer de rajouter mail au nom de domaine de votre courriel, par exemple : mail.votredomaine.com ou mail.libertysurf.fr.
 </​note>​ </​note>​
  
Ligne 35: Ligne 38:
 ===== Installation ===== ===== Installation =====
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt://ssmtp|ssmtp]]**.+[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>ssmtp]]**.
  
-Maintenant si vous entrez ​:+Testez la commande suivante :
 <​code>​whereis sendmail</​code>​ <​code>​whereis sendmail</​code>​
-Vous devrez obtenir une réponse (ex : sendmail: /​usr/​sbin/​sendmail ) 
  
-Et qui se cache derrière ​sendmail ​?+Cette commande devrait renvoyer une réponse du type sendmail : ''/​usr/​sbin/​sendmail''​. Utilisez cette réponse dans la commande suivante :​
  
 <​code>​ls -la /​usr/​sbin/​sendmail</​code>​ <​code>​ls -la /​usr/​sbin/​sendmail</​code>​
  
-ssmtp devrait ​apparaître une fois celui-ci installé :-)+Si la configuration est correcte, sendmail devrait dorénavant être relié à ssmtp, et donc la commande précédente ​devrait ​retourner un message comme ''/​usr/​sbin/​sendmail ​-> ssmtp''​. 
  
 ===== Configuration ===== ===== Configuration =====
Ligne 51: Ligne 54:
 Il y a 2 fichiers à configurer. Il y a 2 fichiers à configurer.
  
-[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] **le fichier /​etc/​ssmtp/​ssmtp.conf** en root comme par exemple avec : +==== Configuration de ssmtp.conf ​====
- +
-<​code>​gksudo gedit /etc/ssmtp/ssmtp.conf</​code>​+
  
-Abordons le paramétrage lié à ce fichier. 
  
-==== Configuration ​de root ====+[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] **le fichier /​etc/​ssmtp/​ssmtp.conf** avec les [[:​sudo|droits d'​administration]]. Commencez par : 
 +===La configuration ​de root===
  
-<code># Config file for sSMTP sendmail+<file>#Config file for sSMTP sendmail
 # #
-# Tous les utilisateurs avec un uid < 1000 enverront un mail 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</​code>​+root=votre_identifiant@fournisseur.com</​file> 
 +Vous pouvez mettre ici votre adresse de courriel. 
 +===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 
 +<code>send-mail: Authorization failed (535 5.7.0 authentication failed) 
 +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 
 +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. 
 +===Configuration d'​AuthPass=== 
 +<​file>#​Mot de passe de ce même compte 
 +AuthPass=le_mot_de_passe_utilisé_pour_votre_identifiant@fournisseur.com</​file>​ 
 +Mettez ici votre mot de passe.
  
-Vous pouvez ​mettre ​ici votre adresse ​mail.+<note important>​Attention,​ par défaut les droits de /​etc/​ssmtp/​ssmtp.conf sont rw-r-r soit 644, ce qui signifie que des autres utilisateurs de votre OS pourront lire votre mot de passe s'ils visitent ce fichier. Pour pallier cela vous pouvez créer une adresse de messagerie uniquement utilisé pour ssmtp ou vous pouvez régler les permissions de /​etc/​ssmtp/​ssmtp.conf sur 640. Cela permettra à ssmtp et au compte de l'​administrateur système d'y accéder, sans permettre aux autres utilisateurs de pouvoir lire le contenu de ce fichier. Si vous réglez les permissions de /​etc/​ssmtp/​ssmtp.conf sur 640, il faudra alors créer un utilisateur ssmtp pour que ce dernier puisse accéder à ce fichier de configuration. ​Vous pouvez ​par exemple vous inspirer de la commande suivante : pw useradd ssmtp -g nogroup -h - -s /​sbin/​nologin -d /​nonexistent -c "sSMTP pseudo-user"​ décrite ​ici : http://​blogs.techrepublic.com.com/​security/?​p=440 mais sous ubuntu pw ne semble pas pouvoir fonctionner. Une fois l'​utilisateur ssmtp créer, rendez le propriétaire de /​etc/​ssmtp/​ssmtp.conf .<​code>​sudo chmod 600 /​etc/​ssmtp/​ssmtp.conf 
 +sudo useradd ssmtp -g nogroup -s /​sbin/​nologin -c "sSMTP pseudo-user"​ 
 +sudo chown ssmtp /​etc/​ssmtp/​ssmtp.conf</​code>​Une autre proposition d'​opérations de sécurisation a été trouvée sur le net (source perdue malheureusement) qui semble plus complète : <​code>​ 
 +sudo chown root:mail /​usr/​sbin/​ssmtp /​etc/​ssmtp{,/​{ssmtp.conf,​revaliases}} 
 +sudo chmod 2711 /​usr/​sbin/​ssmtp 
 +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 0750 /​etc/​ssmtp 
 +sudo dpkg-statoverride --add root mail 0640 /​etc/​ssmtp/​ssmtp.conf 
 +sudo dpkg-statoverride --add root mail 0644 /​etc/​ssmtp/​revaliases 
 +</​code></​note>​
  
-==== Configuration ​d'​AuthUser ====+=== Configuration ​de mailhub===
  
-<note important>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 ​ +<file>#The place where the mail goesThe actual machine name is required no 
-<​code>​send-mail: Authorization failed (535 5.7.0 authentication failed)+#MX records are consulted. Commonly mailhosts are named mail.domain.com 
 +mailhub=mail.fournisseur.com:​587</​file>​
  
-Can't send mail: sendmail process failed with error code 1</​code></​note>​+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).
  
-<​code>#​ Nom d’utilisateur du compte email avec lequel vous envoyer les mails 
-AuthUser=votre_identifiant@fournisseur.com</​code>​ 
  
-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 ​de rewriteDomain ===
  
-==== Configuration d'​AuthPass ====+<​file>#​Where will the mail seem to come from? 
 +rewriteDomain=fournisseur.com</​file>​
  
-<​code>#​ Mot de passe de ce même compte +Ceci indique à ssmtp que l'​entête ​de votre courriel doit être modifiée afin que le nom de domaine (texte après ​@, par exemple ​fournisseur.com ​pour votre_identifiant@fournisseur.com ) soit répertorié comme source de votre adresse de courriel. Attention, si vous mettez autre un "​fournisseur.com"​ différent de votre réel votre_identifiant@fournisseur.com,​ le message pourra ne pas être reçu par votre destinataire. Si vous commentez cette partie (avec #) le message peut être reçu et votre propre "​fournisseur.com"​ sera utilisé.
-AuthPass=le_mot_de_passe_utilisé_pour_votre_identifiant@fournisseur.com</​code>​+
  
-Mettez ici votre mot de passe. 
  
-<note important>​Attention,​ par défaut les droits ​de /​etc/​ssmtp/​ssmtp.conf sont rw-r-r soit 644, ce qui signifie que des autres utilisateurs de votre OS pourront lire votre mot de passe s'ils visitent ce fichier. Pour pallier cela vous pouvez créer une adresse de messagerie uniquement utilisé pour ssmtp ou vous pouvez régler les permissions de /​etc/​ssmtp/​ssmtp.conf sur 640. Cela permettra à ssmtp et au compte de l'​administrateur système d'y accéder, sans permettre aux autres utilisateurs de pouvoir lire le contenu de ce fichier. Si vous réglez les permissions de /​etc/​ssmtp/​ssmtp.conf sur 640, il faudra alors créer un utilisateur ssmtp pour que ce dernier puisse accéder à ce fichier de configuration. Vous pouvez par exemple vous inspirer de la commande suivante : pw useradd ssmtp -g nogroup -h - -s /​sbin/​nologin -d /​nonexistent -c "sSMTP pseudo-user"​ décrite ici : http://​blogs.techrepublic.com.com/​security/?​p=440 mais sous ubuntu pw ne semble pas pouvoir fonctionner. Si vous savez comment adapter cette commande pour ubuntu, merci de l'​ajouter ici. Une fois l'​utilisateur ssmtp créer, rendez le propriétaire de /​etc/​ssmtp/​ssmtp.conf avec par exemple la commande suivante : <​code>​sudo chown ssmtp /​etc/​ssmtp/​ssmtp.conf</​code></​note>​+=== Configuration ​de hostname ===
  
-==== Configuration de mailhub====+<​file>#​The full hostname 
 +hostname=nom_de_votre_ordinateur.domain</​file>​
  
-<​code>#​ The place where the mail goesThe actual machine name is required no  +Hostname indique ici le nom de votre ordinateur utilisé pour écrire et envoyer les courrielsLa partie ​.domain ​peut ou ne pas être mentionnéVous pouvez entrez dans un terminal <​code>​hostname</​code> ​pour connaître votre nom d'​ordinateur.
-# MX records are consulted. Commonly mailhosts are named mail.domain.com +
-mailhub=mail.fournisseur.com:​587</​code>​+
  
-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).+Note : On dirait ​que ça n'​a ​pas d'​incidence sur la possibilité ou non d'​envoyer ​des courriels.
  
 +=== Configuration de FromLineOverride ===
  
-==== Configuration de rewriteDomain ====+<​file>#​Are users allowed to set their own From: address? 
 +#YES - Allow the user to specify their own From: address 
 +#NO - Use the system generated From: address 
 +FromLineOverride=YES</​file>​
  
-<​code>#​ Where will the mail seem to come from? +Mettre YES permet au programme qui envoie un courriel de modifier l'​expéditeur dans l'​entête du message.
-rewriteDomain=fournisseur.com</​code>​+
  
-Ceci indique à ssmtp que l'entête de votre mail doit être modifiée afin que le nom de domaine ​(texte après @, par exemple fournisseur.com ​pour votre_identifiant@fournisseur.com ​soit listé comme source de votre adresse email. Attention, si vous mettez autre un "​fournisseur.com"​ différent de votre réel votre_identifiant@fournisseur.com,​ le message pourra ne pas être reçu par votre destinataire. Si vous commentez cette partie (avec #) le message peut être reçu et votre propre "​fournisseur.com"​ sera utilisé.+=== Sécurité === 
 +<​file>#​Utilisation d'une connexion sécurisée SSL/​TLS ​(décommenter ​pour activer) 
 +#UseTLS=YES</​file>​
  
 +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.
  
-==== Configuration ​de hostname ====+<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. 
 +</​note>​
  
-<​code>#​ The full hostname +=== Exemple ===
-hostname=nom_de_votre_ordinateur.domain</​code>​+
  
-Hostname indique ici le nom de votre ordinateur utilisé pour écrire et envoyer les mailsLa partie ​.domain peut ou ne pas être mentionnéVous pouvez entrez dans un terminal ​<​code>​hostname</​code>​ pour connaître votre nom d'​ordinateur.+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 
 +mailhub=smtp.gmail.com:​587 ​           #Address and port number to send mail to 
 +AuthUser=pierre.kiroul@gmail.com ​  #Your Username 
 +AuthPass=123poireau ​                      #Your Password 
 +rewriteDomain= ​                                #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</​code>​ 
 +et pour OVH : 
 +<​code>​AuthUser=utilisateur@domaine.com 
 +AuthPass=##########​ 
 +mailhub=ssl0.ovh.net:​465 
 +UseTLS=Yes 
 +FromLineOverride=YES</​code>​ 
 +==== Configuration de revaliases ====
  
-Note : On dirait que ça n'a pas d'​incidence sur la possibilité ou non d'​envoyer des mails. 
  
-==== Configuration de FromLineOverride ====+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 :​
  
-<code># Are users allowed ​to set their own Fromaddress? +<file>#sSMTP aliases 
-YES - Allow the user to specify their own Fromaddress +
-NO Use the system generated Fromaddress +#​Format:​ local_account:​outgoing_address:​mailhub 
-FromLineOverride=YES</code>+
 +#Example: root:​your_login@your.domain:​mailhub.your.domain[:​port] 
 +#where [:port] is an optional port number that defaults ​to 25. 
 +root:votre_identifiant@fournisseur.com:​mail.fournisseur.com:​587 
 +#Other System ​user: (for Apache) 
 +#www-data:​votre_identifiant@fournisseur.com:​mail.fournisseur.com:587 
 +</file>
  
-Mettre YES permet au programme qui envoie un mail de modifier l'entête du message concernant l'​émetteur.+Où mail.fournisseur.com le serveur smtp de votre fournisseur de service de messagerie et 587 le port utilisé. 
 + 
 +<note tip>​Très pratique, il n'est pas nécessaire de redémarrer quoi que ce soit pour que les modifications de ssmtp.conf soient prises en compte, elles le sont tout de suite.</​note>​
  
 +<note tip>​Exemple de fichier <​revaliases>​ fonctionnel (avec le fichier <​ssmtp.conf>​ d'​exemple ci-dessus), pour l'​utilisateur <​pierre>​ :
 <​code>​ <​code>​
-Utilisation d’une connexion sécurisée SSL/TLS (décommenter pour activer) +#sSMTP aliases 
-#UseTLS=YES</​code>​+# 
 +#​Format:​ local_account:​outgoing_address:​mailhub 
 +
 +root:​pierre.kiroul@gmail.com:​smtp.gmail.com:​587 
 +pierre:​pierre.kiroul@gmail.com:​smtp.gmail.com:​587 
 +</code
 +</note>
  
-Décommenter UseTLS=YES permet d'​encrypter la connexion au serveur SMTP et de protéger votre login et mot de passe.+==== Ouverture des ports ====
  
-<note important>​Si lors d'un envoi de mail avec le terminal ​ou dans les logs (var/log/​mail.log) ​vous voyez <​code>​send-mail:​ Connection lost in middle of processing +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 messagerieLorsque les ports ne sont pas ouverts correctementla 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''​.
-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 important>​UseTLS ​ne fonctionnerait ​pas avec authsmtpseulement UseSTARTTLS fonctionnerait. Vous pouvez donc essayer UseSTARTTLS=YES ​au lieu de UseTLS=YES cf. https://cloud-support.engineyard.com/​faqs/​questions/​ssmtp </​note>​+
  
 +  * Ouverture des ports avec ufw (il est également possible de réaliser ces paramétrages en mode graphique avec ufw) :
 +    * Ouverture du port 25 en tcp en sortie (smtp simple) : <​code>​
 +sudo ufw allow out 25/tcp
 +</​code>​
 +    * Ouverture du port 465 en tcp en sortie (smtp sécurisé) :<​code>​
 +sudo ufw allow out 465/tcp
 +</​code>​
 +    * Ouverture du port 587 en tcp en sortie (smtp sécurisé avec TLS/SSL) :<​code>​
 +sudo ufw allow out  587/tcp
 +</​code>​
  
-Passons maintenant au deuxième et dernier fichier ​à éditer. [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] **le fichier /​etc/​ssmtp/​revaliases** en root comme par exemple avec :+  * Une alternative ​à ufw consiste à ouvrir les ports à l'aide d'​iptables, ​par exemple ​ceci pour smtp sécurisé ​avec TLS/​SSL ​: 
 +<​code>​ 
 +sudo iptables -t filter -A INPUT -p tcp --sport 587 -j ACCEPT 
 +sudo iptables -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT 
 +</​code>​ 
 +===== Utilisation=====
  
-<​code>​gksudo gedit /​etc/​ssmtp/​revaliases</​code>​+==== En Ligne de commande ====
  
-Et appliquez les modifications ​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 :
  
-<​code>​# sSMTP aliases +avec **//​mailutils//​** :​ 
-#  +<​code>​echo "​contenu"​ | mail -s "​test"​ email@destinataire.com</​code>​
-# Format:​ local_account:​outgoing_address:​mailhub +
-+
-# Example: root:​your_login@your.domain:​mailhub.your.domain[:​port] +
-# where [:port] is an optional port number that defaults to 25. +
-root:​votre_identifiant@fournisseur.com:​mail.fournisseur.com:​587</​code>​+
  
-Où mail.fournisseur.com le serveur smtp de votre fournisseur de service de messagerie et 587 le port utilisé.+avec **//​bsd-mailx//​** : 
 +<​code>​echo "​contenu"​ | mailx -s "​test"​ email@destinataire.com</​code>​
  
-===== Utilisation=====+Vous pourrez ainsi vérifier la configuration de ssmtp.conf et essayer de modifier certains paramètres sur ce dernier.
  
-Une fois ssmtp configuré, vous pouvez [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] [[apt://​xmail]] et envoyer un mail avec la commande suivante : 
  
-<​code>​echo Contenu du message | mail -v -s "sujet du mail" lemailpourlequelvoussouhaitezrecevoirlemessage@blabla.com</​code>​+==== Astuce pour associer un user système à une adresse ​mail ====
  
-Vous pourrez ainsi vérifier la configuration ​de ssmtp.conf et essayer de modifier certains paramètres sur ce dernier.+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>​ 
 +echo "​contenu du mail" | mail -s "objet du mail" monlogin 
 +</​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>​
  
-<note tip>​Très pratiqueil n'​est ​pas nécessaire de redémarrer quoi que ce soit pour que les modifications de ssmtp.conf soient prises en compte, elles le sont tout de suite.</​note>​+Vous pourrez tester la commande ci-dessusl'effet est immédiatIl  recevera des notifications directement sur son adresse mail. 
 +===== Accéder aux logs ======
  
-Accéder aux logs :+Les logs des courriels partis ​: 
 +<​code>​tail /​var/​log/​mail.log</​code>​
  
-<​code>​gedit var/​log/​mail.log</​code>​+Les logs des courriels dont le départ a échoué : 
 +<​code>​tail /var/​log/​mail.err</​code>​
  
-Pour aller plus loin :+===== Pour aller plus loin =====
  
   * Consulter les man de ssmtp :   * Consulter les man de ssmtp :
Ligne 178: Ligne 252:
  
 ===== Liens ===== ===== Liens =====
- 
- 
-//Basé sur :// 
- 
-  * **(en)** [[http://​blogs.techrepublic.com.com/​security/?​p=440|"​Use sSMTP to send e-mail simply and securely"​ par Chad Perrin, article détaillé sur la configuration de ssmtp ayant servi à la réalisation de cette page]] 
-  * **(fr)** [[http://​artisan.karma-lab.net/​node/​1171|"​Utiliser ssmtp comme remplacement de sendmail"​ par Ulhume, article de blog sur ssmtp, ayant servi à la réalisation de cette page]] 
  
 Autres liens : Autres liens :
  
-  * **(fr)** [[http://​www.d-sites.com/​2009/​06/​19/​utiliser-un-serveur-smtp-distant-pour-envoyer-des-mails-depuis-son-serveur/​]] ; +  * **(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+
-  * **(en)** [[https://​cloud-support.engineyard.com/​faqs/​questions/​ssmtp]] Conseils sur la configuration de ssmtp.+
  
  
  • ssmtp.1257489209.txt.gz
  • Dernière modification: Le 06/11/2009, 07:33
  • par elpepe