overenie existencie mailu

Programovacie jazyky, rady, poradňa...
neppo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 774
Registrovaný: 09 jún 2005, 15:33

overenie existencie mailu

Príspevok od používateľa neppo »

da sa nejako v php overit ci nejaky mail existuje ? napr. do formulara zadam mail a ked dam tlacitko registrovat a mail neexistuje tak mi to vypise
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

nie, vies iba skontrolovat ci bola zadana validna mailova adresa. teda ci zadany retazec splna normnu RFC XXXX
lama2d
VIP
VIP
Príspevky: 1006
Registrovaný: 24 feb 2005, 14:54
Bydlisko: PostgreSQL

Príspevok od používateľa lama2d »

... a to takto

Kód: Vybrať všetko

function validemail($email) {
    return preg_match('/^[\w.-]+@([\w.-]+\.)+[a-z]{2,6}$/is', $email);
}
zupanok
Medium Star
Medium Star
Príspevky: 325
Registrovaný: 19 dec 2005, 18:43
Bydlisko: MT

Príspevok od používateľa zupanok »

mastermind napísal:nie, vies iba skontrolovat ci bola zadana validna mailova adresa. teda ci zadany retazec splna normnu RFC XXXX
akože nie, jednoduchou podmienkou to môže predsa vypísať,
napr.
if (empty($_POST[mail])) { echo "nezadal si email";}
za správnosť zápisu neručím, ale nejak takto by to mohlo byť,
samozrejme treba zabezpečiť, aby sa ti takýto formulár neodoslal,
na to môžeš použiť podobnú podmienku, kde uvedieš všetky položky ktoré odosielaš, ale aj tak si myslím, že vhodnejšie je na to použiť JS, ktorý ti tú kontrolu urobí ešte u teba a nie až na servery (v prípade php)
lama2d
VIP
VIP
Príspevky: 1006
Registrovaný: 24 feb 2005, 14:54
Bydlisko: PostgreSQL

Príspevok od používateľa lama2d »

zupanok - prosim ta pekne, kde si sa docital, ze chce zistit ci email bol zadany?
zupanok
Medium Star
Medium Star
Príspevky: 325
Registrovaný: 19 dec 2005, 18:43
Bydlisko: MT

Príspevok od používateľa zupanok »

bol si rýchlejší ako ja, práve som to zistil a chcel zmazať ten príspevok, ale už to nešlo
Kosh
King
King
Používateľov profilový obrázok
Príspevky: 1835
Registrovaný: 09 jún 2005, 13:10
Bydlisko: Za okrajom galaxie
Kontaktovať používateľa:

Re: overenie existencie mailu

Príspevok od používateľa Kosh »

neppo napísal:da sa nejako v php overit ci nejaky mail existuje ? napr. do formulara zadam mail a ked dam tlacitko registrovat a mail neexistuje tak mi to vypise
neda sa
misiacik
Novice
Novice
Príspevky: 1
Registrovaný: 07 sep 2005, 16:55
Kontaktovať používateľa:

re:

Príspevok od používateľa misiacik »

a co toto

Kód: Vybrať všetko

<?
 
/*
 By: Jon S. Stevens [email protected]
 Copyright 1998-1999 Jon S. Stevens, Clear Ink
 This code has all the normal disclaimers.
 It is free for any use, just keep the credits intact.
*/
 
function validateEmail ( $email )
{
    global $SERVER_NAME;
    $return = array ( false, "" );
    list ( $user, $domain )  = split ( "@", $email, 2 );
    $tld = $domain;
    if ( checkdnsrr ( $tld, "MX" ) )
    {
        if ( getmxrr ( $tld, $mxhosts, $weight ) )
        {
            for ( $i = 0; $i < count ( $mxhosts ); $i++ )
            {
                $fp = fsockopen ( $mxhosts[$i], 25 );
                if ( $fp )
                {
                    $s = 0;
                    $c = 0;
                    $out = "";
                    set_socket_blocking ( $fp, false );
                    do
                    {
                        $out = fgets ( $fp, 2500 );
                        if ( ereg ( "^220", $out ) )
                        {
                            $s = 0;
                            $out = "";
                            $c++;
                        }
                        else if ( ( $c > 0 ) && ( $out == "" ) )
                        { break; }
                        else
                        { $s++;    }
                        if ( $s == 9999 ) { break; }
 
                    } while ( $out == "" );
                    set_socket_blocking ( $fp, true );
 
                    fputs ( $fp, "HELO $SERVER_NAME\n" );
                    $output = fgets ( $fp, 2000 );
                    fputs ( $fp, "MAIL FROM: <info@" . $tld . ">\n" );
                    $output = fgets ( $fp, 2000 );
                    fputs ( $fp, "RCPT TO: <$email>\n" );                
                    $output = fgets ( $fp, 2000 );
                    if ( ereg ( "^250", $output ) )
                    {
                        $return[0] = true;
                    }
                    else
                    {
                        $return[0] = false;
                        $return[1] = $output;
                    }
                    fputs ( $fp, "QUIT\n" );
                    fclose( $fp );
 
                    if ( $return[0] == true )
                    { break; }
                }
            }
        }
    }
    return $return;
}
?>
nasiel som to tu

Kód: Vybrať všetko

http://www.inspired.sk/php/kontrola-existencie-e-mailu/
nech sa vyjadria znalejsi, ja s php len zacinam..
Napísať odpoveď