login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Mail word niet verstuurd?

Offline timo - 28/01/2006 13:25
Avatar van timoPHP ver gevorderde ik ben bezig met een script waarbij er een mailtje vanaf de site kan worden verzonden (bericht, van en naar kan door bezoeker worden opgegeven)
maar het mailtje komt bij mijn gmail niet in me SPAM en niet in m'n Inbox aan, hier het script:
  1. <?php
  2.  
  3.  
  4. function stuurmail()
  5. {
  6. if($_POST['van'] !="" && $_POST['naar'] !="" && $_POST['bericht'] !="")
  7. {
  8. if($_POST['titel'] == "")
  9. {
  10. $titel = "Een mailtje van &nbsp;".$_POST['van'];
  11. } else { $titel = $_POST['titel']; }
  12. $naarwie=$_POST['naar'];
  13. $bericht=$_POST['bericht'];
  14. $headers="From:".$_POST['van'];
  15.  
  16. mail($naarwie, $titel, $bericht, $headers);
  17.  
  18. echo "Je mailtje is succelvol verzonden!";
  19. } else { echo "Je voerde een van de verplichte velden (van,naar of bericht) niet in!"; }
  20. }
  21. if(isset($_POST['verzend']))
  22. {
  23. echo stuurmail();
  24. } else {
  25. ?>
  26. <center>
  27. <fieldset></center><legend align='center'>Verstuur een mailtje via het web!</legend >
  28. <form action="<?=$PHP_SELF; ?>" method="post">
  29. Verstuur naar:*<input type="text" name="naar" />(Indien dit geen geldig adres is zal de mail niet worden verzonden)<Br />
  30. Van:*<input type="text" name="van" /><br />
  31. Onderwerp:<input type="text" name="titel" /><br />
  32. Bericht:*<Br />
  33. <textarea name="bericht" rows="5" cols="30">Typ hier je bericht!</textarea><br />
  34. <input type="reset" value="Wis alle velden" />&nbsp;&nbsp;<input type="submit" value="Verzend de mail!" name="verzend" />
  35. </fieldset>
  36. <?php
  37. }
  38. ?>

5 antwoorden

Gesponsorde links
Offline webstab - 28/01/2006 13:33 (laatste wijziging 28/01/2006 13:35)
Avatar van webstab PHP ver gevorderde Je moet variables mee naar uw functie geven.
stuurmail($_POST['naam'],..)
en dan nog
function stuurmail($naam,...)
en dan nog overal in de functie $_POST['naam'] veranderen door $naam
en dan nog
echo stuurmail(); veranderen naar stuurmail();
Offline xSc - 28/01/2006 13:34 (laatste wijziging 28/01/2006 13:35)
Avatar van xSc Onbekend Timo, even wat dingetjes.

- In je functie echo je, terwijl je de functie ook echoot. (return liever in de functie!)
- Kopieer $_POST- of $_GET-variabelen niet naar een gewone variabelen, wanneer er niets aan de waarde verandert.
- Je moet meer headers meegeven, wil je buiten de SPAM-box. Een From: alleen volstaat niet.
- Gebruik super globals. ( $_SERVER['PHP_SELF'] )
- if(isset($_POST['verzend'])). Zelf gebruik if if ($_SERVER['REQUEST_METHOD'] == 'POST'). Waarom? Dat werkt ook wanneer men de Enter-toets gebruikt, i.p.v. op de knop te klikken.

Offline timo - 28/01/2006 13:40
Avatar van timo PHP ver gevorderde ik heb nu dit:
  1. <?php
  2.  
  3. function stuurmail()
  4. {
  5. if($_POST['van'] !="" && $_POST['naar'] !="" && $_POST['bericht'] !="")
  6. {
  7. if($_POST['titel'] == "")
  8. {
  9. $titel = "Een mailtje van &nbsp;".$_POST['van'];
  10. } else { $titel = $_POST['titel']; }
  11. $naarwie=$_POST['naar'];
  12. $bericht=$_POST['bericht'];
  13. $headers="From:<".$_POST['van'].">";
  14.  
  15. mail($naarwie, $titel, $bericht, $headers);
  16.  
  17. echo "Je mailtje is succelvol verzonden!";
  18. } else { echo "Je voerde een van de verplichte velden (van,naar of bericht) niet in!"; }
  19. }
  20. if($_SERVER['REQUEST_METHOD'] == 'POST')
  21. {
  22. stuurmail($_POST['van'],$_POST['naar'],$_POST['bericht'],$_POST['titel']);
  23. } else {
  24. ?>
  25. <center>
  26. <fieldset></center><legend align='center'>Verstuur een mailtje via het web!</legend >
  27. <form action="<?=$PHP_SELF; ?>" method="post">
  28. Verstuur naar:*<input type="text" name="naar" />(Indien dit geen geldig adres is zal de mail niet worden verzonden)<Br />
  29. Van:*<input type="text" name="van" /><br />
  30. Onderwerp:<input type="text" name="titel" /><br />
  31. Bericht:*<Br />
  32. <textarea name="bericht" rows="5" cols="30">Typ hier je bericht!</textarea><br />
  33. <input type="reset" value="Wis alle velden" />&nbsp;&nbsp;<input type="submit" value="Verzend de mail!" name="verzend" />
  34. </fieldset>
  35. <?php
  36. }
  37. ?>

en het werkt nog niet...
Offline webstab - 28/01/2006 13:55
Avatar van webstab PHP ver gevorderde function stuurmail($van,$naar,$bericht,$titel) {
en dan overal binnen die functie $_POST['bla'] wijzigen naar $bla
Offline Button - 28/01/2006 16:01
Avatar van Button PHP ver gevorderde Je gebruikt dikwijls:
  1. <? $_POST['van'] !="" ?>

hiervoor dient de deze functie:
  1. <? !empty($_POST['van']) ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.212s