Hallo Allemaal,
Wie kan mij helpen om dit script aantepassen.
Wil graag controleren op dns en mx , deze check zal kunnen zien of een emailadres bestaat. Dus er moet gecontroleerd worden op domein en op acocuntnaam.PHP Code:
<?php
function checkdnsrr($hostName, $recType = '') {
if(!empty($hostName)) {
if( $recType == '' ) $recType = "MX";
exec("nslookup -type=$recType $hostName", $result);
// check each line to find the one that starts with the host
// name. If it exists then the function succeeded.
foreach ($result as $line) {
if(eregi("^$hostName",$line)) {
return true;
}
}
// otherwise there was no mail handler for the domain
return false;
}
return false;
}
function getmxrr($hostname, &$mxhost)
{
$mxhost = array();
exec('%SYSTEMDIRECTORY%\\nslookup.exe -q=mx '.escapeshellarg($hostname), $result_arr);
foreach($result_arr as $line)
{
if (preg_match("/.*mail exchanger = (.*)/", $line, $matches))
$mxhost[] = $matches[1];
}
return( count($mxhost) > 0 );
}
//--End of workaround
###-------database-instellingen-------###
$host = "localhost"; // host ( meestal localhost )
$gebruiker = "nieuwsbrief"; // Mysql gebruikersnaam
$pass = "nieuwsbrief"; // Mysql Paswoord
$database = "nieuwsbrief"; // naam van de database
###-------Mail-instellingen-----------###
$mijnnaam = "jouw naam"; //vul hier je naam in
$mail = "false"; //typ false om mailen wanneer er iemand aanmeldt uit te schakelen
$mijnmail = "jouwadres@jouwdomein.ext"; //plaats hier jouw e-mail adres
$submit_subject = "aanmelden nieuwsbrief!"; //onderwerp van het bericht als iemand aanmeldt
$delete_subject = "afmelden nieuwsbrief!"; //onderwerp van het bericht als iemand afmeldt
$submit_bericht = ""; //bericht wat verstuurd wordt als iemand aangemeld wordt
$delete_bericht = ""; //bericht wat verstuurd wordt als iemand afgemeld wordt
###---- afblijven----######
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$mijnnaam." <".$mijnmail.">\r\n";
###------------------######
?>
<html>
<head><title>Test</title>
<script type="text/javascript" language="JavaScript">
function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = ""
}
</script>
</head>
<body>
<h2><strong>De folder meteen downloaden!</strong></h2>
<form method="POST" action="<? echo $_SERVER['php_self'] ?>">
<input type="text" name="email" value="E-mail" size="14" onFocus="clearText(this)">
<input type="hidden" name="action" value="aan" checked>
<input type="submit" value="Doorgaan" name="signup">
</form>
<?php
// error_reporting(E_ALL); //haal de slashes weg error reporting aan te zetten
mysql_connect($host, $gebruiker, $pass) or die("database onbereikbaar");
mysql_select_db($database) or die("database niet gevonden");
# Deze funtie controleerd of het opgegeven E-mail adres wel kan bestaan.
function checkmail($email) {
if(preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/" , $email)) {
# Spits het opgegeven E-mail adres op in de E-mail accountnaam en het E-mail domein.
list($email_account, $email_domain) = split('@',$email);
# Controleer of er een 'MX'-record bestaat voor het E-mail domein.
$result = checkdnsrr($email_domain,'MX');
# Als het E-mail domein bestaat krijg je 1 terug anders een 0;
# Geeft het resultaat terug waar de functie is aangeroepen.
return $result;
}
}
# Controleer of er een E-mail adres is opgegeven.
if (!ISSET($email))
{
# Als er geen E-mail adres is opgegeven, laat dan aan formulier zien waarin een E-mail adres kan worden opgegeven.
echo "<form action='' method='post'>\n";
echo "</form>\n";
} else {
# Als er wel een E-mail adres is opgegeven, ga deze controleren.
if (checkmail($email) == 1)
{
# Het E-mail domein bestaat, dus is de kans zeer groot dat dit E-mail adres klopt. Goedgekeurd!
echo "";
} else {
# Het E-mail domein bestaat niet! Dus geven we aan dat we hier niet mee akkoord gaan! Afgekeurd!
echo "";
# De gebruiker moet nogmaals een E-mail adres opgeven. Een link om naar het formulier te gaan.
echo "";
}
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if($action == "aan"){
if($email == "" || $email == "E-mail"){
echo "<font color=\"red\">Vul uw E-mailadres in!</font><br />";
}
else{
$result = mysql_query("select * from nieuwsbrief WHERE email='".$email."' ORDER BY email DESC");
$row = mysql_fetch_assoc($result);
if($row['email'] == $email){
$exists = "true";
}
else{
$exists = "false";
}
if($exists == "true") {
echo "<font color=\"red\">Het E-mail adres staat al in de lijst!</font><br />";
}
elseif(!checkmail($email)) {
echo "<font color=\"red\">E-mail adres is ongeldig!</font><br />";
}
else{
mysql_query("INSERT INTO `nieuwsbrief` (email, ip) VALUES ('".$email."','".$_SERVER['REMOTE_ADDR']."')") or die("database onbereikbaar");
if($mail == "true"){
mail($email, $submit_subject, $submit_bericht, $headers);
}
echo "<font color=\"blue\">E-mail adres succesvol toegevoegd!</font><br />";
}
}
}
elseif($action == "af"){
if($email == "" || $email == "E-mail"){
echo "<font color=\"red\">Vul uw E-mail adres in!</font><br />";
}
else{
$result = mysql_query("select * from nieuwsbrief WHERE email='".$email."' ORDER BY email DESC");
$row = mysql_fetch_assoc($result);
if($row['email'] == $email){
$exists = "true";
}
else{
$exists = "false";
}
if($exists == "true") {
mysql_query("DELETE FROM `nieuwsbrief` WHERE email='".$email."'") or die("database onbereikbaar");
echo "<font color=\blue\">E-mail Succesvol verwijdert!</font><br />";
if($mail == "true"){
mail($email, $delete_subject, $delete_bericht, $headers);
}
}
elseif(!checkmail($email)) {
echo("<font color=\"red\">E-mail adres is ongeldig!</font><br />");
}
else{
echo "<font color=\"red\">E-mail Staat niet in de lijst!</font><br />";
}
}
}
}
?>
</body>
</html>
http://www.dnsstuff.com/tools/mail.c...an@hotmail.com
mx1.hotmail.com. - 65.54.244.8 [Could not connect: Got an unknown RCPT TO response: 550 Requested action not taken: mailbox unavailable
http://www.dnsstuff.com/tools/mail.c...in=info@kok.nl
mail.kok.nl. - 62.58.0.14 [Successful connect: Got a good response [250 <info@kok.nl> Recipient OK]] (took 0.985 seconds)
- Scripting vraagje
-
05-07-2007, 14:38 #1
- Berichten
- 111
- Lid sinds
- 18 Jaar
Scripting vraagje
Laatst aangepast door richard d : 06-07-2007 om 11:11
-
In de schijnwerper
-
05-07-2007, 19:46 #2
- Berichten
- 69
- Lid sinds
- 19 Jaar
Gelieve wat specifieker te zijn met je vraag. De meeste mensen hebben geen tijd om een volledig script door te pluizen.
-
06-07-2007, 10:43 #3
- Berichten
- 111
- Lid sinds
- 18 Jaar
Hi Vincent,
Bedankt voor je toelichting, er word nu alleen op domein gecheckt of deze bestaat. Dit werkt ook nog niet goed.
Ik wil dus met deze scripting ook checken of het emailadres echt bestaat.
Zonder dat de aanmelder daar een bevestiging hoeft te geven via de mail.
http://hexillion.com/asp/samples/Sim...Validation.asp
Als ik invul.
-- rejected
of-- accepted
Hier een voorbeeld van het huidige script,
http://www.dtasystems.nl/nieuwsbrief/
Heb de database functie uitgeschakeld.Laatst aangepast door richard d : 06-07-2007 om 11:14
-
09-07-2007, 07:54 #4
- Berichten
- 111
- Lid sinds
- 18 Jaar
Ik hoop dat ik duidelijk genoeg ben.
Ik denk zelf dat dit een voordeel is voor iedereen, mocht dit script werken dan hoef je niet meer bang te zijn voor mailadressen die niet werken. Of het email-adres daadwerkelijk van de desbetreffende is is een ander verhaal.
Hoop dat iemand mij hierin kan steunen, zodat andere mensen er misschien ook wat aan hebben.
Zonder dat het je geld kost en je het script moet kopen.
Mochten er nog vragen zijn, of mocht het niet duidelijk zijn dan hoor ik dat graag.
Tags voor dit bericht
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic