Email erkennen
griever
- php
Mahlzeit.
Ich möchte eine E-Mail auf vollständigkeit prüfen. Wie kann man das sehr schnell und platzsparend machen?
Hier meine Version:
$mail="beispiel@email.de";
$getrennt=explode("@",$mail);
$getrennt2=explode(".",$mail);
if(sizeof($getrennt)==2)
{
if(sizeof($getrennt2)==2)
{
echo "korrekt"
}
else
{
echo "nicht korrekt"
}
}
else
{
echo "nicht korrekt"
}
An dieser Version der Kontrolle habe ich 2 Tage gehangen.
Jetzt wollte ich fragen, ob man das auch kürzer formulieren kann.
MFG
Griever
Hallo!
Mahlzeit.
Ich möchte eine E-Mail auf vollständigkeit prüfen. Wie kann man das sehr schnell und platzsparend machen?
Das liefert ziemlichen Blödsinn. Was ist zb. mit
a.b.c.d@asdf.qwer.com ?
Das ist ein gültige Email Adresse wird von dir aber als falsch interpretiert.
Du findest hier im Archiv und mit Google sicher zig Funktionen die Email Adressen checken.
mfg
frafu
Hi,
a.b.c.d@asdf.qwer.com ?
Das ist ein gültige Email Adresse wird von dir aber als falsch interpretiert.
ebenso wie
"I am @ home!"@example.com
im Gegensatz zu
a.@example.com,
a..b@example.com oder
.a@example.com,
welche ebenfalls falsch interpretiert werden. Neben vielen anderen, versteht sich. Die Prüfung ist weit davon entfernt, einen Realitätsbezug zu besitzen - wie viele andere auch, die man im Netz finden kann.
Cheatah
Mahlzeit.
Nun gut. Hab mir jetzt von www.javarea.de etwas rausgesucht, was, wie es dort beschrieben wird, die Emailadresse vollständig überprüft und eine if/else-Abfrage bereitstellt. Die benutz ich jetzt.
Aber danke, dass Ihr mich darauf Aufmerksam gemacht habt.
MFG
Griever
Hi,
Nun gut. Hab mir jetzt von www.javarea.de etwas rausgesucht, was, wie es dort beschrieben wird, die Emailadresse vollständig überprüft
das wird oft behauptet. Verlinkst bzw. nennst Du bitte den betreffenden Code?
Cheatah
Mahlzeit.
Einen Moment ...
(resuch...)
MFG
Griever
Mahlzeit.
http://www.javarea.de/index.php3?opencat=PHP&subcat=Codeschnipsel&id=496
Dort unter Quellcode anzeigen.
MFG
Griever
Hi,
http://www.javarea.de/index.php3?opencat=PHP&subcat=Codeschnipsel&id=496
Dort unter Quellcode anzeigen.
sag doch einfach: Unter http://www.javarea.de/include/showspf.php3?show=source&id=496. Der Autor hat zumindest grundlegende und einige weiter führende Kenntnisse über das Format, hat sich aber nur einen Teil davon raus gepickt und diesen unvollständig und teilweise fehlerhaft umgesetzt. Was von der TLD-Liste zu halten ist, hat Sven bereits gesagt; aber auch darüber hinaus ist der Code hinreichend mangelbehaftet.
Wie so viele andere auch.
Cheatah
Mahlzeit.
Kannst du mir vielleicht etwas empfehlen, ohne dass ich erstmal ewig suchen muss. Es ist für ein Onlineshop. Da benötigen wir bis spätestens in 3 Wochen ein gängiges Formular, womit das Betrügen durch "irgendwelche" Angaben nicht vorkommen kann.
Aber danke für die Info, das das Script fehlerbehaftet ist. Ich selber kann es an dem Computer, an dem ich eigentlich arbeite nicht testen (offline). Und den localen Server kann ich hier mir auch nicht zulegen.
MFG
Griever
Hi griever!
Da benötigen wir bis spätestens in 3 Wochen ein gängiges Formular, womit das Betrügen durch "irgendwelche" Angaben nicht vorkommen kann.
Dann schicke bei der Anmeldung eine Email an die betreffende Person und/oder lasse dir die Bestellung über eben diese Emailadresse bestätigen.
MfG H☼psel
Mahlzeit.
Da besteht Problem 2 drin.
Der User hat eine E-Mail. Da könnte ich das machen. Aber wenn ein User jetzt keine E-Mailadresse besitzt (was durchaus vorkommt), kann dieser durch diese methode nicht bestellen, da ja keine Bestätigungsmail ankommt.
Nun. Also brauch ich ein verlässliches Script, welches die E-Mail prüft. Ich habe eine weiche schon geschrieben, falls garkeine E-Mail angegeben wird.
So meinte ich das.
MFG
Griever
Hallo,
Der User hat eine E-Mail. Da könnte ich das machen. Aber wenn ein User jetzt keine E-Mailadresse besitzt (was durchaus vorkommt), kann dieser durch diese methode nicht bestellen, da ja keine Bestätigungsmail ankommt.
Nun. Also brauch ich ein verlässliches Script, welches die E-Mail prüft. Ich habe eine weiche schon geschrieben, falls garkeine E-Mail angegeben wird.
Entweder hat der Betreffende eine Email, dann kannst du sie zur Bestätigung verwenden odet nicht. Wenn nicht brauchst auch nicht überprüfen, ob es fake ist.
Denn wenn ich will kriegste fake: fake@fundomain.de
Das erscheint mir alles reichlich wenig durchdacht.
bydey
Mahlzeit.
Hab ich gesagt, dass ich NUR die E-Mail haben will. Es soll ein bestellshop werden, wo man deine Adresse benötigt.
Die Adresse lasse ich durch ein Kartenservice im Internet suchen. Nur wenn dieser sagt. Ja...Stadt oder Straße existiert nicht, wird abgebrochen.
So ist der Lauf der Dinge.
Die E-Mail ist nur für Rückfragen.
Alle anderen Daten werden auch überprüft. Nur die E-Mail ist optional und darf halt nicht xmöxmöirgendwas sein.
MFG
Griever
Moin,
durch diese Maßnahmen Betrügereien verhindern zu wollen wird nicht funktionieren. Glaub mir, ich spreche aus Erfahrung.
MfG
MarkX.
Mahlzeit.
*grummel* Ich möchte doch lediglich eine kontrolle über die korrekte Synthax eines Strings, wo eine E-Mail-Adresse enthalten sein soll. Ich glaub, ich spring gleich im Dreieck.
Mensch. Kannst du mir nicht einfach sagen, wie ich das erkennen kann?
MFG
Griever
hi,
*grummel* Ich möchte doch lediglich eine kontrolle über die korrekte Synthax eines Strings, wo eine E-Mail-Adresse enthalten sein soll. Ich glaub, ich spring gleich im Dreieck.
Mensch. Kannst du mir nicht einfach sagen, wie ich das erkennen kann?
Mensch, kannst du nicht einfach zur Kenntnis nehmen, dass das nicht so trivial lösbar ist?
Das sollte dir der Thread-Verlauf doch mittlerweile aufgezeigt haben.
gruß,
wahsaga
Mahlzeit.
Aber lösbar ist es wohl, oder? Ist mir jetzt eigentlich sc.....egal, wie lang das Script is.
MFG
Griever
Hi griever!
Mensch. Kannst du mir nicht einfach sagen, wie ich das erkennen kann?
Das hat dir doch Cheatah schon geschrieben: https://forum.selfhtml.org/?t=119496&m=766613
MfG H☼psel
Mahlzeit.
Aber so war das nicht gemeint. Ich suche hoffnung für eine Lösung. Da find ich aber keine Hoffnung.
MFG
Griever
Moin!
Mensch. Kannst du mir nicht einfach sagen, wie ich das erkennen kann?
Mensch, liest du eigentlich den gesamten Thread? Deine Antworten sehe ich nur in diesem Zweig hier, aber die anderen Antworten auf dein Ausgangsposting scheinst du zu ignorieren.
- Sven Rautenberg
Mahlzeit.
Sry. Hab echt nicht drauf geachtet.
Aber das meißte, worübe die dort diskutieren, sind sachen, wo ein Laie, wie ich in PHP noch keinen Plan haben. Deshalb suche ich hier für Emails einen "tester" oder "prüfer".
MFG
Griever
hi,
Der User hat eine E-Mail. Da könnte ich das machen. Aber wenn ein User jetzt keine E-Mailadresse besitzt (was durchaus vorkommt), kann dieser durch diese methode nicht bestellen, da ja keine Bestätigungsmail ankommt.
Die theoretische Möglichkeit, dass der User über keinerlei EMail-Account verfügt, darf man glaube ich vernachlässigen.
gruß,
wahsaga
Mahlzeit.
Möchte ich aber nicht vernachlässigen. Wenn er keine Hat, sollte er trotzdem in der Lage sein, von der Seite zu bestellen.
MFG
Griever
hi,
Möchte ich aber nicht vernachlässigen. Wenn er keine Hat, sollte er trotzdem in der Lage sein, von der Seite zu bestellen.
Gut, meinetwegen.
Dann verzichte aber bitte auf eine Überprüfung einer ggf. angegebenen Emailadresse mittels einer fehlerhaften Überprüfungsfunktion. Damit würdest du nämlich ebenfalls Nutzer grundlos ausschließen.
gruß,
wahsaga
Mahlzeit.
Kannst du mir vielleicht eine zuverlässige Seite oder ein Forum nenne, wo ich gut danach forsten kann?
MFG
Griever
Hallo griever!
Einen Moment ...
(resuch...)
Solche Warteschleifen-Postings sind zwar für einen Chat ganz nett,
aber doch bitte nicht an dieser Stelle!
℆, ℒacℎgas
Hallo!
a.b.c.d@asdf.qwer.com ?
Das ist ein gültige Email Adresse wird von dir aber als falsch interpretiert.ebenso wie
"I am @ home!"@example.com
Aha! Das hör ich zum ersten Mal, dass das eine gültige Email Adresse ist. Ich denke, dieser Fall ist so selten, dass ich das für mich vernachlässigen kann. Aber vielleicht bau ich das in meine validate Funktion noch ein.
mfg
frafu
Hi,
Aha! Das hör ich zum ersten Mal, dass das eine gültige Email Adresse ist.
das ist das Problem: Du schlägst eine angebliche Lösung vor, ohne überhaupt eine Ahnung von den Grundlagen zu haben. Letzteres ist nicht schlimm - ersteres schon. Nenne *nie* fertigen Code.
Ich denke, dieser Fall ist so selten, dass ich das für mich vernachlässigen kann.
Du hast eine riesige Masse von "extrem seltenen Fällen" vernachlässigt. Ich stimme bereits der Vernachlässigung eines _einzelnen_ Falls nicht zu[1] - bei Dir hängt das Ergebnis aber vom puren Zufall ab.
Aber vielleicht bau ich das in meine validate Funktion noch ein.
Vielleicht wirfst Du die Funktion einfach über den Haufen.
Cheatah
[1] Unit-Test-Philosophie: Ein Bug ist ein nicht bedachter Testfall. Bugs haben behoben zu werden.
Hi,
Ich möchte eine E-Mail auf vollständigkeit prüfen.
eine E-Mail? Das lässt sich an Deinem Code nicht erkennen. Meinst Du eine E-Mail-Adresse?
Wie kann man das sehr schnell und platzsparend machen?
Platzsparend ist das nicht möglich, weil das Format sehr viel komplexer ist, als Du es ahnst.
if(sizeof($getrennt)==2)
{
if(sizeof($getrennt2)==2)
Warum verwendest Du zwei Abfragen für die selbe Schlussfolgerung? Übrigens ist absolut nicht gesagt, dass der Domainpart nur zwei (bzw. überhaupt zwei) Segmente hat - genauso wenig, wie im Localpart kein "@" vorkommen darf.
Jetzt wollte ich fragen, ob man das auch kürzer formulieren kann.
Ich sehe keinen Grund, Fehler in ihrer Effizienz zu erhöhen.
Cheatah
Mahlzeit.
Da hab ich mich vielleicht etwas falsch ausgedrückt. Sry. Ich einte es etwas anders.
MFG
Griever
Hallo!
Hier mal meine Version:
function validateEmail($email){
$topLevelDomains=array("com","biz","info","org","net","gv","gov","ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at","au","aw","az","ax","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cs","cu","cv","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","eu","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","st","sv","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tp","tr","tt","tv","tw","tz","ua","ug","uk","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","yu","za","zm","zw");
$email=strtolower($email);
$aTmp=split("@",$email);
list($name,$server)=$aTmp;
if(count($aTmp)!=2) // More than one at sign
return false;
if($name=="") // name part is empty
return false;
$domains=split("\.", $server);
if(count($domains)<2)
return false; // no correct domain syntax
if(!in_array($domains[count($domains)-1],$topLevelDomains))
return false; // top level domain is not in list
foreach($domains as $d) // .. in domain
if(strlen($d)==0) return false;
// If script reaches here -> email address is almost ok
return true;
}
mfg
frafu
Hi,
Hier mal meine Version:
das ist erschreckend viel Aufwand, nur um falsche Ergebnisse zu erhalten. Hast Du noch andere Hobbys?
Cheatah
Moin!
$topLevelDomains=array("com","biz","info","org","net","gv","gov","ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at","au","aw","az","ax","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cs","cu","cv","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","eu","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","st","sv","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tp","tr","tt","tv","tw","tz","ua","ug","uk","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","yu","za","zm","zw");
Bist du sicher, dass diese Top-Level-Domain-Liste vollständig und korrekt ist?
Ich weiß beispielsweise, dass dir mindestens fünf TLDs fehlen, davon eine, die durchaus häufiger genutzt wird.
Kleiner Tipp: Die TLDs haben mit Ausbildung, dem Angucken (alter) Sachen, Flugzeugen, Berufen und Namen zu tun.
Außerdem ist an solch einer statischen Liste zu kritisieren, dass sie veralten kann. In den Länder-TLDs ändert sich mit schöner Regelmäßigkeit was, weil irgendein Landstrich auf der Welt die Unabhängigkeit erlangt, oder sich umbenennt oder sich wieder vereinigt.
Und die generischen TLDs sind in einem noch stärkeren Wandel. An ".xxx" wird ja schon längere Zeit herumdiskutiert, ".love" kam jetzt irgendwie neu dazu. Welche Aktivitäten speziellere Interessenvereinigungen noch starten werden, ist vollkommen unbekannt. Und die Bestrebungen, auch auf ebene der TLDs künftig Nicht-ASCII-Zeichen in irgendeiner Form zuzulassen, stehen auch noch ins Haus.
Deshalb halte ich es für Wahnsinn, Listen mit statischen TLD zu verwalten. Wenn jemand herausfinden will, ob der Domain-Teil stimmt, soll er das DNS befragen. Alles andere ist Blödsinn.
- Sven Rautenberg
Hallo!
$topLevelDomains=array("com","biz","info","org","net","gv","gov","ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at","au","aw","az","ax","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cs","cu","cv","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","eu","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","st","sv","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tp","tr","tt","tv","tw","tz","ua","ug","uk","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","yu","za","zm","zw");
Bist du sicher, dass diese Top-Level-Domain-Liste vollständig und korrekt ist?
Eigentlich dachte ich das schon.
Ich weiß beispielsweise, dass dir mindestens fünf TLDs fehlen, davon eine, die durchaus häufiger genutzt wird.
Kleiner Tipp: Die TLDs haben mit Ausbildung,
.edu Danke für den Hinweis.
»»dem Angucken (alter) Sachen, Flugzeugen, Berufen und Namen zu tun.
Da steh ich jetzt auf dem Schlauch. Werd mich schlau machen.
Außerdem ist an solch einer statischen Liste zu kritisieren, dass sie veralten kann. In den Länder-TLDs ändert sich mit schöner Regelmäßigkeit was, weil irgendein Landstrich auf der Welt die Unabhängigkeit erlangt, oder sich umbenennt oder sich wieder vereinigt.
Deshalb halte ich es für Wahnsinn, Listen mit statischen TLD zu verwalten. Wenn jemand herausfinden will, ob der Domain-Teil stimmt, soll er das DNS befragen. Alles andere ist Blödsinn.
Du hast recht. Die statische Liste ist Blödsinn. Jedesmal eine DNS Abfrage abzusetzen aber auch ein ziemlicher Overhead. Ich werd das ganz weglassen.
mfg
frafu
hi,
Da steh ich jetzt auf dem Schlauch. Werd mich schlau machen.
Ist doch easy ;-)
»»dem Angucken (alter) Sachen,
Das macht man im .museum
Flugzeugen,
Russen machen .aero flot(t).
Berufen
Get a .job, kid!
und Namen zu tun.
FraFu ain't a real .name
gruß,
wahsaga
Hallo,
Berufen
Get a .job, kid!
die TLD kannte ich allerdings auch noch nicht. Danke für den Hinweis!
Ciao,
Martin
Moin!
Berufen
Get a .job, kid!
Ich dachte eher an .pro fessionals.
- Sven Rautenberg
Hi,
Get a .job, kid!
Ich dachte eher an .pro fessionals.
Da .travel ich doch lieber in den Urlaub.
Du hattest .love erwähnt - kann ich bei iana nicht entdecken ...
cu,
Andreas
Moin!
Du hattest .love erwähnt - kann ich bei iana nicht entdecken ...
.xxx wohl auch noch nicht - gleiches Thema: Wird noch bearbeitet.
- Sven Rautenberg
Hallo!
Berufen
Get a .job, kid!
Muss dich leider korrigieren. Laut Icann heißt das .jobs. :-)
mfg
frafu
Moin!
Du hast recht. Die statische Liste ist Blödsinn. Jedesmal eine DNS Abfrage abzusetzen aber auch ein ziemlicher Overhead. Ich werd das ganz weglassen.
Es hängt davon ab, was zu erreichen ist.
Ich propagiere insbesondere für Javascript-Ungefährchecks ja den regulären Ausdruck ".+@.+...+" - eine reguläre Mailadresse kann heutzutage nicht kürzer als 6 Zeichen sein. Vor dem @ beliebig viele Zeichen, hinter dem @ beliebig viele Zeichen in den Domains, dann ein Punkt, und nochmal mindestens zwei Zeichen TLD (den Regex kann man auch anders schreiben, kommt aber auf das gleiche raus).
Wenn es hingegen absolut auf die Existenz einer Mailadresse ankommt, z.B. in einem Internetshop, dann prüfe ich weitergehend nacheinander noch:
1. Existiert die angegebene Domain tatsächlich?
2. Hat die Domain MX-Einträge (ein Nein ist nicht böse, aber ungewöhnlich)
3. Akzeptiert der Mailserver die Mail für diese Adresse?
Schritt 3 wird kombiniert mit dem Versuch, dem Neukunden des Shops seine gewählten Accountdaten zuzuschicken. Wenn der Mailserver dort streikt, kriegt er statt "Alles ok, willkommen" eben im Affenformular nochmal die Aufgabe, seine Mailadresse korrekt einzugeben.
Mit diesen reihenweisen Schritten wird der Overhead eigentlich ganz gut minimiert, denn eine komplett falsche Mailadresse wird gar nicht erst in die DNS-Prüfung übergeben, und zum Wegmailen benötige ich zwingend entweder die existierenden MX-Einträge, oder den A-Eintrag der Domain. Es wird also keine überflüssige Arbeit geleistet, um die eigentliche Aufgabe "Mail an den Kunden senden" zu erfüllen - nebenbei wird aber jede fatale Fehlerkondition berücksichtigt.
Übrigend kriegt man sowas selbstverständlich nicht per mail() hin, dazu empfiehlt sich eher die Nutzung von PEAR::Net_SMTP.
- Sven Rautenberg
Mahlzeit.
Hast du vielleicht ein Scriptbeispiel dazu?
MFG
Griever
Moin!
Hast du vielleicht ein Scriptbeispiel dazu?
Ich hätte sogar eine komplette Mail-Klasse dazu.
Allerdings: Die habe ich für ein Kundenprojekt entwickelt, deshalb gebe ich die nicht einfach kostenlos raus. Du willst sie ja auch für einen Shop einsetzen und damit Geld verdienen - ist ja ok, aber ich muß von meiner Arbeit auch irgendwie leben.
Deshalb an dieser Stelle nur der Hinweis: Entweder lernst du, Google zu bedienen und irgendwo eine schlaue Lösung finden. Oder du lernst PHP und PEAR zu benutzen und damit SMTP mit dem Zielserver sprechen, und den Statuscode des Mailversands auszuwerten. Beides kostet dich kein Geld, aber Zeit.
Ich mache dir aber auch gerne ein Angebot.
- Sven Rautenberg
Mahlzeit.
In welcher Preisrichtung würdest du denn so anbieten können?
MFG
Griever
Moin!
In welcher Preisrichtung würdest du denn so anbieten können?
Ich habe dir dazu eine Mail geschickt.
- Sven Rautenberg
Hallo
Hast du vielleicht ein Scriptbeispiel dazu?
Ich hätte sogar eine komplette Mail-Klasse dazu.
Allerdings: Die habe ich für ein Kundenprojekt entwickelt, deshalb gebe ich die nicht einfach kostenlos raus.
Ich finde das äußerst legitim, dass jede Leistung irgendwann Geld kosten muss. Schließlich leben wir alle vom Verdienen.
Aus diesem Grunde möchte ich vorschlagen, einen "ab jetzt kostet es Geld"-Schalter in das Antwort-Formular einzubauen. Man würde damit eine Möglichkeit haben, professionelle Lösungen schneller zu finden. Setzt natürlich voraus, dass Joke-Schalter-Postings rigoros gelöscht
werden. Das muss aber nichts über die Qualität der angebotenen Lösung aussagen.
Dem Sinn von Self steht das meiner Meinung nach auch nicht entgegen, da es die wenigsten hier bis zur Professionalttät schaffen. Das gilt sowohl für Fragesteller als auch für Antwortende.
Nur professionelle Kunden können ein professionelles Angebot würdigen und selber wieder zu Geld machen.
Das Forum sollte mMn durchaus dazu beitragen, Existenzen zu fördern und zu sichern - auf beiden Seiten!
LG
Chris
einfach mal http://data.iana.org/TLD/tlds-alpha-by-domain.txt auslesen.
...ahem... ich würde jetzt regexp benutzen um das zu validieren. Seltsam wieso das bisher keiner vorschlug... Ich finde die Lösung kurz und gut.
ciao
hi,
...ahem... ich würde jetzt regexp benutzen um das zu validieren. Ich finde die Lösung kurz und gut.
Und wie sähe das deiner Meinung nach "kurz und gut" aus?
Seltsam wieso das bisher keiner vorschlug...
Ich frage mich, ob du dem Threadverlauf bisher gefolgt bist, wenn du das mittels RegExp für "einfach" lösbar hältst.
gruß,
wahsaga
Ich halte mich da meisst an die Art und Weise von Christian Kruse:
http://aktuell.de.selfhtml.org/tippstricks/programmiertechnik/email/
ciao
Moin!
Ich halte mich da meisst an die Art und Weise von Christian Kruse:
http://aktuell.de.selfhtml.org/tippstricks/programmiertechnik/email/
Ja, ein netter Artikel, aber leider mit einem handfesten inhaltlichen Problem: Auch dieser aufwendige RegEx leistet nicht das Versprochene, er filtert unzulässig gültige EMail-Adressen heraus:
Die existente TLD .museum beispielsweise besteht aus 6 Zeichen.
Umlaut-Domains werden gar nicht berücksichtigt. Ganz zu schweigen von ungültigen Umlautdomains (je nach TLD sind nur ein paar Umlaute hinzugekommen, nicht gleich der gesamte Unicode-Bereich).
Deshalb ja auch mein Billig-Regex. Das, was der rausfiltert, ist garantiert ungültig. Was er durchläßt, enthält weitere ungültige Adressen, aber garantiert auch alle gültigen. Nichts ist peinlicher, als einen Kunden wegen seiner gültigen Email-Adresse fälschlich abzuweisen.
- Sven Rautenberg
Hallo,
Deshalb ja auch mein Billig-Regex. Das, was der rausfiltert, ist garantiert ungültig. Was er durchläßt, enthält weitere ungültige Adressen, aber garantiert auch alle gültigen. Nichts ist peinlicher, als einen Kunden wegen seiner gültigen Email-Adresse fälschlich abzuweisen.
Eigentlich sollte es doch genügen, den Emailnamen auf genau ein @ zu überprüfen, das nicht an erster Position stehen darf und nicht an letzter, oder?
Schließlich kann der Emailname
a@b
auch Gültigkeit haben, wenn meine lokale Zone einen Host Namens 'b' aufweist und dieser ein Emailkonto namens 'a' verwaltet.
LG
Chris
Moin!
Schließlich kann der Emailname
a@b
auch Gültigkeit haben, wenn meine lokale Zone einen Host Namens 'b' aufweist und dieser ein Emailkonto namens 'a' verwaltet.
Ist im Prinzip richtig, aber deine lokale Zone ist ja im Internet nicht bekannt. Deshalb wird dort eine Mailadresse zwingend mindestens einen Punkt als Domaintrenner enthalten - und als TLD eben mindestens zwei Zeichen haben.
- Sven Rautenberg
Tach,
check das:
$mail="beispiel@email.de";
if (!ereg("[1]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*$",$mail,$regs)) {
//Keine korrekte email-Adresse
}
Mahlzeit.
Ich möchte eine E-Mail auf vollständigkeit prüfen. Wie kann man das sehr schnell und platzsparend machen?
Hier meine Version:
$mail="beispiel@email.de";
$getrennt=explode("@",$mail);
$getrennt2=explode(".",$mail);
if(sizeof($getrennt)==2)
{
if(sizeof($getrennt2)==2)
{
echo "korrekt"
}
else
{
echo "nicht korrekt"
}
}
else
{
echo "nicht korrekt"
}
>
> An dieser Version der Kontrolle habe ich 2 Tage gehangen.
> Jetzt wollte ich fragen, ob man das auch kürzer formulieren kann.
>
> MFG
> Griever
_a-zA-Z0-9- ↩︎
Mahlzeit.
Danke. Ich versuchs damit mal. Aber ich werde auch weiter nach was ausgiebigerem suchen.
MFG
Griever