griever: Email erkennen

0 55

Email erkennen

griever
  • php
  1. 0
    FraFu
    1. 0
      Cheatah
      1. 0
        griever
        1. 0
          Cheatah
          1. 0
            griever
            1. 0
              griever
              1. 0
                Cheatah
                1. 0
                  griever
                  1. 0
                    Hopsel
                    1. 0
                      griever
                      1. 0
                        dey
                        1. 0
                          griever
                          1. 0
                            MarkX
                            1. 0
                              griever
                              1. 0
                                wahsaga
                                1. 0
                                  griever
                              2. 0
                                Hopsel
                                1. 0
                                  griever
                              3. 0
                                Sven Rautenberg
                                1. 0
                                  griever
                      2. 0
                        wahsaga
                        1. 0
                          griever
                          1. 0
                            wahsaga
                            1. 0
                              griever
            2. 0

              Bitte warten... Sie werden gleich weiterverbunden...

              Lachgas
              • zur info
      2. 0
        FraFu
        1. 0
          Cheatah
  2. 0
    Cheatah
    1. 0
      griever
  3. 0
    FraFu
    1. 1
      Cheatah
    2. 0
      Sven Rautenberg
      1. 0
        FraFu
        1. 0
          wahsaga
          1. 0
            Der Martin
          2. 0
            Sven Rautenberg
            1. 0
              MudGuard
              1. 0
                Sven Rautenberg
          3. 0
            FraFu
        2. 0
          Sven Rautenberg
          1. 0
            griever
            1. 0
              Sven Rautenberg
              1. 0
                griever
                1. 0
                  Sven Rautenberg
              2. 0

                Profi -Fragen und -Angebote schneller finden

                Chris
                • zu diesem forum
    3. 0
      malte
  4. 0
    Indyaner
    1. 0
      wahsaga
      1. 0
        Indyaner
        1. 0
          Sven Rautenberg
          1. 0
            Chris
            1. 0
              Sven Rautenberg
  5. 0
    Zed
    1. 0
      griever

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

--
LOOK MY PAGE!
  1. 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

    1. 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

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. 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

        --
        LOOK MY PAGE!
        1. 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

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. Mahlzeit.

            Einen Moment ...

            (resuch...)

            MFG
            Griever

            --
            LOOK MY PAGE!
            1. Mahlzeit.

              http://www.javarea.de/index.php3?opencat=PHP&subcat=Codeschnipsel&id=496

              Dort unter Quellcode anzeigen.

              MFG
              Griever

              --
              LOOK MY PAGE!
              1. 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

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. 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

                  --
                  LOOK MY PAGE!
                  1. 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

                    --
                    "It's amazing I won. I was running against peace, prosperity, and incumbency."
                    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
                    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
                    1. 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

                      --
                      LOOK MY PAGE!
                      1. 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

                        --
                        -- noch immer ein erfolgloser <DIV> Jünger --
                        1. 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

                          --
                          LOOK MY PAGE!
                          1. Moin,

                            durch diese Maßnahmen Betrügereien verhindern zu wollen wird nicht funktionieren. Glaub mir, ich spreche aus Erfahrung.

                            MfG
                            MarkX.

                            1. 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

                              --
                              LOOK MY PAGE!
                              1. 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

                                --
                                /voodoo.css:
                                #GeorgeWBush { position:absolute; bottom:-6ft; }
                                1. Mahlzeit.

                                  Aber lösbar ist es wohl, oder? Ist mir jetzt eigentlich sc.....egal, wie lang das Script is.

                                  MFG
                                  Griever

                                  --
                                  LOOK MY PAGE!
                              2. 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

                                --
                                "It's amazing I won. I was running against peace, prosperity, and incumbency."
                                George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
                                Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
                                1. Mahlzeit.

                                  Aber so war das nicht gemeint. Ich suche hoffnung für eine Lösung. Da find ich aber keine Hoffnung.

                                  MFG
                                  Griever

                                  --
                                  LOOK MY PAGE!
                              3. 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

                                --
                                My sssignature, my preciousssss!
                                1. 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

                                  --
                                  LOOK MY PAGE!
                      2. 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

                        --
                        /voodoo.css:
                        #GeorgeWBush { position:absolute; bottom:-6ft; }
                        1. 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

                          --
                          LOOK MY PAGE!
                          1. 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

                            --
                            /voodoo.css:
                            #GeorgeWBush { position:absolute; bottom:-6ft; }
                            1. Mahlzeit.

                              Kannst du mir vielleicht eine zuverlässige Seite oder ein Forum nenne, wo ich gut danach forsten kann?

                              MFG
                              Griever

                              --
                              LOOK MY PAGE!
            2. 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

              --
              Bei der intendierten Realisierung der linguistischen Simplifizierung
              des regionalen Idioms resultiert die Evidenz der Opportunität extrem
              apparent, den elaborierten und quantitativ opulenten Usus nicht assi-
              milierter Xenologien konsequent zu eliminieren!
      2. 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

        1. 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.

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
  2. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Mahlzeit.

      Da hab ich mich vielleicht etwas falsch ausgedrückt. Sry. Ich einte es etwas anders.

      MFG
      Griever

      --
      LOOK MY PAGE!
  3. 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

    1. Hi,

      Hier mal meine Version:

      das ist erschreckend viel Aufwand, nur um falsche Ergebnisse zu erhalten. Hast Du noch andere Hobbys?

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
    2. 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

      --
      My sssignature, my preciousssss!
      1. 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

        1. 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

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. Hallo,

            Berufen
            Get a .job, kid!

            die TLD kannte ich allerdings auch noch nicht. Danke für den Hinweis!

            Ciao,

            Martin

            --
            Man sollte immer wissen was man sagt
            - aber auf keinen Fall alles sagen, was man weiß.
          2. Moin!

            Berufen

            Get a .job, kid!

            Ich dachte eher an .pro fessionals.

            - Sven Rautenberg

            --
            My sssignature, my preciousssss!
            1. 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

              --
              Warum nennt sich Andreas hier MudGuard?
              Schreinerei Waechter
              Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
              1. Moin!

                Du hattest .love erwähnt - kann ich bei iana nicht entdecken ...

                .xxx wohl auch noch nicht - gleiches Thema: Wird noch bearbeitet.

                - Sven Rautenberg

                --
                My sssignature, my preciousssss!
          3. Hallo!

            Berufen

            Get a .job, kid!

            Muss dich leider korrigieren. Laut Icann heißt das .jobs. :-)

            mfg
              frafu

        2. 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

          --
          My sssignature, my preciousssss!
          1. Mahlzeit.

            Hast du vielleicht ein Scriptbeispiel dazu?

            MFG
            Griever

            --
            LOOK MY PAGE!
            1. 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

              --
              My sssignature, my preciousssss!
              1. Mahlzeit.

                In welcher Preisrichtung würdest du denn so anbieten können?

                MFG
                Griever

                --
                LOOK MY PAGE!
                1. Moin!

                  In welcher Preisrichtung würdest du denn so anbieten können?

                  Ich habe dir dazu eine Mail geschickt.

                  - Sven Rautenberg

                  --
                  My sssignature, my preciousssss!
              2. 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

    3. einfach mal http://data.iana.org/TLD/tlds-alpha-by-domain.txt auslesen.

  4. ...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

    1. 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

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Ich halte mich da meisst an die Art und Weise von Christian Kruse:
        http://aktuell.de.selfhtml.org/tippstricks/programmiertechnik/email/

        ciao

        1. 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

          --
          My sssignature, my preciousssss!
          1. 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

            1. 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

              --
              My sssignature, my preciousssss!
  5. 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
    

    1. _a-zA-Z0-9- ↩︎

    1. Mahlzeit.

      Danke. Ich versuchs damit mal. Aber ich werde auch weiter nach was ausgiebigerem suchen.

      MFG
      Griever

      --
      LOOK MY PAGE!