Offtopic
palicora Hi, also http://www.nvidia.d...
Nicht eingeloggt

Registrieren
Login

Abgemeldet
- 28.07.10 21:32 Uhr
Hallo zusammen,

Jeder kennt es - das Problem mit den falschen Emailadressen.

Doch mit diesem Skript könnt ihr das einigermassen eindämmen.

Es prüft eine EmailAdresse auf Syntax, Gültigkeit und auf Spammails.

Hier der Code (Sollte selbst erklärend sein.)

Code:
<script type="text/javascript">
    /* <![CDATA[ */
    function createAjaxRequest() {
        var xmlHttp;    
        if ( window.XMLHttpRequest )  {
            xmlHttp = new XMLHttpRequest();
         } else if ( window.ActiveXObject ) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");        
        } else {
            alert("Ihr Webbrowser unterstuetzt leider kein Ajax!");        
        }    
        return xmlHttp;    
    }        
    
    function checkEmail(email) {
        var reqObj = createAjaxRequest(); 
        var emailStr = document.getElementById(email).value;
        document.getElementById(email+'_result').innerHTML = 'Laden bitte warten...';
        reqObj.open('POST', 'validateEmail.php?mode=check', true);    
        reqObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");        
        reqObj.send('Email='+emailStr); 
        reqObj.onreadystatechange = function(){        
            if (reqObj.readyState == 4) {    
                var response = reqObj.responseText;                
                document.getElementById(email+'_result').innerHTML = response;
            }        
        
        }
        
    }
    /* ]]> */
</script>
<?php

/**
 * @author iSn0w
 * @copyright 2010
 */
 
/**
 * Checks an Email
 * 
 * @name    validateEmail
 * @return  string
 * 
 * @param   string  $Email  Email-Adress
 */
 
function validateEmail($Email) {
    
// pr&uuml;fen ob Email nicht leer ist
    
if (isset($Email) && !empty($Email)) {
        
// auf Syntax pr&uuml;fen (string@string.string)
        
if (preg_match("/^[^@]+@.+\.\D{2,5}$/"$Email)) {
            
// Splitten
            
$Split explode('@'$Email);
            
// Domain herausfinden
            
$Domain $Split[(count($Split) - 1)];
            
// pr&uuml;fen ob Server online ist.
            
if (gethostbyname($Domain) != $Domain) {
                
// Spam Emails hier eintragen (mit , trennen)
                
$Not_Valid 'test.de,hallo.de';
                
$Split explode(','$Not_Valid);
                
// Pr&uuml;ft auf Spammails
                
if (!in_array(strtolower($Domain), $Split)) {
                    return 
'valid';
                } else {
                    return 
'spam_mail';
                };
            } else {
                return 
'not_valid';
            };
        } else {
            return 
'syntax';
        };
    } else {
        return 
'empty';
    };
}

if (isset(
$_GET['mode']) == 'check') {
    
// Email pr&uuml;fen
    
$validatedEmail validateEmail($_POST['Email']);
    if (
$validatedEmail == 'valid') {
        
// n&auml;chster schritt
        
echo '<span style="color: green;">Die Email '.htmlentities($_POST['Email']).' scheint g&uuml;ltig zu sein.</span>';
    } else {
        switch (
$validatedEmail) {
            
// leer
            
case 'empty':
                echo 
'<span style="color: red;">Die Email-Adresse ist leer!</span>';
            break;
            
// falscher syntax
            
case 'syntax':
                echo 
'<span style="color: red;">Der Email-Syntax ist falsch!</span>';
            break;
            
// nicht g&uuml;ltig
            
case 'not_valid':
                echo 
'<span style="color: red;">Der Server wurde nicht gefunden!</span>';
            break;
            
// nicht erw&uuml;nscht
            
case 'spam_mail':
                echo 
'<span style="color: red;">Keine erw&uuml;nscht Email-Domain</span>';
            break;
            
// fehler
            
default:
                echo 
'Unbekannter Fehler';
        }
    }
} else {
    
// Forumlar
    
echo '<input id="email" onkeyup="checkEmail(\'email\');" /> <br /><br /> <div id="email_result" style="font-family: Verdana;font-size: 11px;"></div>';
}
?>


