eMail-addresse überprüfen

venyl

Mitglied
Hallo,

ich bin neu hier, weiss auch net ob es diesen thread schon gab...

Ich brauch ein script das nicht nur die die eMail überprüft ob sie nur von a-z und 1-9 und die erlaubten sodnerzeichen ist und mit @ sondern ob es die email auch gibt? sowas wie bei einer domain das WHOIS gibts sowas?
 
Hallo,

die einzige verlässliche Möglichkeit besteht darin, eine E-Mail an die entsprechende Adresse zu schicken und ggf. die Antwort des Mailer Daemons auszuwerten. Besser noch (und durchaus gängig): dem Besitzer der Adresse eine E-Mail mit einem Bestätigungslink schicken, dem dieser dann folgen muss.

Grüße,
Matthias
 
Hallo!

Mir währe es nicht bekannt dass es eine Art WHOIS für eMail-Adressen gibt.
Macht auch nicht wirklich Sinn.
Stelle Dir einfach mal folgendes Szenario vor. ;)
Eine betrogene trägt sich aus Rache an ihren Ex auf einschlägigen Seiten mit dem (von miraus auch realen) Namen und der eMail-Adresse ihres Ex ein. ^^
Mit einer WHOIS Anfrage könntest Du nun lediglich prüfen ob es die eMail-Adresse wirklich gibt..... Du weisst aber nicht wer die eMail-Adresse angegeben hat, geschweige denn ob deren Besitzer überhaupt diese komische "enlarge....." :p Werbung haben will. ;)

Du solltest also, wie Matthias schon gesagt hat, dem Empfänger eine eMail mit einem Bestätigungslink schicken..... wenn der Ex da dann drauf klickt obwohl er es garnicht will, ist er selber schuld. ;)
Wenn er nicht drauf klickt, wird auch nichts bestätigt.
Um den Status ("bestätigt" oder "nicht bestätigt") für weitere Aufgaben nutzen zu können, musst Du diesen natürlich irgendwo festhalten (z.b. in einer Datenbank).
Je nach verwendeter Absender-Adresse (also Deiner eMail-Adresse) und/oder Betreffzeile/Inhalt der eMail, solltest Du den Empfänger darauf aufmerksam machen dass er ggf. in seinen Spamordner schauen soll.

Gruss Dr Dau
 
Dieses WHOIS ist dafür praktisch das man von einer art spammbots die sich registrieren mit unechten eMails, natürlich geht auch das mit dem Bestätigegen doch das ist wohl viel schwerer....
 
Allerdings kann auch ein Spambot echte eMail-Adressen nutzen..... müssen ja nicht seine eigenen sein. ;)
Wie Du sicherlich weisst, gibt es Bots die Webseiten nach eMail-Adressen abgrasen..... was spricht also dagegen dass die Adressen nicht weiterverkauft werden, sondern für den "Eigenbedarf" verwendet werden?! ;)
Da währe wir also wieder bei dem Beispiel mit der Betrogenen und ihrem Ex.

Wenn der Spambot (oder wer auch immer) eine selbst erfundene Adresse nutzt, versucht Dein eMail-Server die eMail ein paar mal zuzustellen (der Server vom Empfänger könnte ja auch mal ausgefallen sein).
Schlägt dieser mehrfache Versuch nun fehl, bekommst Du eine entsprechende Rückmeldung (die man sicherlich umleiten könnte).
In diesem Fall kann also auch kein Bestätigungslink angeklick werden und der Status in Deiner Registrierungsdatenbank bleibt auf "nicht bestätigt". ;)
Nun brauchst Du nurnoch (damit die Registrierungsdatenbank nicht mit unbestätigten Registrierungen überläuft) die Registrierungsdatenbank in regelmässigen Abständen nach unbestätigten Registrierungen absuchen und "säubern".
Ich würde auch den Zeitpunkt der Registrirung speichern..... damit Du die Registrierungsdatenbank nur von unbestätigten Registrierungen säubern kannst, die z.b. mindestens 7 Tage zurück liegen.
Andernfalls könnte es passieren dass Du die unbestätigte Registrierung von jemanden löscht, der sich gerade erst vor 2 Minuten registriert hat. :p
 
wenn du so nett bist und mir sagst wie ich so ein bestätigungslink nach der registrierung hinbekomm wärs ja nett ^^
 
Naja, der User registriert sich, dabei werden seine Daten ja in die Datenbank eingetragen.
Im gleichen Zuge wird auch der Registrierungszeitpunkt und der Status "nicht bestätigt" eingetragen.
Ist dieses erfolgreich geschehen, verschickst Du mit der mail()-Funktion eine eMail an den User.
In dieser ist ein Bestätigungslinkt enhalten, z.b.:
Code:
http://www.domain.de/aktivierung.php?aktivierung&user=BENUTZERNAME
Nun kommt die aktivierung.php ins Spiel.....
In dieser prüfst Du zuerst ob $_GET['aktivierung'] und $_GET['user'] gesendet wurde und ob $_GET['user'] einen Wert enthält.
Wenn nein, dann könntest Du z.b. einen Text ausgeben..... "Bitte benutzen Sie den Bestätigungslink der Ihnen per eMail zugeschickt wurde." oder so ähnlich.
Wenn ja, dann machst Du eine Abfrage der Benutzerverwaltung an hand des Usernamens..... dabei wird natürlich auch die Spalte für den Status abgefragt.
So kannst Du nun vergleichen ob der Status für den User auf "bestätigt" oder "nicht bestätigt" gesetzt ist.
Wenn der Status bereits auf "bestätigt" gesetzt ist, könntest Du auch hier wieder einen Text ausgeben..... "Sie haben Ihre Registrierung bereits bestätigt." oder so ähnlich.
Wenn der Status auf "nicht bestätigt" steht, lässt Du ein Formular mit einem "Bestätigen"-Button und einem Hidden-Field für die zum User gehörende ID ausgeben, welches die Daten per POST abschickt.
Nun muss der User also auf den "Bestätigen"-Button drücken.
Ist dieses gehen, prüfst Du ob der Button gedrückt wurde und führst ein Update auf die per Hidden-Field mitgesendete ID aus..... und schon ist der Account aktiviert und kann benutzt werden.

Du solltest natürlich bei Deinem Login auch den Status prüfen und, sofern der Status noch auf "nicht bestätigt" steht, den User auf den Bestätigungslink in der eMail aufmerksam machen...... sonst könnte man sich die ganze Arbeit ja gleich sparen. ;)

Zu der mail()-Funktion kann ich Dir nichts weiter sagen..... die habe ich noch nie benutzt.
Gibt aber auch schon genug Beiträge dazu hier im Forum.

So viel zur Theorie..... nun bist Du an der Reihe, etwas zu scripten. ;)
 
Zurück