Ik gebruik phpmailer om mijn mails te verzenden. Het verzenden lukt en ik krijg de mail ook netjes binnen bij mijn gmail maar ik krijg naast mijn normale echo nog een hoop andere info retour als verzenden gelukt is.
Dit is wat ik zie:


Dit is mijn mailcode met form eronder:

<?php

// functie spamcheck
function spamcheck($field)
  {
  //filter_var() sanitizes the e-mail
  //address using FILTER_SANITIZE_EMAIL
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);

  //filter_var() validates the e-mail
  //address using FILTER_VALIDATE_EMAIL
  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
    return TRUE;
    }
  else
    {
    return FALSE;
    }
  }

if($_SERVER['REQUEST_METHOD'] == 'POST') 
{  
  
// definieren variabelen
// PHP mailer settings
require_once ('../phpmailer/class.phpmailer.php');

$mail = new PHPMailer(true);

$mail->CharSet = 'utf-8'; //sets character set

$mail->IsSMTP();  //To inform that we are using SMTP 

$mail->SMTPDebug = 2;  //Shows long message set to 1 to avoid it

$mail->Host = "smtp.gmail.com"; // As we are using gmail SMTP

$mail->Port = "465";  // smtp port number

$mail->SMTPSecure = "ssl"; //gmail requires authentication through ssl or tls

$mail->SMTPAuth = true; 

// your account details for authentication provide correct user name and password
$mail->Username = "[email protected]"; 

$mail->Password = "mijnpassword"; 

$mail->From = $_POST['email']; 

$mail->FromName = $_POST['naam']; 

$mail->AddAddress("[email protected]", "Jack Maessen"); 

$mail->Subject = "Contactformulier";

// variabelen body en body email opmaken

$naam = $_POST['naam'];
$achternaam = $_POST['achternaam'];
$email = $_POST['email'];
$bericht = $_POST['bericht'];

               

$body = "";
$body .= "Naam: ";
$body .= $naam;
$body .= "<br />";
$body .= "Achternaam: ";
$body .= $achternaam;
$body .= "<br />";    
$body .= "Email: ";
$body .= $email;
$body .= "<br />";
$body .= "Bericht: ";
$body .= $bericht;
$body .= "<br />";


$mail->WordWrap = 80; 

$mail->MsgHTML($body, dirname(__FILE__), true); //Create message bodies and embed images 



// check of submitter een robot is en of er geldige input is geleverd
$mailcheck = spamcheck($_POST['email']);

if($_POST['robot'] != "test_spambot") {
    die();				    
} 
//check of email geldig is
elseif ($mailcheck==FALSE) {
    echo "Ongeldige input";
}
else {

// email verzenden 
$formsent = $mail->Send(); 

// echo's als verzenden goed of fout is gegaan
if ($formsent){
  echo 'Dank voor het versturen'; 
}
else{
  echo 'Sorry, maar er is iets misgegaan met het formulier, probeer het later nog eens.'; 
    }
  }
} // eind request method
?>

<form action="" method="post" name="" id="">
  <input type="hidden" name="robot" value="test_spambot" /><br />
  Naam: <br />
  <input type="text" name="naam" /><br />
  Achternaam: <br />
  <input type="text" name="achternaam" /><br />
  Email: <br />
  <input type="email" name="email" /><br />
  Bericht: <br />
  <textarea name="bericht" /></textarea>
  <br /><br />
  <input type="reset" value="Reset" />
  <input type="submit" value="Verzenden" />
   
</form>


Hoe kan ik die overbodige informatie weg krijgen zodat alleen de echo verschijnt?
Regel 35
$mail->SMTPDebug = 2; //Shows long message set to 1 to avoid it
En dan nog dit:

<?php
...
if($_SERVER['REQUEST_METHOD'] == 'POST') 
{
...

exit; // Op deze manier wordt het formulier niet opnieuw getoond
} // eind request method
?>
<form ...>
...
Kris Peeters op 12/11/2013 15:48:22

En dan nog dit:

<?php
...
if($_SERVER['REQUEST_METHOD'] == 'POST') 
{
...

exit; // Op deze manier wordt het formulier niet opnieuw getoond
} // eind request method
?>
<form ...>
...



exit; is onnodig voor dit.
yep idd; echter als ik de waarde op 1 zet gaf ie nog steeds alles weer, maar heb de hele regel eruit gehaald en nu krijg ik alleen nog maar de echo
@Kris: dat ziet er idd wat professioneler uit als men de form verzonden heet
Dank voor support

Reageren