PHP Ungültige Mails filtern

27o8

abgemeldet
2 Mai 2006
9.028
933
Hallo,
ich würde gerne Accounts sperren bei denen die E-Mail Adressen nicht mehr gültig sind. Wie kann ich das am besten lösen?

Ich hatte folgende Idee:
Eine spezielle Mail-Adresse anlegen und diese immer im return-path anlegen, dann regelmäßig den Posteingang dort per Script abrufen und prüfen von welchen E-Mail Adressen dort was zurück gekommen ist. In der Datenbank dann einen Zähler erhöhen und bei allen, wo z.B. 20 Mails zurückgekommen sind, einen Hinweis im Account anzeigen.

Das mit dem Counter ist halt dafür, dass der Account nicht gesperrt wird wenn ein Server mal kurz nicht erreichbar ist und die Mails deshalb zurückkommen.

Der Counter müsste jedoch auch irgendwann mal zurückgesetzt werden, aber wann mache ich das am besten? Ich verschicke HTML Mails also könnte ich theoretisch einen kleinen Zählpixel einbauen der den Zähler nullt, aber Problem ist, dass auch einige Bilder blockieren. :-?
 
Ansich sollte das mit diesem Ansatz klappen. Um den Zähler zurückzusetzen, dürfte ein "Timer" ausreichen. Wenn eine Adresse nicht mehr existiert, kommen die Antworten dazu immer recht zügig zurück. Ist der Zielserver nicht erreichbar, "versucht's" der MTA erst noch ein weilchen, bevor dann die Unzustellbarnachricht kommt. Auch wenn die von Dir versendeten Mails im Spamordner landen, ist die Mail zugestellt => ist dann nach 2-3 Tagen (Timer) nicht zurück gekommen.

Ein problem könnt es dann geben, wenn deine Mails schon vom Maildaemon rausgefiltert werden noch bevor gefragt wird, ob der Empfänger überhaupt existiert. => Mail fort und kein Return...

Aber warum nicht so wie es viele der großen Communitys machen? Nach X Tagen einfach mal ne Mail rausfeuern, die der User bestätigen MUSS, ansonsten Sperre oder Löschung? Gut, bei den Communitys betrifft es eher inaktive, aber ich nehm an Du willst auch die eMails der aktiven checken?

Dann bspw so wie es GMX ne Zeit lang hatte, alle drei Monate MUSSTE man die Daten auf korrektheit prüfen, bevor man an das Portal gekommen ist. Du treibst das ganze dann noch weiter: Wurden das Formular abgesendet -> Mail raus -> User bestätigt -> User kann weitermachen.
Zugegeben, nicht gerade Userfreundlich, aber viel mehr Möglichkeiten hat man da nicht mehr.

Möglich wär auch noch den SMTP-Server direkt anzusprechen (manuell geht sowas per Telnet auf den Port 25), und die Returncodes direkt auswerten, dann brauchst Du schon mal nicht per Script das Portfach aussaugen und jede Mail durchlesen zu lassen...

Gruß
 
Hi,
danke für den Tipp mit der php Klasse hab das soeben ins System integriert und bin begeistert, vorallem lassen sich die Regeln der Klasse sehr leicht erweitern.

Nochmal THX :D