login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP Emailadres verzender!

Offline erikgietema - 22/08/2005 18:21
Avatar van erikgietemaNieuw lid :D Guys and dolls,

Ik weet niet echt veel van PHP, aldoende leert men. Hieronder staat een php code die prima werkt. (flash bestand met invulvelden heb ik niet toegevoegd) Flashbestand stuurt na de verzendknop het bestand 'mail.php' aan. Werkt prima, echter als ik Outlook open dan staat er:

Van:VISP@isd-holland.nl in plaats van 'VISP@isd-holland.nl' wil ik graag het Emailadres hebben van de verzender! That's it.

Nu ben ik bezig geweest met Headers in de code, echter kom er niet uit. Nu kreeg ik van 'Rensjuh' een tut tot aanbeveling, heb het gelezen en duizelt mij nog steeds. Te groot te veel... Heb het idee dat het een klein stukje code moet zijn dat bij onderstaande code moet, maar is er iemand die mij dat regeltje code zou kunnen vertellen? Of een goed suggestie heeft!

Nogmaals dat is alles, alleen het laatste puzzelstukje moet op zijn plekkie! ALVAST veel dank! (hieronder de PHP code)

<?php

$bericht = 'Er is nieuwe mail voor u.

Naam: ' . $_POST['Naam'] . '

Bedrijfsnaam: ' . $_POST['Bedrijf'] . '

Postcode: ' . $_POST['Postcode'] . '

Land: ' . $_POST['Land'] . '

Telefoon: ' . $_POST['Telefoon'] . '

Emailadres: ' . $_POST['Emailadres'] . '

Hun vraag is: ' . $_POST['Invulveld'];

nl2br($bericht);
mail("erikgietema@home.nl", "Ask your question to us", $bericht);
?>
:D

14 antwoorden

Gesponsorde links
Offline Rens - 22/08/2005 18:27
Avatar van Rens Gouden medaille

Crew algemeen
Gebruik code tags!

  1. <?php
  2.  
  3. $bericht = "Er is nieuwe mail voor u.
  4.  
  5. Naam: " . $_POST['Naam'] . "\n\n
  6.  
  7. Bedrijfsnaam: " . $_POST['Bedrijf'] . "\n\n
  8.  
  9. Postcode: " . $_POST['Postcode'] . "\n\n
  10.  
  11. Land: " . $_POST['Land'] . "\n\n
  12.  
  13. Telefoon: " . $_POST['Telefoon'] . "\n\n
  14.  
  15. Emailadres: " . $_POST['Emailadres'] . "\n\n
  16.  
  17. Hun vraag is: " . $_POST['Invulveld'];
  18.  
  19. $headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
  20. mail("erikgietema@home.nl", "Ask your question to us", $bericht, $headers);
  21. ?>


Die nl2br zal nix helpen, je bericht word zonder een html header niet als html weergeven.
Ik heb je ' even veranderd naar " en een \n neergeplant.
Ik geloof dat de \n alleen werkt bij ", vandaar die ' ==> ".
Offline erikgietema - 22/08/2005 19:46 (laatste wijziging 22/08/2005 19:48)
Avatar van erikgietema Nieuw lid Hallo Rensjuh, jij alweer?!

Dank voor het meedenken zeg!! en het meeschrijven, je zegt 'code tags', ahumm weet niet eens wat ze doen!, neem aan de /n/n enzovoorts..., echt tijd voor mij voor een beginnersboek php...

Ik ga gelijk de code proberen, ik laat het weten of het lukt!:D 

Again: big thanx!:D
Offline MechaVore - 22/08/2005 20:45 (laatste wijziging 22/08/2005 20:45)
Avatar van MechaVore Gouden medaille

PHP gevorderde
met code tags bedoelt hij [ code] en [/code] dat is ubb. daardoor krijgt je php code kleurtjes. 
Offline erikgietema - 22/08/2005 20:59
Avatar van erikgietema Nieuw lid aha! dat zijn dus de code tags!

Wel, ik heb de nieuwe code van Rensjuh precies zo overgenomen in mijn 'mail.php' bestandje.... echter hij werkt niet! Ik krijg nu helemaal geen mailtjes binnen in mijn Outlook. Ben al een tijd aan het prutsen, ben er bijna... maar nog niet helemaal.

Waar kan dat aanliggen, krijg het zware vermoeden dat het php bestandje nu niks doorstuurt. Ik heb al wat " en de /n/n en dergelijke weggehaald... Alles geprobeerd zo 'logisch' mogelijk op te lossen, echter geen succes. Bij naam_verzender en email_verzender ook dingen veranderen? (hieronder..)

$headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
mail("erikgietema@home.nl", "Ask your question to us", $bericht, $headers);
?>

Ik snap het niet, mijn eerdere code verstuurde wel mailtjes, wat doe ik fout of is de code nog niet helemaal okidoki?!



:s   
Offline Fenrir - 22/08/2005 21:44 (laatste wijziging 22/08/2005 21:44)
Avatar van Fenrir PHP expert Ik heb voor mezelf deze mail-class geschreven:

  1. <?php
  2.  
  3. class Mail
  4. {
  5. var $to;
  6. var $from;
  7. var $subject;
  8. var $message;
  9. var $html = false;
  10. var $attachments = array();
  11. var $headers = array();
  12.  
  13. function Mail()
  14. {}
  15.  
  16. function Prepare()
  17. {
  18. $this->subject = str_replace("\n", '', $this->subject);
  19.  
  20. $this->headers[] = 'To: '.$this->to;
  21. $this->headers[] = 'From: '.$this->from;
  22. $this->headers[] = 'MIME-Version: 1.0';
  23. $this->headers[] = 'Content-Transfer-Encoding: 7bit';
  24.  
  25. if(empty($this->attachments))
  26. {
  27. if($this->html)
  28. {
  29. $this->headers[] = 'Content-type: text/html; charset=iso-8859-1';
  30. }else
  31. {
  32. $this->headers[] = 'Content-type: text/plain; charset=iso-8859-1';
  33. }
  34. }else
  35. {
  36. $bound = 'Mailer'.rand(123, 23723745);
  37. $this->headers[] = 'Content-Type: multipart/mixed; boundary="'.$bound.'"';
  38. $this->message = "\n".'--'.$bound."\n".($this->html ?
  39. 'Content-type: text/html; charset=iso-8859-1' :
  40. 'Content-type: text/plain; charset=iso-8859-1')."\n".
  41. 'Content-Transfer-Encoding: 7bit'."\n".
  42. $this->message;
  43.  
  44. foreach($this->attachments as $file)
  45. {
  46. $this->message .= "\n".'--'.$bound."\n".'Content-type: '.$file->mime.'; name="'.$file->location."\"\n".
  47. 'Content-Transfer-Encoding: base64'."\n".
  48. 'Content-Disposition: attachment'."\n".
  49. base64_encode($file->contents);
  50. }
  51.  
  52. $this->message .= "\n".'--'.$bound.'--';
  53. }
  54.  
  55. if(is_array($this->headers))
  56. {
  57. $this->headers = implode("\n", $this->headers)."\n";
  58. }
  59. }
  60.  
  61. function Send()
  62. {
  63. $this->Prepare();
  64. mail($this->to, $this->subject, '', $this->headers.$this->message);
  65. }
  66. }
  67.  
  68. class File
  69. {
  70. var $location;
  71. var $contents;
  72. var $mime;
  73.  
  74. function File()
  75. {}
  76.  
  77. function Read()
  78. {
  79. if(!empty($this->location) && empty($contents))
  80. {
  81. $this->contents = file_get_contents($location);
  82. }
  83. return $this->contents;
  84. }
  85. }
  86.  
  87. ?>


Zo gebruiken:

  1. <?php
  2. $mail = new Mail();
  3. $mail->to = 'vb@vb.com';
  4. $mail->from = 'je_eigen_email@dom.com';
  5. $mail->subject = 'onderwerp';
  6. $mail->message = 'bericht';
  7.  
  8. $mail->send();
  9. ?>


Je kunt ook met HTML-mail, attachments, en extra headers werken.
Offline erikgietema - 22/08/2005 23:52 (laatste wijziging 23/08/2005 00:00)
Avatar van erikgietema Nieuw lid Hallo Fenrir,

Bedankt voor de lange code, zeer gewaardeerd...

Echter ik heb al een code gekregen van Rensjuh en ik wil liever niet weer switchen van een code naar een andere code.... In de onderstaande code staat precies alles wat ik eigenlijk wil, echter er moet volgens mij een kleine aanpassing in gebeuren. Flashbestand stuurt na de verzendknop het bestand 'mail.php' (code hieronder) aan.

Nogmaals Ik krijg nu helemaal geen mailtjes binnen in mijn Outlook. Ben al een tijd aan het prutsen, ben er bijna... maar nog niet helemaal.

Waar kan dat aanliggen, krijg het zware vermoeden dat het php bestandje nu niks doorstuurt. Ik heb al wat " en de /n/n en dergelijke weggehaald... Alles geprobeerd zo 'logisch' mogelijk op te lossen, echter geen succes. Bij naam_verzender en email_verzender ook dingen veranderen?!!! (hieronder..)