Viel spaß damit!

mfg
iSn0w

Sp4x
Betriebsnudel

- 28.07.10 23:41 Uhr
Das ist ja mal Geil :-) Aufhedenfall sehr gute idee ... gleich mal einbauen :-)


<?=$brain->get->known_persons->call->getNoobs();?> is an <?=$brain->get->string->noob;?>
Abgemeldet
- 28.07.10 23:56 Uhr
Freut mich, dass es dir gefällt.

Ich hatte mal eine API für Spammails mit über 1'000 Einträgen. Leider hab ich die nicht mehr, sonst würde ich so eine Schnittstelle einbauen. Aber ich glaube jeder ist dazu im Stande sich eine Liste von Spammail anbietern zu holen.

Mfg
iSn0w

Sp4x
Betriebsnudel

- 29.07.10 12:46 Uhr
Zitat von iSn0w:
Freut mich, dass es dir gefällt.

Ich hatte mal eine API für Spammails mit über 1'000 Einträgen. Leider hab ich die nicht mehr, sonst würde ich so eine Schnittstelle einbauen. Aber ich glaube jeder ist dazu im Stande sich eine Liste von Spammail anbietern zu holen.

Mfg
iSn0w



Klar aufjedenfall ... bekommt man das hin :-) schade um die API ^^


<?=$brain->get->known_persons->call->getNoobs();?> is an <?=$brain->get->string->noob;?>
Ti-Systems
Ehrenmitglied

- 29.07.10 16:25 Uhr
...
Hier mal ein paar:
Code:
$domains = array("trash-mail.com","trash-mail.de","temporaryinbox.com","trashmail.net","dodgit.com","spamgourmet.com","mailexpire.com","sofort-mail.de","dodgeit.com","kasmail.com","mailinator.net","e4ward.com","sneakemail.com","spamex.com","mailshell.com","spammotel.com","netmails.net","emailias.com","nervmich.net","nervtmich.net","wegwerfadresse.de","bumpymail.com","spambog.com","spambog.de","discardmail.com","discardmail.de","spambog.ru","wbb3.de","cust.in","imails.info","great-host.in","teewars.org","super-auswahl.de","kulturbetrieb.info","bio-muesli.net","bio-muesli.info","0815.ru","sandelf.de","recode.me","emailtaxi.de","3d.painting.com","nomail2me.com","emailias.com","jetable.net","mailinator.com","messagebeamer.de","punkass.com","spamtrail.com","spam.la", "nospamfor.us", "nospam4.us", "yopmail.com");


Aber natürlich gibt es noch tausende mehr. Ich würde mal bei Google suchen. Meistens findest du da eine Liste im Textformat (Pro Zeile eine Domain) und dann kannst du die ja einfach per PHP einlesen ;)

mfg Timo

Abgemeldet
- 29.07.10 18:24 Uhr
Nur zur Information: In meinem Code ist es $Not_Valid, und diese werden mit einem , getrent. ( Nur für die, die es in mein Code einbauen wollen).

mfg

Ti-Systems
Ehrenmitglied

- 29.07.10 23:28 Uhr
@Marco: Vielleicht könnte man auch ein bisschen Eigeninitative zeigen und dein Code ein wenig umschreiben?

mfg Timo

Abgemeldet
- 30.07.10 05:11 Uhr
Ja ne ist mir klar, aber es gibt da bestimmte Kandidaten die wirklich keine Selbstinitative zeigen *zu Meenu schiel*. Man(n) weiß ja auch nie über die User richtig bescheid ;)

mfg iSn0w

goeran
Ehrenmitglied

- 04.08.10 18:40 Uhr
Zitat von dasch:
Zitat von iSn0w:
Nur zur Information: In meinem Code ist es $Not_Valid, und diese werden mit einem , getrent. ( Nur für die, die es in mein Code einbauen wollen).

mfg


Du hast den auch nur kopiert ...


Solche netten Anschuldigungen bitte begründend abschließen.

Patschi
Stammgast

- 10.10.10 20:43 Uhr
Ich kenn eine gute API...

Mit über 1,2 Millionen Spammer-Adressen:
http://www.stopforumspam.com/



©2011 Itschi.Net