You seem to be asking two unrelated questions.
We want to grant some specific servers of our network to send mails
Is easily solved by placing a check_client_access in front of permit_sasl_authenticated:
smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/no-auth, permit_sasl_authenticated, reject_unauth_destination
- The second part of the question, however, seems to be talking about both sender and recipient access maps, at the same time.
This is precisely what
smtpd_restriction_classes are for:
smtpd_restriction_classes = noauth
noauth = check_recipient_access hash:/etc/postfix/allowed_recipients
smtpd_recipient_restrictions = permit_sasl_authenticated, check_sender_access hash:/etc/postfix/allowed_senders, reject_unauth_destination
and in /etc/postfix/allowed_senders:
and in /etc/postfix/allowed_recipients:
In which order you apply the access checks is up to you.
If you need more complex rules (that combine senders and recipients in one check, for example) look into postfwd, the Postfix FireWall Daemon.
This allows complex rules a la iptables, applied as a policy server (check_policy_service); the advantage of a policy service is that it has access to all pre-DATA parameters (client, helo , sender, recipient) at once.