3 votes

Postfix : Rejeter reject_unknown_recipient_domain et recevoir une notification instantanée par courriel

Lorsqu'un courriel est envoyé à un domaine ou à un destinataire inexistant, je voudrais que l'expéditeur reçoive immédiatement un courriel de mailer-daemon l'informant que le destinataire n'existe pas.

En fait, ce qui se passe sur mon système, c'est que le courriel est placé dans la file d'attente différée et y reste le temps spécifié dans la configuration. Comme je l'ai configuré delay_warning_time = 30m après 30 minutes dans la file d'attente, l'expéditeur reçoit une notification mais ce n'est pas ce que je veux pour les adresses non existantes. Ce que je veux, c'est rejeter l'email immédiatement et notifier l'expéditeur.

Quelqu'un sait-il ce que je fais mal ? Merci beaucoup.

Actuellement, les courriels des destinataires non existants se trouvent dans la file d'attente de Postfix :

\# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
AA6CA48DCC     1496 Wed Feb 12 12:56:36  user@domain.com
         (connect to mx.email-srv.com\[199.231.85.98\]:25: Connection timed out)
                                         foo@gmai.com

6FF9948DFF     1498 Wed Feb 12 13:07:04  user@domain.com
         (connect to mx.email-srv.com\[199.231.85.98\]:25: Connection timed out)
                                         foo@gmai.com

Voici ma configuration de Postfix :

2bounce\_notice\_recipient = $delay\_notice\_recipient
alias\_database = hash:/etc/postfix/aliases
alias\_maps = hash:/etc/postfix/aliases
broken\_sasl\_auth\_clients = no
command\_directory = /usr/sbin
config\_directory = /etc/postfix
content\_filter = amavis:\[127.0.0.1\]:10024
daemon\_directory = /usr/lib/postfix
data\_directory = /var/lib/postfix
debug\_peer\_level = 2
debugger\_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon\_directory/$process\_name $process\_id & sleep 5
delay\_notice\_recipient = admin
delay\_warning\_time = 30m
disable\_vrfy\_command = yes
header\_checks = regexp:/etc/postfix/header\_checks
html\_directory = no
inet\_interfaces = all
inet\_protocols = all
local\_recipient\_maps =
mail\_owner = postfix
mailq\_path = /usr/bin/mailq.postfix
manpage\_directory = /usr/share/man
masquerade\_domains = mail.domain.es mail.domain.com hostname.domain.es hostname.domain.com
maximal\_backoff\_time = 8000s
maximal\_queue\_lifetime = 5d
milter\_default\_action = accept
milter\_protocol = 2
minimal\_backoff\_time = 1000s
mydestination =
mydomain = domain.es
myhostname = mail.domain.es
mynetworks\_style = host
myorigin = domain.es
newaliases\_path = /usr/bin/newaliases.postfix
non\_smtpd\_milters = $smtpd\_milters
queue\_directory = /var/spool/postfix
readme\_directory = /usr/share/doc/postfix-2.6.6/README\_FILES
relayhost =
relocated\_maps = mysql:/etc/postfix/mysql\_relocated.cf
sample\_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail\_path = /usr/sbin/sendmail.postfix
setgid\_group = postdrop
smtp\_helo\_timeout = 60s
smtp\_tls\_CAfile = /etc/ssl/certs/sf\_bundle.crt
smtp\_tls\_note\_starttls\_offer = yes
smtp\_tls\_security\_level = may
smtp\_use\_tls = yes
smtpd\_banner = $myhostname ESMTP $mail\_name
smtpd\_client\_restrictions = reject\_rbl\_client sbl.spamhaus.org, reject\_rbl\_client blackholes.easynet.nl, reject\_rbl\_client dnsbl.njabl.org
smtpd\_data\_restrictions = reject\_unauth\_pipelining
smtpd\_delay\_reject = yes
smtpd\_hard\_error\_limit = 12
smtpd\_helo\_required = yes
smtpd\_helo\_restrictions = permit\_mynetworks, permit\_sasl\_authenticated, warn\_if\_reject reject\_non\_fqdn\_hostname, reject\_invalid\_hostname, permit
smtpd\_milters = inet:localhost:8891
smtpd\_recipient\_limit = 16
smtpd\_recipient\_restrictions = reject\_unauth\_pipelining, permit\_mynetworks, reject\_non\_fqdn\_recipient, reject\_unknown\_recipient\_domain, reject\_unauth\_destination, reject\_unknown\_helo\_hostname, permit\_sasl\_authenticated, permit
smtpd\_sasl\_auth\_enable = yes
smtpd\_sasl\_local\_domain =
smtpd\_sasl\_security\_options = noanonymous
smtpd\_sender\_restrictions = permit\_sasl\_authenticated, permit\_mynetworks, warn\_if\_reject reject\_non\_fqdn\_sender, reject\_unknown\_sender\_domain, reject\_unauth\_pipelining, permit
smtpd\_soft\_error\_limit = 3
smtpd\_tls\_cert\_file = /etc/ssl/certs/domain.es.crt
smtpd\_tls\_key\_file = /etc/ssl/private/domain.key
smtpd\_tls\_loglevel = 1
smtpd\_tls\_received\_header = yes
smtpd\_tls\_security\_level = may
smtpd\_tls\_session\_cache\_timeout = 3600s
tls\_random\_source = dev:/dev/urandom
transport\_maps = mysql:/etc/postfix/mysql\_transport.cf
transport\_retry\_time = 30s
unknown\_local\_recipient\_reject\_code = 450
virtual\_alias\_maps = mysql:/etc/postfix/mysql\_alias.cf
virtual\_gid\_maps = static:5000
virtual\_mailbox\_base = /var/spool/mail/virtual
virtual\_mailbox\_domains = mysql:/etc/postfix/mysql\_domains.cf
virtual\_mailbox\_maps = mysql:/etc/postfix/mysql\_mailbox.cf
virtual\_uid\_maps = static:5000

3voto

NickW Points 10133

Comment postfix est-il censé savoir si l'e-mail est inexistant, ou si le serveur distant est simplement indisponible (comme cela semble être le cas avec votre courrier bloqué dans la file d'attente). Normalement, postfix va essayer d'envoyer le courrier, mais à moins qu'il ne reçoive une réponse définitive du serveur distant, généralement une réponse 550 (les réponses de l'ordre de 450 signifient temporairement indisponible), postfix n'a aucun moyen de déterminer si le courrier existe, ou s'il y a un autre problème qui pourrait permettre au courrier d'être distribué avec succès plus tard.

0 votes

Salut, tu as raison. Je pensais que j'envoyais un email au domaine non existant gmai.om. Excuses :D

0 votes

Pas besoin de s'excuser, nous avons tous fait des erreurs :D

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X