« Postfix » : différence entre les versions
Aucun résumé des modifications |
|||
(6 versions intermédiaires par la même utilisatrice non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Category:linux]] | |||
=Présentation de cette page= | =Présentation de cette page= | ||
Ligne 66 : | Ligne 67 : | ||
postfix reload | postfix reload | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= Setup des relais Postfix pour des domaines ou utilisateurs spécifiques = | |||
Dans la cadre où nous faisons passer nos mails par un relai avant de les envoyer vers internet, il se peut que ce relai refuse certains mails émis depuis notre organisation; en particulier les mails émis depuis chez nous avec une adresse d'un autre domaine. C'est pourquoi on peut vouloir émettre certains mails différement des autres. | |||
Plusieurs choses sont possibles. Mais déjà, il faut regarder dans main.cf quel est le relayhost : si il est vide, on est en envoi direct. Ensuite, on peut créer un fichier bysender et le remplir : | |||
<syntaxhighlight lang="bash"> | |||
#Dans le fichier bysender | |||
machine@truc.fr DUNNO #Signifie pas de relai | |||
@example.com [outbound.thirdparty.server.com] | |||
#Les mails envoyés par x@example.com transiteront par outbound... | |||
#Puis, pour en tenir compte: | |||
postmap /etc/postfix/bysender | |||
#Dans main.cf: | |||
sender_dependent_relayhost_maps = hash:/etc/postfix/bysender | |||
#Enfin | |||
postfix reload | |||
</syntaxhighlight> | |||
==Méthode plus récente== | |||
https://serverfault.com/questions/770002/postfix-sender-dependent-relayhost-maps-do-not-relay-a-specific-address/770041 | |||
If it doesn't work and you use Postfix 2.7 or newer, I suggest you to replace sender_dependent_relayhost_maps with sender_dependent_default_transport_maps. The latter provides more flexibility: | |||
<source> | |||
# /etc/postfix/main.cf | |||
sender_dependent_default_transport_maps = hash:/etc/postfix/relay_by_sender | |||
# /etc/postfix/relay_by_sender | |||
no-relay@mydomain.com smtp | |||
@mydomain.com smtp:[ses.amazon.com] | |||
</source> |
Dernière version du 22 juin 2022 à 11:47
Présentation de cette page
Le but ici n'est pas de présenter le fonctionnement de Postfix (pour le moment en tout cas), mais de stocker quelques commandes utiles et autres aides dans l'exploitation de Postfix
Commandes de mailqueue
- Voir la mailqueue:
mailq
- Voir le contenu d'un mail de la mailqueue
postcat -q 75FE3300402C #Ici le chiffre correspond à un ID de mail
- Supprimer un mail de la mailqueue
postsuper -d 75FE3300402C
Problèmes d'envoi en masse
Une adresse a été compromise et je veux voir a qui elle a envoyé ses spams :
cat loganalyse.txt | grep "adressecompromise" | grep -oE "\->.*" | grep -oE "<[a-zA-Z0-9@\.\-\_]*>" >> adresses.txt
Pour faire du mailq shaping, dans main.cf :
# valeur originales avant modif ETR du 20 mai 2019 #slow_destination_recipient_limit = 20 #slow_destination_concurrency_limit = 2 #slow_destination_rate_delay = 2s slow_destination_recipient_limit = 10 slow_destination_concurrency_limit = 2 slow_destination_rate_delay = 1s smtp-amavis_destination_concurrency_limit = 10
Emplacement de la mailqueue
Postfix stocke sa mailq dans /var/spool/postfix. Ce dossier comporte plusieurs sous-dossier contenant eux-même les emails, lisible directement.
/var/spool/postfix [root@gulliver postfix]# ls active corrupt deferred hold maildrop private saved bounce defer flush incoming pid public trace
Mapping d'adresses sortantes
Si l'on veut spoofer une adresse en sortie, il faut passer par le réglage suivant :
<syntaxhighlight lang="bash">
- /etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
- /etc/postfix/generic:
his@localdomain.local hisaccount@hisisp.example her@localdomain.local heraccount@herisp.example @localdomain.local hisaccount+local@hisisp.example
- Puis:
postmap generic postfix reload </syntaxhighlight>
Setup des relais Postfix pour des domaines ou utilisateurs spécifiques
Dans la cadre où nous faisons passer nos mails par un relai avant de les envoyer vers internet, il se peut que ce relai refuse certains mails émis depuis notre organisation; en particulier les mails émis depuis chez nous avec une adresse d'un autre domaine. C'est pourquoi on peut vouloir émettre certains mails différement des autres.
Plusieurs choses sont possibles. Mais déjà, il faut regarder dans main.cf quel est le relayhost : si il est vide, on est en envoi direct. Ensuite, on peut créer un fichier bysender et le remplir : <syntaxhighlight lang="bash">
- Dans le fichier bysender
machine@truc.fr DUNNO #Signifie pas de relai @example.com [outbound.thirdparty.server.com]
- Les mails envoyés par x@example.com transiteront par outbound...
- Puis, pour en tenir compte:
postmap /etc/postfix/bysender
- Dans main.cf:
sender_dependent_relayhost_maps = hash:/etc/postfix/bysender
- Enfin
postfix reload </syntaxhighlight>
Méthode plus récente
https://serverfault.com/questions/770002/postfix-sender-dependent-relayhost-maps-do-not-relay-a-specific-address/770041 If it doesn't work and you use Postfix 2.7 or newer, I suggest you to replace sender_dependent_relayhost_maps with sender_dependent_default_transport_maps. The latter provides more flexibility:
<source>
- /etc/postfix/main.cf
sender_dependent_default_transport_maps = hash:/etc/postfix/relay_by_sender
- /etc/postfix/relay_by_sender
no-relay@mydomain.com smtp @mydomain.com smtp:[ses.amazon.com] </source>