mooi email script maar werkt niet

Status
Niet open voor verdere reacties.

danman28

Gebruiker
Lid geworden
22 jul 2008
Berichten
40
Ik ben al een hele avond aan het puzzelen waarom ik deze error krijg met dit script
de error die ik krijg nadat ik op verzenden heb geklikt is:

Warning: mail() [function.mail]: SMTP server response: 501 Bad address syntax in C:\wamp\www\cheap4students\mail.php on line 144
Je e-mail is verstuurd

Bedankt voor het versturen van een e-mail. Je zult snel een antwoord krijgen indien dit nodig is.

We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie die we binnen krijgen. Je e-mail adres zal nooit aan derden worden verstrekt.

ik heb php.ini bekeken en die staat goed ingesteld want een andere pagina waarmee ik gebruikers kan registreren zend automatisch wel een email via de server.

Dit is de mail.php

PHP:
<?php
// geef e-mail adres op van ontvanger 
$mail_ontv = "naam@email.com";

// is niet 100% !!! 
function checkmail($mail) 
{ 
    $email_host = explode("@", $mail); 
    $email_host = $email_host['1']; 
    $email_resolved = gethostbyname($email_host); 

    if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail)) 
        $valid = 1; 

    return $valid; 
} 

// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is 
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp'])) 
{ 
    if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))   
    { 
        echo "Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn "; 
        echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>"; 
    } 
      
    // form + tabel 
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"; 
    echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">"; 
      
    // naam 
    echo "<tr><td>Naam:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>E-mail adres:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>Onderwerp:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"onderwerp\" value=\"" . $_POST['onderwerp'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>Bericht:</td></tr>"; 
    echo "<tr><td><TEXTAREA name=\"msggs\" ROWS=\"6\" COLS=\"45\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // button 
    echo "<tr><td>&nbsp;</td></tr>"; 
    echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>"; 
      
    // sluit form + tabel 
    echo "</form>"; 
    echo "</table>"; 
} 
// versturen naar 
else 
{      
    // set datum 
    $datum = date("d.m.Y H:i"); 
      
    // set ip 
    $ip = $_SERVER['REMOTE_ADDR']; 
      
    $inhoud_mail = "===================================================\n"; 
    $inhoud_mail .= "Ingevulde contact formulier\n"; 
    $inhoud_mail .= "===================================================\n\n"; 
    
    $inhoud_mail .= $_SERVER['SCRIPT_URI'] . "\n\n";

    $inhoud_mail .= "Naam: " . $_POST['naam'] . "\n"; 
    $inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n"; 
    $inhoud_mail .= "Bericht:\n"; 
    $inhoud_mail .= $_POST['msggs'] . "\n\n"; 
      
    $inhoud_mail .= "Verstuurd op " . $datum . " via het ip " . $ip . "\n\n"; 
      
    $inhoud_mail .= "===================================================\n\n"; 
    
    // -------------------- 
    // spambot protectie 
    // ------ 
    // van de tutorial: http://www.phphulp.nl/php/tutorials/10/340/ 
    // ------ 
    
    $headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">";
    
    $headers = stripslashes($headers);
    $headers = str_replace("\n", "", $headers); // Verwijder \n 
    $headers = str_replace("\r", "", $headers); // Verwijder \r 
    $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes 
    
    $_POST['onderwerp'] = str_replace("\n", "", $_POST['onderwerp']); // Verwijder \n 
    $_POST['onderwerp'] = str_replace("\r", "", $_POST['onderwerp']); // Verwijder \r 
    $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes 
     
    mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers); 
     
    echo "<h1>Je e-mail is verstuurd</h1>";
    
    echo "<p>Bedankt voor het versturen van een e-mail. Je zult snel een antwoord "; 
    echo "krijgen indien dit nodig is.</p>"; 
     
    echo "<p>We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie "; 
    echo "die we binnen krijgen. Je e-mail adres zal nooit aan derden worden verstrekt.</p>"; 
} 
?>
 
aan de error te zien licht het niet aan je php :p
heb je je mailserver wel aanstaan?
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan