Envoyer un mail à tous les utilisateurs du système

J’ai trouvé une solution qui fonctionne et je partage ici si ça peut intéresser d’autres personnes.

  • J’ai donc créé un alias de groupe pour le groupe cn=all_users via phpLDAPadmin.

  • Il faut ensuite modifier le fichier /etc/postfix/main.cf et rechercher la ligne smtpd_recipient_restrictions = pour ajouter juste après permit_mynetworks, :

    check_recipient_access hash:/etc/postfix/protected_destinations,
  • puis ajouter les deux lignes suivantes après le paragraphe:
smtpd_restriction_classes = insiders_only
insiders_only = check_sender_access hash:/etc/postfix/insiders, reject

Ce qui donne :

smtpd_recipient_restrictions =
    permit_mynetworks,
    check_recipient_access hash:/etc/postfix/protected_destinations,
    permit_sasl_authenticated,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    reject_unauth_destination,
    permit 

smtpd_restriction_classes = insiders_only
insiders_only = check_sender_access hash:/etc/postfix/insiders, reject
  • Ensuite, créer le fichier /etc/postfix/protected_destinations
monalias@mon.domaine     insiders_only
monalias2@mon.domaine2   insiders_only
  • Créer le fichier /etc/postfix/insiders
    mon.domaine       OK
    mon.domaine2      OK
  • On fait un restart ou un reload de postfix : systemctl restart postfix

  • Et pour finir et à faire après chaque modification des fichiers afin de créer ou mettre à jour les fichiers de mappage de postfix:
    postmap /etc/postfix/protected_destinations
    postmap /etc/postfix/insiders

Et voilà. Seules les adresses appartenant aux domaines enregistrés dans le fichier insiders pourrons envoyer des mails aux alias inscrits dans le fichier protected_destinations.

Les autres recevrons un beau message :

Undelivered Mail Returned to Sender

rejected: Access denied

Informations recueillies ici et

1 Like