[Postfixbuch-users] Unexistente recipients

Marcel Hartmann (privat) mail at marcel-hartmann.com
Mi Mär 18 15:50:14 CET 2009


Uwe Driessen schrieb:
> On Behalf Of Marcel Hartmann (privat)
>
> Hallo Marcel tu dir und uns einen Gefallen NUR TEXTMAILS an die Liste *gg
>
>   
>> Na klar, sorry, hier die Details:
>>
>> smtpd_client_restrictions =
>> smtpd_data_restrictions = reject_unauth_pipelining,
>> reject_multi_recipient_bounce,        permit
>> smtpd_error_sleep_time = 1s
>> smtpd_hard_error_limit = 20
>> smtpd_helo_required = yes
>> smtpd_helo_restrictions = check_helo_access hash:/etc/postfix/maps/helo_access,
>> reject_invalid_hostname,        reject_non_fqdn_hostname
>> smtpd_recipient_restrictions = reject_non_fqdn_recipient
>>     
> 	 reject_non_fqdn_sender
> 	 check_recipient_access pcre:/etc/postfix/maps/apostroph
>   
>> 	 reject_unknown_sender_domain       
>>     
> 	 reject_unknown_recipient_domain
>   
>> 	 permit_mynetworks       
>>     
> 	 permit_sasl_authenticated
>        reject_unauth_destination
>   
>> 	 reject_multi_recipient_bounce
>>     
>        reject_unlisted_recipient
> 	 reject_rbl_client zen.spamhaus.org
>        reject_non_fqdn_hostname       
> 	 reject_invalid_hostname
> 	 check_helo_access pcre:/etc/postfix/maps/helo_checks
>        check_sender_mx_access cidr:/etc/postfix/maps/bogus_mx
>        reject_rhsbl_sender dsn.rfc-ignorant.org
> 	 check_recipient_access hash:/etc/postfix/maps/recipient_access
>
> wenn ich jetzt nicht falsch zusammengeschnitten habe dann sind hier checks doppelt und
> dreifach drin 
>
>
>   
>> smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/maps/check_sender
>> reject_non_fqdn_sender,         reject_unknown_sender_domain
>>     
>
> Die ganzen Restrictionen unter smtpd_recipient_restrictions zusammenfassen dann wird das
> ganze übersichtlicher.
>
>
>
>   
>> # rpm -qa postfix
>> postfix-2.3.3-2.1.el5_2
>>     
>
> Evtl. updaten 
>
>   
>> # rpm -qa dovecot
>> dovecot-1.0.7-2.el5
>>
>> Das Setup ist ein einfacher dedi Server mit Webserver und postfix. Die Ausgehenden Mails
>> kommen vom apache da User dort an andere User messages senden können die wiederum per
>> Mail rausgehen. Oder eine Benachrichtigung oder sowas in der art. Jedenfalls tauchen die
>> Probleme die ich nannte dort auf. Ich hoffe das reicht zur analyse, andernfalls bitte
>> eine kurze info.
>>
>>     
>
> So zu deinem eigentlichen Problem:
>
> Wenn User offene Formulare in Ihrem Webspace liegen haben dann kannst du eigentlich nur
> noch dafür sorgen das derjenige den Bounce bekommt dem er auch gehört
>
> php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fnoreply at domainname.tld"
>
> or what ever auch immer du da nimmst als lokalteil (webmaster ist auch schön)
>
> eine Umleitung auf den User innerhalb Postfix definieren dem diese Domain gehört 
> Damit gehen dann alle Bounces auf den User der sich auch drum kümmern muss.
>
> Du siehst außerdem wer sein Webformular nicht sauber im Griff hat und kannst evtl. auch
> dass Formular vom Netz nehmen.
>
>
>
> Mit freundlichen Grüßen
>
> Drießen
>
>   
Sorry, hatte mein thunderbird falsch eingestellt :-)

So besser:
# postconf-n
bash: postconf-n: command not found
[root at static cron.daily]# postconf -n
address_verify_map = btree:/var/spool/postfix/verified_addresses
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
body_checks = pcre:/etc/postfix/maps/body_checks
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
default_rbl_reply = $rbl_code Service unavailable; $rbl_class 
[$rbl_what] blocked using $rbl_domain
disable_vrfy_command = yes
header_checks = pcre:/etc/postfix/maps/header_checks
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailbox_size_limit = 268435456
mailq_path = /usr/bin/mailq.postfix
message_size_limit = 10485760
mime_header_checks = pcre:/etc/postfix/maps/mime_header_checks
mydestination = $myhostname, $mydomain
mydomain = internet-kontaktanzeigen.com
myhostname = mail.internet-kontaktanzeigen.com
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
relay_domains = $mydestination
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_error_sleep_time = 1s
smtpd_hard_error_limit = 20
smtpd_helo_required = yes
smtpd_helo_restrictions = check_helo_access 
hash:/etc/postfix/maps/helo_access
smtpd_recipient_restrictions = reject_non_fqdn_recipient       
reject_non_fqdn_sender       check_recipient_access 
pcre:/etc/postfix/maps/apostroph       
reject_unknown_sender_domain       reject_unknown_recipient_domain       
permit_mynetworks       permit_sasl_authenticated       
reject_unauth_destination       reject_multi_recipient_bounce       
reject_unlisted_recipient       reject_rbl_client zen.spamhaus.org       
reject_non_fqdn_hostname       reject_invalid_hostname       
check_helo_access pcre:/etc/postfix/maps/helo_checks       
check_sender_mx_access cidr:/etc/postfix/maps/bogus_mx       
reject_rhsbl_sender dsn.rfc-ignorant.org       check_recipient_access 
hash:/etc/postfix/maps/recipient_access
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
smtpd_soft_error_limit = 10
soft_bounce = no
unknown_address_reject_code = 550
unknown_local_recipient_reject_code = 550
unverified_recipient_reject_code = 550

