Moin!
Ich mach gard ein Newsletter-Script und dabei ist es natürlich nützlich die email-Addy äuserlich auf ihre Güligkeit zu überprüfen!
Nein. Bei einem Newsletterscript ist es nützlich, die Adressen auf ihre TATSÄCHLICHE Gültigkeit zu prüfen.
Du glaubst nicht, was für Idioten es auf dieser Welt gibt. Tippfehler beim Usernamen-Anteil der Mailadresse sind noch die kleinste Sorge (betrifft vor allem die Zeitgenossen, welche etwas kompliziertere Vor- und Nachnamen haben - da kann man schon mal ins Stolpern kommen auf seiner Tastatur).
Gerne genommen wird auch die Angabe einer noch nicht (wann dann?) oder nicht mehr existierenden Domain. Da fragt man sich doch, wie diese Leute sonst Mails mit ihrer Adresse empfangen.
Und als Krönung: Es gibt auch DNS-Admins, die als MX (MaileXchange - der Server, der die Mails annehmen soll) für die Domain "localhost.domain.tld" eintragen, und "localhost.domain.tld" dann auf 127.0.0.1 auflösen. Das ist wirklich eine erstaunliche Leistung. Wahrscheinlich kriegen die Jungs keinerlei Spam und freuen sich tierisch.
Um diesen ganzen Problemen, die sich für dich allesamt nur auf "Die Mail bounct irgendwie" reduziert, aus dem Wege zu gehen, und weil du bei einer Newsletteranmeldung sowieso eine Bestätigungsmail versenden mußt, ohne deren Bestätigung du den Newsletterversand sowieso nicht beginnen lassen solltest (es sei denn, du stehst auf mit Sicherheit verlorene Abmahnprozesse), empfiehlt es sich, diese Bestätigungsmail am Besten von einem PHP-Skript DIREKT an den Empfänger-Mailserver laut Adresse auszuliefern, und dessen Reaktion abzufragen. Dann kannst du dem Benutzer, der das Eintragungsformular gerade abgeschickt hat, sofort Feedback geben, ob die genannte Mailadresse unakzeptabel war.
Natürlich fallen die Mailserver durchs Raster, die zwar als Domain existieren, aber leider grundsätzlich erstmal alle Mails annehmen, und im Nichtexistenzfall einer Adresse dann eine Bounce-Meldung rausschicken. Solche Mailsysteme sind zum Glück immer seltener, aber leider existieren sie noch. Sie werden vermutlich nach und nach aufgrund öffentlichen Drucks geändert werden, weil man sie auch wunderbar als Mailbombe einsetzen kann.
Für so eine Vorgehensweise muß dein Skript allerdings etwas SMTP sprechen. Ich persönlich finde dieses Protokoll nicht wirklich schwer, man kann es per Hand mittels Telnet auch "sprechen". Dummerweise habe ich noch nichts vorgefertigtes gefunden (wenngleich das PEAR-Paket Mail wohl auch direkt SMTP als Versand nutzen kann, neben der mail()-Funktion und dem sendmail-Aufruf), du müßtest also selber suchen - oder selber machen. :)
Jetzt hab ich beim http://www.dclp-faq.de/q/q-mail-adresse-gueltig.html nachgeschaut und da steht auch ein Link zu einer ensprechenden Klasse welche eine email-Addy sehr zuverlässig überprüft. Aber ich seh keinen Link um den Code zu bekommen oder sie downzuloaden. Kann mir jemand helfen, oder erklären warum es keinen gibt?
PEAR ist eine Sammlung von Klassen, welche in der Regel standardmäßig mit PHP ausgeliefert und installiert werden.
Wenn die Klassen nicht verfügbar sind, kann man sie als ganz normale Datei includen (und natürlich auch einzeln herunterladen). Für das oben genannte Mail-Package wäre der Link zum Download http://pear.php.net/package/Mail/download - du hast anscheinend nur nicht ausgiebig genug rumgesucht. :)
- Sven Rautenberg