Postfix sur le serveur de développement, autorise l'envoi de courrier à un seul domaine

11

Nous avons le suffixe sur notre serveur de développement, et j'aimerais qu'il puisse envoyer uniquement du courrier à notre domaine, pas à d'autres domaines, empêchant les utilisateurs externes de recevoir accidentellement du courrier de notre serveur de développement.

J'ai cherché dans les documents, essayé plusieurs choses mais ça continue à envoyer à tous les domaines ...

datadevil
la source

Réponses:

7

les cartes de transport (5) sont utilisées pour redéfinir la façon dont le courrier électronique est acheminé par postfix.

  • Ajoutez la ligne suivante à /etc/postfix/main.cf:

    transport_maps = hash:/etc/postfix/transport
    
  • Ajoutez le nouveau fichier / etc / postfix / transport avec ce contenu:

    .example.com   :
    example.com    :
    *              discard:
    

Remplacez example.compar le domaine auquel votre serveur de messagerie doit toujours envoyer des messages. Si vous ne vous souciez pas des sous-domaines, supprimez la première ligne.

N'oubliez pas de hacher le fichier après l'avoir édité avec postmap (1) et de recharger postfix pour que les changements prennent effet:

# postmap /etc/postfix/transport && postfix reload
Carlo Arenas
la source
7

Vous pouvez facilement restreindre les destinataires avec smtpd_recipient_restrictions standard ou plus précisément check_recipient_access .

Créez simplement une table access (5)/etc/postfix/access avec le contenu suivant ( example.com étant le domaine auquel vous souhaitez autoriser l'envoi de courrier):

example.com    OK

Vous pouvez également autoriser uniquement certaines adresses spécifiques:

[email protected]    OK
[email protected]    OK

N'oubliez pas de hacher le fichier après l'avoir édité avec postmap (1) :

# postmap /etc/postfix/access

Mettez maintenant les restrictions de destinataires suivantes dans votre main.cf:

smtpd_recipient_restrictions = 
    hash:/etc/postfix/access
    reject

et rechargez Postfix:

postfix reload

Après cela, testez-le si cela fonctionne .

joschi
la source
1
Cela fonctionnera pour le courrier envoyé via SMTP, pas via la commande / usr / lib / sendmail et les processus locaux peuvent faire les deux. Il semble que le paramètre 'authorised_submit_users' puisse être utilisé pour bloquer la soumission locale avec sendmail / postdrop, alors les restrictions smtpd seront suffisantes.
Jacek Konieczny
6

Donc, si quelqu'un trébuche sur ce sujet comme je l'ai fait: la réponse est effectivement header_checks et cela fonctionne comme tel:

  • Ajoutez la ligne suivante à /etc/postfix/main.cf:

    header_checks = regexp:/etc/postfix/header_checks
    
  • Ajoutez le nouveau fichier /etc/postfix/header_checksavec ce contenu:

    /^To:.*@allowed-domain.com/  DUNNO
    /^To:.*@/   REDIRECT [email protected]
    

Remplacez allowed-domain.compar le domaine auquel votre serveur de messagerie doit toujours envoyer des messages. Remplacez [email protected]par l'adresse e-mail à laquelle tous les autres e-mails doivent être redirigés.

Si vous devez autoriser plusieurs domaines, la première ligne devrait ressembler à ceci:

/^To:.*@(allowed-domain.com|another-domain.com)/  DUNNO

Au lieu de rediriger, vous pouvez simplement déposer tous les autres e-mails. Remplacez la deuxième ligne ci-dessus par:

/^To:.*@/   DISCARD No outgoing mails allowed

Explication:

  • Postfix parcourt les en-têtes de courrier un par un.
  • Chaque ligne d'en-tête est comparée au header_checksfichier ligne par ligne.
  • S'il correspond à la première ligne ( To:contient le domaine autorisé), il passe à la ligne d'en-tête suivante et recommence les vérifications d'en-tête à partir du haut. Puisqu'aucune autre ligne ne correspondra, cela signifie que le courrier est remis.
  • S'il correspond à la deuxième ligne ( To:contient une autre adresse e-mail externe), il redirige le courrier.
Jonas
la source
ce problème semble avoir été résolu avec cette réponse, peut-être devrait-il être marqué comme résolu? (cela a fonctionné comme un charme pour moi au moins)
Sverre
qu'en est-il Cc:et Bcc:?
Paul Tobias