Ich denke das die Aussagen von splasch nicht alle stimmen.
Das Script und die Seite verbinden zum MX der Domain und führen die SMTP Schritte durch bis zu der Eingabe des Mailtextes, dann wird abgebrochen.
Also HELO, MAIL FROM, RCTP TO ende
2.) Wird ein Mail Text erzeugt der nur einen Zeillenumbuch beinhaltet (/n)
5.) Es wird eine Ftp Verbindung aufgebaut (also ein Login versuch in den Mail acount)
Wird diese Adresse erreicht gibt er true aus Mail adresse vorhanden ansonsten false. Server konnte nicht erreicht werden.
Das ganze läuft mit einer Zeitspanne wo getestet wird kommt in der Zeit keine Meldung wird angenohmen das es die Mail adresse nicht gibt.
Also im Grunde eh schon das was ich vorher gesagt habe nur das Script nicht versucht ein Mail zu senden sondern sich versucht in den Mail acount einzulogen und dabei achtet ob ein Rückgabe kommt oder der fehler code seite nicht erreichbar.
Das Script achtet natürlich darauf ob ein Connect zum SMTP Mailserver generell funktioniert (kein FTP!), aber das eigentliche ist, ob der Mailserver der Mailadresse bei einem RCTP TO command der Mailserver sagt ob er die Mailadresse bei sich kennt. Der TimeOut bei einem fsockopen liegt default bei mehreren Sekunden und sollte da ein TimeOut auftreten lohnt sich glaube ich nichtmal der Versuch eine E-Mail dort hinzusenden.
Es wird auch nicht versucht sich irgendwo in einen Mail Account "einzuloggen" oder eine E-Mail mit "\n" vorbereitet.
Also das Script funtkioniert für Meine E-Mail Adressen nicht...
Ja das ist der Nachteil an der Sache wenn der Timeout überschritten wird man abgelehnt.
Also wenn Deine Mail server zu langsam antworten haste keine Chance durch die Mail kontrolle zu kommen.
Das hat hier auch nichts mit einem Timeout zu tun, sondern ob das Relaying erlaubt ist auf dem Mailserver oder Filter eingesetzt werden. Das Script von der geposteten Website macht ein MAIL FROM mit der Adresse
info@phpclasses.org, also einer Domain die der Mailserver lokal nicht konnektiert hat oder eine IP die auf einer Grey/Blacklist steht. Das ist schonmal ein schlechter Start und eigentlich ist auf solch einem konfigurierten Mailserver jegliche weitere Eingabe sinnlos, da er sowieso die Mail nicht versenden wird. Das wiederrum ist gut gegen spam oder sonstigen Müll der versendet wird.
Ich würde in dem ganzen die Lösung von Gumbo nutzen. Mir ist es nicht nur wichtig, das eine E-Mail ein gültiges Format hat oder der Mailserver die E-Mailadresse kennt, sondern ob der User auch den Mailaccount nutzen kann und Rechte dazu hat.
Wenn ein Benutzer sich für einen Dienst registriert und ein Formular ausfüllt ist es meistens mehr Arbeit als anschliessend sich die Registrierungsmail anzuschauen und auf einen Link zu klicken, der die Mailadresse bestätigt.
Sollte der Benutzer nicht diese 10 Sekunden Zeit haben, dann hat er nicht wirklich Interesse an dem Angebot was ich anbiete oder mein Content den ich liefere ist wohl nicht interessant genug (präsentiert|beworben).
Das Thema wird hier sicherlich alle 4 Wochen bestimmt 5 mal besprochen und es gibt immer verschiedene Meinungen.
Mir ging es erstmal primär darum diese Timeout These zu entschärfen, weil sonst andere User auf die Idee kommen einfach den Timeout hochzusetzen und sich dann wundern warum es immer noch nicht geht.
Gruss