Graag wil ik alleen aanpassingen in deze onderstaande php code... wie maakt mij losss...?


<?php

$bericht = 'Er is nieuwe mail voor u.

Naam: ' . $_POST['Naam'] . '

Bedrijfsnaam: ' . $_POST['Bedrijf'] . '

Postcode: ' . $_POST['Postcode'] . '

Land: ' . $_POST['Land'] . '

Telefoon: ' . $_POST['Telefoon'] . '

Emailadres: ' . $_POST['Emailadres'] . '

Hun vraag is: ' . $_POST['Invulveld'];

$headers = 'From: '.$naam_verzender.' <'.$email_verzender.'>';
mail("erikgietema@home.nl", "Ask your question to us", $bericht, $headers);
?>
Offline Rens - 22/08/2005 23:58 (laatste wijziging 23/08/2005 00:03)
Avatar van Rens Gouden medaille

Crew algemeen
Verander dit eens:

  1. mail("erikgietema@home.nl", "Ask your question to us", $bericht, $headers);


in dit:

  1. if(!mail("erikgietema@home.nl", "Ask your question to us", $bericht, $headers))
  2. {
  3. echo "De mail is niet verstuurd!";
  4. } else
  5. {
  6. echo "De mail is verstuurd!";
  7. }


edit; En mailtje van mij?:s
Offline erikgietema - 23/08/2005 00:01 (laatste wijziging 23/08/2005 00:14)
Avatar van erikgietema Nieuw lid Late night and still going!

Bedankt Rensjuh... Dit is nu de gehele code met jouw allerlaatse wijziging hieronder, krijg gewoon geen mailtjes meer binnen bij Outlook, heb de laatste code erin gezet, de boel geupload naar server. Overigens staat mijn invulformulier op www.ribonova.nl onder kopje "Company'' en dan ''press release' hierin staat tijdelijk een formulier (flash)

Laat ik er maar een nachie over slapen, nogmaals hieronder jouw allerlaatste code(s) Moet ik ergens toch nog iets wijzigen ofzo..?



<?php

$bericht = "Er is nieuwe mail voor u.

Naam: " . $_POST['Naam'] . "\n\n

Bedrijfsnaam: " . $_POST['Bedrijf'] . "\n\n

Postcode: " . $_POST['Postcode'] . "\n\n

Land: " . $_POST['Land'] . "\n\n

Telefoon: " . $_POST['Telefoon'] . "\n\n

Emailadres: " . $_POST['Emailadres'] . "\n\n

Hun vraag is: " . $_POST['Invulveld'];

$headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
if(!mail("erikgietema@home.nl", "Ask your question to us", $bericht, $headers))
{
echo "De mail is niet verstuurd!";
} else
{
echo "De mail is verstuurd!";
}
?>
Offline jeroenoa - 23/08/2005 08:34
Avatar van jeroenoa Onbekend
  1. <?php
  2.  
  3. $bericht = "Er is nieuwe mail voor u.
  4.  
  5. Naam: " . $_POST['Naam'] . "\n\n
  6.  
  7. Bedrijfsnaam: " . $_POST['Bedrijf'] . "\n\n
  8.  
  9. Postcode: " . $_POST['Postcode'] . "\n\n
  10.  
  11. Land: " . $_POST['Land'] . "\n\n
  12.  
  13. Telefoon: " . $_POST['Telefoon'] . "\n\n
  14.  
  15. Emailadres: " . $_POST['Emailadres'] . "\n\n
  16.  
  17. Hun vraag is: " . $_POST['Invulveld'];
  18.  
  19. $headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
  20. if(!mail("erikgietema@home.nl", "Ask your question to us", $bericht, $headers);)
  21. {
  22. echo "De mail is niet verstuurd!";
  23. } else
  24. {
  25. echo "De mail is verstuurd!";
  26. }
  27. ?>


zo dan mail();  
Offline erikgietema - 23/08/2005 13:14 (laatste wijziging 23/08/2005 13:28)
Avatar van erikgietema Nieuw lid Jongens, echt tof dat jullie meedenken!!

Ik heb een flashfile die prima werkt de verzendknop stuurt onderstaande code aan. In de flashfile zijn de volgende velden gedefinieerd:

Naam
Bedrijf
Postcode
Land
Telefoon
Emailadres
Invulveld

De onderstaande code van Rensjuh werkt prima, bij Outlook wil ik echter graag bij Van: het emailadres van de verstuurder. Meer niet. Deze regel is volgens mij de boosdoener, $headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
Ik heb geen velden: naam_verzender en email_verzender, hiervoor moet toch andere veld komen te staan?! Zoiets als:
$headers = "From: ".$Emailadres.">\r\n";

