Depuis la version 2.0 de Postfix, le serveur SMTP rejette le courrier des destinataires inconnus dans les domaines locaux (domaines qui correspondent à $mydestination ou adresses IP dans $inet_interfaces ou $proxy_interfaces) avec le message "User unknown in local recipient table". Cette fonctionnalité était optionnelle avec les versions antérieures.
La bonne nouvelle est que ceci évite de mettre en file d'attente le courrier non livrable et ne génère ainsi pas de messages MAILER-DAEMON.
La mauvaise nouvelle est que celà rejete le courrier lorsque vous montez d'une version antérieure qui n'était pas configuré pour rejeter le courrier des destinataires locaux inconnus.
Ce document décrit les étapes nécessaires au rejet correct des destinataires locaux inconnus.
Le paramètre local_recipient_maps indique les tables de correspondances contenant tous les noms ou adresses des destinataires locaux. Une adresse de destination est locale lorsque le domaine correspond à $mydestination, $inet_interfaces ou $proxy_interfaces. Si un nom d'utilisateur local ou une adresse n'est pas dans la liste $local_recipient_maps, le serveur SMTP de Postfix rejetera l'adresse avec la mention "User unknown in local recipient table".
La valeur par défaut, montrée ci-dessous, suppose que vous utilisez l'agent de livraison local(8) de Postfix avec lequel les destinataires sont des alias locaux ou ont un compte UNIX :
/etc/postfix/main.cf: local_recipient_maps = proxy:unix:passwd.byname $alias_maps
Pour désactiver le rejet des destinataires locaux inconnus, indiquez :
/etc/postfix/main.cf: local_recipient_maps =
C'est à dire une valeur nulle. Avec ce paramètre, le serveur SMTP ne rejetera pas le courrier avec la mention "User unknown in local recipient table".
Problème : vous n'utilisez pas l'agent de livraison local(8) par défaut de Postfix pour les domaines correspondant à $mydestination, $inet_interfaces ou $proxy_interfaces. Par exemple, vous avez redéfini le paramètre "local_transport" dans le fichier main.cf.
Solution : votre paramètre local_recipient_maps doit indiquer une base de données qui liste tous les noms d'utilisateurs ou adresses connus par cet agent de livraison. Par exemple, si vous livrez les utilisateurs des domaines $mydestination etc. via l'agent de livraison virtual(8), indiquez :
/etc/postfix/main.cf mydestination = $myhostname localhost.$mydomain localhost ... local_transport = virtual local_recipient_maps = $virtual_mailbox_maps
Si vous utilisez un agent de livraison différent pour les domaines $mydestination etc., reportez-vous au paragraphe "Format de la table des destinataires locaux" ci-dessous pour voir comment renseigner cette table.
Problème : vous utilisez la fonctionalité mailbox_transport ou fallback_transport de l'agent de livraison local(8) pour livrer le courrier des comptes non-UNIX.
Solution : vous devez ajouter la base de données qui liste les utilisateurs non-UNIX :
/etc/postfix/main.cf local_recipient_maps = proxy:unix:passwd.byname, $alias_maps, <la base de données des comtes non-UNIX>
Reportez-vous au paragraphe "Format de la table des destinataires locaux" ci-dessous pour voir comment la table doit être renseignée.
Problème : vous utilisez la fonctionalité luser_relay de l'agent local de livraison.
Solution : vous devez desactiver complêtement la fonctionalité local_recipient_maps pour que Postfix accepte le courrier des adresses locales :
/etc/postfix/main.cf local_recipient_maps =
Si vous utilisez des fichiers locaux au format postmap(1), local_recipient_maps respecte le format de table suivant :
Coté gauche, indiquez un nom d'utilisateur nu, une carte blanche "@domaine.tld" ou indiquez une adresse complète "utilisateur@domaine.tld".
Vous devez spécifier quelque chose sur la partie droite de la table mais cette valeur sera ignorée.
Si vous utilisez des tables de correspondances basées sur NIS, LDAP, MYSQL, ou PGSQL, alors local_recipient_maps effectue la même requête que pour un fichier local au format postmap(1) et espère le même résultat.
Avec les tables d'expressions rationnelles, Postfix n'interroge qu'avec l'adresse complête de destination et non avec l'utilisateur nu ou "@domaine.tld".
NOTE : une table de correspondance doit toujours retourner un résultat lorsque l'adresse existe et doit toujours retourner "non trouvé" lorsque l'adresse n'existe pas. En particulier, les résultats de taille nulle comptent comme un résultat "non trouvé".
traduction par Xavier Guimard - Retour au menu