Aber nun noch einmal genauer zu dem Problem!

Ich habe auf dem Server ein Kontaktanzeigenportal in dem sich User 
anmelden mit besagten Adressen. Da diese User scheinbar veraltet sind 
oder sich viele ncht abmelden existieren nunmal user mit adressen die es 
nicht mehr gibt. Schickt man nun eine Message per Website an einen User, 
dann bekommt der eine Nachricht darüber an seine Mailadresse zugesendet, 
welche dann gebounced wird vom empfänger MTA:

Mar 18 15:37:46 static postfix/smtp[24978]: CC75B11E0088: 
to=<domwinkler at aol.de>, relay=mailin-01.mx.aol.com[205.188.156.248]:25, 
delay=1.2, delays=0.06/0.01/0.41/0.68, dsn=5.0.0, status=bounced (host 
mailin-01.mx.aol.com[205.188.156.248] said: 550 MAILBOX NOT FOUND (in 
reply to RCPT TO command))

Der sendet dann eine Meldung an mich (root,postmaster) zurück die 
wiederum traffic generiert:

Mar 18 15:37:47 static postfix/qmgr[23946]: 164F311E008B: from=<>, 
size=2782, nrcpt=1 (queue active)
Mar 18 15:37:47 static postfix/bounce[24979]: CC75B11E0088: sender 
non-delivery notification: 164F311E008B
Mar 18 15:37:47 static postfix/qmgr[23946]: CC75B11E0088: removed
Mar 18 15:37:47 static postfix/local[24980]: 164F311E008B: 
to=<noreply at internet-kontaktanzeigen.com>, relay=local, delay=0.03, 
delays=0.01/0.01/0/0, dsn=5.1.1, status=bounced (unknown user: "noreply")

Ich bounce sie zwar, weil es "noreply" nicht gibbt, aber diese Mail wird 
dann dennoch im anderen MTA verbleiben, oder? Wird man da nicht geblockt 
auf dauer? Hier mal pflogsumm output von gestern:

message bounce detail (by relay)
--------------------------------
  a.mx.inbox.lv[89.111.3.75]:25 (total: 1)
         1   Nonexistent user (in reply to RCPT TO command)
  a.mx.mail.yahoo.com[67.195.168.31]:25 (total: 10)
         1   dd Sorry your message to magnuskent at yahoo.com cannot be deliver...
         1   dd Sorry your message to budde200500 at yahoo.de cannot be deliver...
         1   dd Sorry your message to daniel_vfb26 at yahoo.de cannot be delive...
         1   dd Sorry your message to rchenoyb at yahoo.de cannot be delivered....
         1   dd This user doesn't have a yahoo.de account (tanja_lange30 at yah...
         1   dd This user doesn't have a yahoo.fr account (rgy20032004 at yahoo...
         1   dd Sorry your message to nemati800 at yahoo.de cannot be delivered...
         1   dd This user doesn't have a yahoo.de account (mbi_74 at yahoo.de) ...
         1   dd Sorry your message to andrew_conaka at yahoo.com cannot be deli...
         1   dd This user doesn't have a yahoo.fr account (dynamite_186 at yaho...
  ASPMX.L.GOOGLE.COM[209.85.135.27]:25 (total: 1)
         1   //mail.google.com/support/bin/answer.py?answer=6596 y6si1314550...
  aspmx.l.google.com[209.85.218.22]:25 (total: 1)
[...]

Die machen mir am meisten Sorgen hier:

smtp delivery failures
----------------------
  connection refused (total: 19)
         6   mx01.uboot.com
         5   enneffe.com
         3   utanet.com
         2   mx1.centrum.cz
         2   fmx.freemail.hu
         1   posta.mediacenter.hu
  connection timed out (total: 82)
        14   firemail.de
        11   lycos.de
        10   lycos.nl
         8   mail.vodafone.it
         5   mg1.netdoor.com
         5   mg2.netdoor.com
         5   f.mx.mail.yahoo.com
         5   freemail.nl
         4   germanmail.com
         4   mx-ha02.web.de
         4   yahou.it
         2   plop.gms.lu
         1   mx1.mail.eu.yahoo.com
         1   b.mx.mail.yahoo.com
         1   c.mx.mail.yahoo.com
         1   g.mx.mail.yahoo.com
         1   mx-b.delfi.lt

Ich suche nun nach einer "guten" Lösung das Traffic und nicht 
existierende Mailboxenproblem zu lösen. Entweder wir lassen das 
raussenden der Info das ne neue Message vorhanden ist, oder ich mach das 
MTA seitig. Versteht Ihr nun was ich meine? Es geht nicht um VHosts von 
Kunden die unsichere Webformulare benutzen oder sowas. Dann könnte man 
ja fein alles per sendmal_path an den user dems gehört senden lassen. ;-)

Gruß,
Marcel



Mehr Informationen über die Mailingliste Postfixbuch-users