Heb deze regel geprobeerd, krijg geen mail meer binnen bij Outlook, als ik de regel weg haal dan krijg ik wel weer mail, echter ik wil graag als ik mail krijg dat bij Van: het emailadres er staat van de verstuurder, moet iets klein en simpels zijn, echter maar wat!? wie heeft een suggestie!?



  1. <?php
  2.  
  3. $bericht = "Er is nieuwe mail voor u.
  4.  
  5. Naam: " . $_POST['Naam'] . "\n\n
  6.  
  7. Bedrijfsnaam: " . $_POST['Bedrijf'] . "\n\n
  8.  
  9. Postcode: " . $_POST['Postcode'] . "\n\n
  10.  
  11. Land: " . $_POST['Land'] . "\n\n
  12.  
  13. Telefoon: " . $_POST['Telefoon'] . "\n\n
  14.  
  15. Emailadres: " . $_POST['Emailadres'] . "\n\n
  16.  
  17. Hun vraag is: " . $_POST['Invulveld'];
  18.  
  19. $headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
  20.  
  21. mail("erikgietema@home.nl", "Ask your question to us", $bericht, $headers);
  22. ?>
[code]
Offline Rens - 23/08/2005 13:23
Avatar van Rens Gouden medaille

Crew algemeen
Dus als ik het goed begrijp is het probleem nu opgelost?
Offline erikgietema - 23/08/2005 13:29
Avatar van erikgietema Nieuw lid Jongens, echt tof dat jullie meedenken!!

Ik heb een flashfile die prima werkt de verzendknop stuurt onderstaande code aan. In de flashfile zijn de volgende velden gedefinieerd:

Naam
Bedrijf
Postcode
Land
Telefoon
Emailadres
Invulveld

De onderstaande code van Rensjuh werkt prima, bij Outlook wil ik echter graag bij Van: het emailadres van de verstuurder. Meer niet. Deze regel is volgens mij de boosdoener, $headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
Ik heb geen velden: naam_verzender en email_verzender, hiervoor moet toch andere veld komen te staan?! Zoiets als:
$headers = "From: ".$Emailadres.">\r\n";

Heb deze regel geprobeerd, krijg geen mail meer binnen bij Outlook, als ik de regel weg haal dan krijg ik wel weer mail, echter ik wil graag als ik mail krijg dat bij Van: het emailadres er staat van de verstuurder, moet iets klein en simpels zijn, echter maar wat!? wie heeft een suggestie!?



  1. <?php
  2.  
  3. $bericht = "Er is nieuwe mail voor u.
  4.  
  5. Naam: " . $_POST['Naam'] . "\n\n
  6.  
  7. Bedrijfsnaam: " . $_POST['Bedrijf'] . "\n\n
  8.  
  9. Postcode: " . $_POST['Postcode'] . "\n\n
  10.  
  11. Land: " . $_POST['Land'] . "\n\n
  12.  
  13. Telefoon: " . $_POST['Telefoon'] . "\n\n
  14.  
  15. Emailadres: " . $_POST['Emailadres'] . "\n\n
  16.  
  17. Hun vraag is: " . $_POST['Invulveld'];
  18.  
  19. $headers = "From: ".$naam_verzender." <".$email_verzender.">\r\n";
  20.  
  21. mail("erikgietema@home.nl", "Ask your question to us", $bericht, $headers);
  22. ?>
[code]
Offline Thomas - 23/08/2005 14:15
Avatar van Thomas Moderator naam_verzender moet tussen dubbele quotes, het formaat is altijd:
"naam" <email>

als je maar 1 veld hebt ($Emailadres) dan gebruik je deze toch zowel voor naam als email-adres ?

Sommige (mail)servers accepteren ook geen \r. Dus probeer eerst het bovenstaande - werkt dit niet, dan verwijder je alle voorkomens van "\r" uit je mail-headers.
Offline erikgietema - 23/08/2005 16:00 (laatste wijziging 23/08/2005 16:01)
Avatar van erikgietema Nieuw lid FangorN bedankt!

Eindelijk dan, maar toch... .het werkt! Bij binnenkomst van mail in Outlook staat er bij Van: het emailadres van de verstuurder, precies wat ik wou.

Deze regel er neergezet, gaat goed. Nu is het toch tijd voor een goed boek 'PHP voor dummies' voor mij...

Iedereen die mee heeft gedacht, echt supertof!!!

  1. $headers = "From: ".$Emailadres."\r\n";
^^ :) 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.299s