login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Contact formulier werkt niet

Offline sicco - 04/10/2007 16:37
Avatar van siccoLid Ik heb een contact forumlier op mijn website, maar deze werkt niet. Natuurlijk heb ik voor die mail@mail.com wel een goed email adres ingevuld, en ik krijg ook gewoon de melding dat de email is verzonden. Dus hij red het tot de echo, maar de mail wordt niet verzonden. Weet iemand hoe dit komt? hier het stukje script waar het verzonden zo moeten worden;

  1. $cEmail = 'mail@mail.com';
  2. $cOndPre = 'Contact formulier -';
  3.  
  4. $cSpam = 10;
  5.  
  6. if(!empty($_POST['verstuur']))
  7. {
  8. $pError = '';
  9. $pI = 0;
  10. if(strlen($_POST['naam']) < 2)
  11. { $pError .= '- <font color="#FF0000">U heeft uw naam niet ingevuld!</font><br>'; $pI++; }
  12. if(strlen($_POST['email']) < 3)
  13. { $pError .= '- <font color="#FF0000">U heeft geen geldig onderwerp ingevuld!</font><br>'; $pI++; }
  14. if(strlen($_POST['onderwerp']) < 3)
  15. { $pError .= '- <font color="#FF0000">U heeft geen geldig onderwerp ingevuld!</font><br>'; $pI++; }
  16.  
  17. if(strlen($_POST['bericht']) < 10)
  18. { $pError .= '- <font color="#FF0000">U heeft geen geldig bericht ingevuld!</font><br>'; $pI++; }
  19.  
  20. if(!empty($pError))
  21. {
  22. echo ($pI == 1) ? 'De volgende fout is opgetreden:<br>' : 'De volgende fouten zijn opgetreden:<br>';
  23. echo $pError;
  24. }
  25. else
  26. {
  27.  
  28.  
  29. $headers = "From:".$_POST['naam']."";
  30.  
  31.  
  32. $pBericht = '
  33. Dit bericht is verstuurd via de contact pagina op www.sickdesigns.nl<br />
  34. <br />
  35. Afzender: '.$_POST['naam'].', '.$_POST['voornaam'].'<br />
  36.  
  37.  
  38. Telefoon: '.$_POST['tel'].'<br />
  39.  
  40. E-mailadres: '.$_POST['email'].'<br />
  41.  
  42.  
  43. <br><hr><br>'.$_POST['bericht'].
  44.  
  45. mail(''.$cEmail, $cOndPre, $pBericht, $headers.'');
  46.  
  47.  
  48.  
  49. echo 'Het formulier is succesvol verzonden!<br>
  50. U zult zo spoedig mogelijk antwoord ontvangen.<br>';

10 antwoorden

Gesponsorde links
Offline marten - 04/10/2007 16:39
Avatar van marten Beheerder headers moet er \n\r (of \r\n) achter staan. En dit dienen er veel meer te zijn dan alleen de from
Offline sicco - 04/10/2007 16:42
Avatar van sicco Lid En dat is de reden dat hij niet verzonden wordt, of in ieder geval niet aankomt?
Offline HOND_NL - 04/10/2007 18:32
Avatar van HOND_NL Nieuw lid je kan ook gewoon deze geniale class gebruiken

http://phpmailer.sourceforge.net/
Offline webstab - 04/10/2007 19:14
Avatar van webstab PHP ver gevorderde Beveilig je formulier door te controleren of het wel een geldig emailadres is (reguliere expressies) en de naam geldig is (reguliere expressies, enkel letters)...

Nu is het een leuk formulier voor spammers
Offline sicco - 04/10/2007 19:17 (laatste wijziging 06/10/2007 18:21)
Avatar van sicco Lid Dat is inderdaad een punt dat ingebouwd moet worden, maar eerst wil ik weten hoe het komt dat hij het niet doet ;) Heb trouwens meerdere scripts geprobeerd maar geen van allen doet het. Voordat de host de update naar php5 doorvoerde deed hij het ook nog. Nu hebben ze mij verzekerd dat de mail functie aanstaat, al hoewel ik daaraan twijfel.

Nu heb ik het volgende gedaan;

  1. <?php
  2. $headers = "From: Sicco <test@hotmail.com>\r\n";
  3. $headers .= "MIME-Version: 1.0\r\n";
  4. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  5. $headers .= "Return-Path: Mail-Error <error@mijnsite.nl>\r\n";
  6. $headers .= "Reply-To: Sicco <test@hotmail.com>\r\n";
  7. $headers .= "Bcc: test@hotmail.com\r\n";
  8.  
  9. $bericht = "Test Bericht";
  10.  
  11. mail("test@hotmail.com", "Test Bericht", $bericht, $headers);
  12.  
  13. echo"Email verstuurd";
  14. ?>


Maar ook dit komt niet aan, toch maar even de host contacteren.
Offline TotempaaltJ - 06/10/2007 22:38
Avatar van TotempaaltJ PHP interesse Hmm... Dit deed het bij mij ook al niet! (Hij verstuurde niks als HTML)
Maar volgens mij zijn de Bcc en Return-Path niet nodig... En Reply-To volgens mij ook niet... 
Offline Koen - 07/10/2007 09:05
Avatar van Koen PHP expert Een tijdje terug had ik ook problemen met de headers,
probeer ze een voor een weg te laten en kijk of je formulier toch aankomt.
bij mij was 'Return-Path' de boosdoener..
Offline sicco - 07/10/2007 11:39
Avatar van sicco Lid Heb ze een voor een weg gelaten, maar alsnog komt hij niet aan  
Offline marvelade - 07/10/2007 12:58
Avatar van marvelade Nieuw lid probeer de aanroep van mail() eens in een if() te steken;

if (mail("test@hotmail.com", "Test Bericht", $bericht, $headers)))
{
echo "sent";
}
else
{
echo "not sent !!!";
}

ook eens ini_set van je SMTP server doen

greetz,
GB
Offline sicco - 07/10/2007 15:22 (laatste wijziging 13/10/2007 11:46)
Avatar van sicco Lid Dan krijg ik de melding sent...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.207s