Toon posts:

[PHP] E-mail adres controleren

Pagina: 1
Acties:
  • 115 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Niet alleen de *@*.* maar echt controleren net als dat je met
fopen('http://www.hotmail.com/','r'); kan controleren of een url bestaat

Ik heb het alles voorbij zien komen maar die search kon me niet helpen.

(Als jullie gaan kankeren dat ik moet zoeken, zeg dan hoe jullie het gevonden hebben (wat jullie in getypt hebben), ikke [PHP ] email en email controleren)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Versturen en kijken of ie terugkomt >:)

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Sorry hoor,
maar dit soort reacties vind ik echt :r
Die jongen wil gewoon hulp en dan denkt ie dat ie wat gevonden heeft en dan staat er weer zo'n zinloze tekst.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Op vrijdag 02 februari 2001 11:10 schreef ceidhof het volgende:
Sorry hoor,
maar dit soort reacties vind ik echt :r
...
weer zo'n zinloze tekst.
De tekst is minder zinloos dan de kortheid doet vermoeden.

Martin

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

De enige manier om het te controleren is door te doen wat SendMail anders voor je zou doen, namelijk:
1) de MX record voor het domein waar je naar wil sturen opzoeken in een nameserver
2) een connectie leggen naar de SMTP poort van de server uit het MX record
3) zeggen dat je mail hebt van jouw user op jouw server naar die user op die server, en kijken of de server accept of denied

Voor zover ik weet kan je al deze dingen voor elkaar krijgen in PHP, maar is weinig standaard.

Succes! :)

Verwijderd

Je kan idd gaan controleren op MX records, maar echt snel is dat in de regel niet. En je bereikt er ook zo weinig mee. Als mensen niet hun e-mail willen geven, geven ze wel een 2e 'spam' adres, of een e-mail adres van iemand anders. Beste controle blijft een een of ander random nummer mailen, en dat moet worden ingevoerd om je te kunnen inschrijven. Maar zelfs dit is al redelijk drastisch (en zou ik niet zomaar toepassen). Als je die MX check wil hebben moet je ff kijken op:
http://www.phpioneers.com/phplist.php3
naar de bestanden
*checkmail.php3
*validatemail.php3

Goodluck

Verwijderd

Daar heeft The_dude inderdaad gelijk in.

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 10:16

Verwijderd

Topicstarter
Op vrijdag 02 februari 2001 11:32 schreef The_dude het volgende:
Je kan idd gaan controleren op MX records, maar echt snel is dat in de regel niet. En je bereikt er ook zo weinig mee. Als mensen niet hun e-mail willen geven, geven ze wel een 2e 'spam' adres, of een e-mail adres van iemand anders. Beste controle blijft een een of ander random nummer mailen, en dat moet worden ingevoerd om je te kunnen inschrijven. Maar zelfs dit is al redelijk drastisch (en zou ik niet zomaar toepassen).
Daar heb je idd gelijk in, iemand een random nummer mailen heeft geen zin, ik wil een forum schrijven (kan ik wel hoor ;) ) Maar ik wil zonder users werken, het moet voor iedereen toe gankelijk zijn ookal posten ze maar 1 keer. Ze moeten alleen wel een email adres invullen. Maar dat MX controleren was idd wel een goed id, maar dan heb je spam adressen probleem, ik controleer wel op de *@*.*(.*)

Iig bedankt, voor validiteit te controleren lukt wel.

Verwijderd

hier staat een uitgebreide emailvalidator. Bij mij werkte hij niet, ik heb geen geduld gehad om te kijken waarom (had hem niet zo erg nodig).
Succes iig!

  • Tuinhark
  • Registratie: April 2000
  • Laatst online: 05-09 14:21

Tuinhark

Retro

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
function check_email($email, $check_dns = false) //by chids @ www.zend.com
{
  if(
      (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email))
      ||
      (preg_match('/^.+\@(\\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/', $email))
    )
  {
    if($check_dns)
    {
      $host = explode('@', $email);
      // Check for MX record
      if( checkdnsrr($host[1], 'MX') ) return true;
      // Check for A record
      if( checkdnsrr($host[1], 'A') ) return true;
      // Check for CNAME record
      if( checkdnsrr($host[1], 'CNAME') ) return true;
    }
    else
    {
      return true;
    }
  }
  return false;
}
?>

Als je als 2e parameter een true meegeeft, gaat hij ook checken of de domeinnaam geldig is. >:)

:Y)
Pagina: 1