Toon posts:

[php] form cheken op alles en email domein klopt?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste P&W ers ik heb een vraagje..
ik wil een form gaan maken waar mensen op kunnen contacten online dus dan moeten ze verplicht hun email adres intypen zodat ik ze terug kan mailen nu wil ik het volgende doen:

1. hij moet alles controleren (daar heb ik al een script voor gevonden)
2. maar hij moet in het bijzonder email adres controleren nu weet ik dat er allerlij scriptjes bestaan zodat hij controleerd of er wel een @ instaat maar nu wil ik dat hij op domein controleerd en of hij wel bestaat het email adres?

Kan ik alleen op domein controleren of ook echt of dat email adres ook bestaat? dus user@chello.nl dat user ook echt bestaat of alleen het domein @chello.nl

en hoe zou ik dat het beste en het snelste (met snel bedoel ik laadtijd) kunnen doen?

Verwijderd

Topicstarter
Ik heb even verder gezocht waar ik was gebleven en kwam op phpfreakz een heeel mooi script tegen.. een nadeel is is dat als het domein offlined is dat hij dan weergeeft dat hij niet bestaat.
PHP:
1
<?<font size=2 face="Tahoma"><?if (!isset($mail)) {  $expr = "^([\./_a-z0-9-])+(/)([\._a-z0-9-]+)$";  $rx = eregi($expr,$PHP_SELF,$regs);  if ($rx) {    $self = $regs[3];    echo "Correcte syntax: <b>$regs[3]?mail=emailadres</b>";  } else {    echo "\$PHP_SELF niet geset";  }} else {  $expr = "^([a-z0-9]+)([-_.]?[0-9a-z]+)*(\@)([-\.0-9a-z]{2,})(\.)([a-z]{2,4})$";  $rx = eregi($expr,$mail,$regs);  $host = "";  for ($i = 4; $i < count($regs); $i++) {    $host .= $regs[$i];  }  $fp = fsockopen ($host, "80", $errno, $errstr, 300);  if ($rx &amp;&amp; $fp) {    echo "<b>Geldig emailadres</b><p>    Emailadres: $regs[0]<br>    Gebruikersnaam: $regs[1]$regs[2]<br>    Domein: $host";  } else {    echo "<b>Ongeldig emailadres ($mail)</b>";  }}?>

misschien heeft iemand nog wat nuttige aanpassingen aan dit script? als je dat doet geef ook even aan wat de aanpassing doet :)

  • Mior
  • Registratie: Maart 2000
  • Laatst online: 11-09 16:16
Op donderdag 14 maart 2002 06:27 schreef Godzilla het volgende:
misschien heeft iemand nog wat nuttige aanpassingen aan dit script? als je dat doet geef ook even aan wat de aanpassing doet :)
Het script kijkt of poort 80 open staat op die host. Je kunt hem beter laten kijken of port 25 (smtp) open staat.
PHP:
1
<?$fp = fsockopen ($host, "25", $errno, $errstr, 300);?>

En owja, de eerste regel gaat een parse error geven, gewone html in php ;)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Dit script test alleen of het domein bestaat, niet of de user erin bestaat.
Volgens mij is dat ook niet te doen, anders zou iedereen bijv de hotmail smtp server kunnen vragen om een mooi lijstje van z'n users en deze lekker onder spammen.
Op donderdag 14 maart 2002 08:13 schreef Phantom het volgende:
En owja, de eerste regel gaat een parse error geven, gewone html in php ;)
Nah feature van topix :)

Verwijderd

En als die persoon nu invult: blabla@nospam.com, dan doorstaat ie alle tests, terwijl dat toch niet klopt.

Je moet een confirmation E-mail sturen met een activation code ofzo, dan weet je zeker dat ie toegang heeft tot dat adres.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Zodra deze topic meer richting een script request gaat wordt ie dichtgegooid.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 12:14

Crazy D

I think we should take a look.

Hoe het moet weet ik niet, maar zoek eens een mogelijkheid om een mxrecord op te vragen van een bepaald domein. Chello.nl wil namelijk niet zeggen dat de mailserver ook op chello.nl draait, kan best zijn dat het mxrecord naar een heel ander ip verwijst... (is bv het geval met het domein wat we op m'n werk hebben).
En andersom, chello.nl kan best een webserver hebben maar geen mxrecord dus geen email.

[edit]
vanaf je dosprompt kun je zo eenm mxrecord opvragen:
c:\>nslookup
Default Server: [censuur :P]
Address: 192.168.1.100

> set type=mx
> chello.nl
Server: [censuur :P]
Address: 192.168.1.100

Non-authoritative answer:
chello.nl MX preference = 10, mail exchanger = smtp.chello.nl

chello.nl nameserver = ns01.chello.nl
chello.nl nameserver = ns02.chello.nl
chello.nl nameserver = ns1.upc.nl
smtp.chello.nl internet address = 213.46.243.2
ns01.chello.nl internet address = 212.83.68.130
ns02.chello.nl internet address = 212.83.68.131
ns1.upc.nl internet address = 212.142.28.66

Exact expert nodig?


Verwijderd

Topicstarter
Op donderdag 14 maart 2002 09:35 schreef daxx909 het volgende:
En als die persoon nu invult: blabla@nospam.com, dan doorstaat ie alle tests, terwijl dat toch niet klopt.

Je moet een confirmation E-mail sturen met een activation code ofzo, dan weet je zeker dat ie toegang heeft tot dat adres.
oke een confirm mailtje maar wat voor een info moet erin staan?
(niet de code) maar de informatie die hij moet gebruiken en kan dat ook zonder mysql database?

Verwijderd

Dan zal je het moeten opslaan in een file en als de bezoeker naar de link gaat van het mailtje zal de info opgehaald moeten worden en verstuurd. Is natuurlijk makkelijker met mysql maar moet met files ook lukken.

  • Belgar
  • Registratie: Januari 2002
  • Laatst online: 17-08 22:31

Belgar

Archmaster ranzige code..

Ik weet hoe het kan in C++, dus de conversie naar PHP moet je zelf doen :P . Jammer genoeg zit ik op het werk, dus ik kan niet mijn notes raadplegen, maar here goes:

connect naar poort 25 van dat adres. Nu niet meteen afsluiten maar:

VERIFY ....

sturen (... is GELOOF IK het stuk voor '@provider') 90% zeker dat het verify was, maar mijn geheugen is een zeef. Als het goed is komt de daemon dan terug met een bevestigend bericht, of een deny. Dat kun je opvangen om 100% (nou ja) zeker te zijn dat het adres bestaat. Telnet werkt niet hier, dus ik kan ook niet even gaan testen.

Toch maar ff Googlen:

http://www.cise.ufl.edu/depot/doc/expect.pm/tutorial/6.A.smtp-verify

is dus VRFY, zie ik nu :) Weet niet of dit standaard altijd ondersteund is. Wel voor de toepassing waar ik 'm voor gebruikt heb. (mailing lists controleren, binnen subdomains)

...Als het maar werkt

Pagina: 1