La version 2.3 de Postfix a introduit le support des notifications de statut de livraison (Delivery Status Notifications : DSN) tel que décrit dans la RFC 3464. Elles donnent à l'expéditeur les informations sur le succès ou l'échec de la livraison.
Plus précisément, le support DSN donne à l'expéditeur du message la capacité à indiquer :
les notifications envoyées : succès, échec, retard, ou rien. Normalement, Postfix n'informe l'expéditeur que lorsque la livraison est retardée ou lorsqu'elle échoue.
le contenu retourné en cas d'échec : seul les en-têtes du message ou le message complet.
un identificateur renvoyé avec les notifications de statut de livraison. Ceci identifie la transaction de soumission du message, et ne doit pas être confondu avec l'identifiant du message qui identifie le contenu du message.
L'implémentation du support DSN implique l'ajout de quelques paramètres au commandes SMTP MAIL FROM et RCPT TO, ainsi que quelques nouvelles options de ligne de commande pour la commande sendmail de Postfix qui fournissent un sous-ensemble de fonctions correspondant aux paramètres des commandes SMTP.
Ce document aborde les sujets suivants :
Comme les rapports de message non livrable, les rapports DSN de succès de livraison peuvent fournir plus d'information sur l'infrastructure interne que souhaité. Malheureusement, désactiver les requêtes de notification de "succès" requiert la désactivation des autres requêtes DSN. Les RFC n'offrent pas la possibilité de négocier des sous-ensembles de fonctionnalités.
Ce n'est pas si négatif qu'il n'y parait. Lorsque vous arrêtez le DSN pour le courrier extérieur entrant, les expéditeurs extérieurs supportant le DSN seront tout de même informés que leurs messages ont atteint votre passerelle Postfix ; ils ne leur manquera que les notifications de succès venant de votre système interne. Les expéditeurs extérieurs perdent peu : ils ne peuvent pas indiquer comment Postfix doit rapporter les échecs et retards de livraison.
Utilisez la fonctionnalité smtpd_discard_ehlo_keyword_address_maps si vous souhaitez autoriser les requêtes DSN pour les clients agréés mais pas pour les autres étrangers (voir plus bas comment les désactiver pour tous) :
/etc/postfix/main.cf : smtpd_discard_ehlo_keyword_address_maps = cidr:/etc/postfix/esmtp_access /etc/postfix/esmtp_access : # N'autorise les requêtes DSN que pour le réseau local 192.168.0.0/28 silent-discard 0.0.0.0/0 silent-discard, dsn ::/0 silent-discard, dsn
Si vous voulez désactiver l'usage des requêtes DSN pour le réseau, utilisez la fonctionnalité smtpd_discard_ehlo_keywords :
/etc/postfix/main.cf: smtpd_discard_ehlo_keywords = silent-discard, dsn
Postfix propose deux options de ligne de commande compatible Sendmail pour le support DSN.
La première option indique quelles notifications sont envoyées pour les messages soumis via la commande en ligne sendmail(1) de Postfix :
$ sendmail -N success,delay,failure ... (une ou plusieurs de celles-ci) $ sendmail -N never ... (ou juste celle-ci)
La valeur par défaut correspond à "delay,failure".
La seconde option indique un identifiant d'enveloppe qui doit être rapporté dans les notifications de statut de livraison pour les messages soumis par la commande sendmail(1) de Postfix :
$ sendmail -V envelope-id ...
Note : ce conflit avec le support VERP dans les versions antérieures de Postfix, est présenté dans le paragraphe suivant.
Avec les versions de Postfix antérieures à la 2.3, la commande sendmail(1) utilise l'option -V pour requérir des livraisons de type VERP. Pour requérie des livraisons de type VERP avec les versions 2.3 et supérieures de Postfix, vous devez utiliser -XV au lieu de -V.
Toutefois, la commande sendmail(1) de Postfix 2.3 identifie les tentatives de livraisons type VERP soumises avec -V. Elle exécutera bien la livraison VERP et vous avertira de la nouvelle syntaxe.
traduction par Xavier Guimard - Retour au menu