Postfix sur le server de développement, permet d'envoyer un courrier à un seul domaine

Nous avons postfix sur notre server de développement, et j'aimerais qu'il ne puisse envoyer que du courrier à notre domaine et non à d'autres domaines, ce qui empêche les internautes de recevoir accidentellement du courrier de notre server de développement.

J'ai cherché dans les docs, j'ai essayé plusieurs choses, mais il envoie toujours à tous les domaines …

4 Solutions collect form web for “Postfix sur le server de développement, permet d'envoyer un courrier à un seul domaine”

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

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

transport_maps = hash:/etc/postfix/transport

  • Ajoutez le nouveau file / etc / postfix / transport avec ce contenu:

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

Remplacez example.com par le domaine auquel votre server de messagerie doit toujours envoyer des mails. Si vous ne vous souciez pas des sous-domaines, retirez la première ligne.

N'oubliez pas de hacher le file après l'avoir édité avec postmap (1) et recharger postfix afin que les modifications puissent prendre effet

# postmap /etc/postfix/transport && postfix reload

Donc, si quelqu'un se heurte à ça comme je l'ai fait: la réponse est en effet header_checks et ça fonctionne comme tel:

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

     header_checks = regexp:/etc/postfix/header_checks 
  • Ajoutez le nouveau file /etc/postfix/header_checks avec ce contenu:

     /^To:.*@allowed-domain.com/ DUNNO /^To:.*@/ REDIRECT redirect@example.com 

Remplacez allowed-domain.com par le domaine auquel votre server de messagerie doit toujours envoyer des mails. Remplacez redirect@example.com par l'adresse courriel à laquelle tous les autres courriers 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 redirect, vous pouvez simplement déposer tous les autres courriers. Remplacez la deuxième ligne ci-dessus par:

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

Explication:

  • Postfix passe les en-têtes de messagerie un par un.
  • Chaque ligne d'en-tête est adaptée au file header_checks line-by-line.
  • Si elle correspond à la première ligne ( To: contient le domaine autorisé), elle passe à la ligne d'en-tête suivante et commence l'en-tête vérifie de nouveau en haut. Comme aucune autre ligne ne correspond, cela signifie que le courrier est livré.
  • Si elle correspond à la deuxième ligne ( To: contient une autre adresse email externe), elle redirige le courrier.

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

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

 example.com OK 

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

 user1@example.com OK user2@example.com OK 

N'oubliez pas de hacher le file après l'avoir édité avec la carte postale (1) :

 # postmap /etc/postfix/access 

Maintenant, mettez les ressortingctions de destinataire suivantes dans votre main.cf:

 smtpd_recipient_ressortingctions = hash:/etc/postfix/access reject 

et recharger Postfix:

 postfix reload 

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

Avez-vous essayé header_checks (5) ?

  • Adresse postale Postfix rejetée: Accès refusé Erreur
  • Mailscanner & Postfix: HOLD tout sauf les messages avec un en-tête personnalisé
  • postfix / procmail - empêchant le double e-mail dans procmailrc
  • Comment arrêter le double rebond de l'expéditeur dans postfix
  • Dovecot Forward Spam
  • Utilisation de postfix pour relayer / transférer vers gmail
  • Postfix attrape tous les emails qui incluent un identifiant unique
  • Accès au relais refusé (état 13) Postfix + Dovecot + Mysql
  • Recevoir des mails avec un corps incomplet
  • impossible d'ouvrir Berkeley db / etc / sasldb2: aucun file ou directory de ce type
  • SquirrelMail montrant la boîte de réception vide. CE DOSSIER EST VIDE
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.