Uitleg gevraagd over contactformulier
Hallo,
Ik maak gebruik van code vh onderstaande contactformulier.
Kan iemand me uitleggen wat het deel vanaf regel 98-110 precies doet?
En regel 105-107 gaat over onderwerp, kan ik dat deel verwijderen als ik een vast hardcoded onderwerp gebruik?
http://www.phphulp.nl/php/script/data-verwerking/contact-formulier/12/contactformulierphp/1419/
Ik maak gebruik van code vh onderstaande contactformulier.
Kan iemand me uitleggen wat het deel vanaf regel 98-110 precies doet?
En regel 105-107 gaat over onderwerp, kan ik dat deel verwijderen als ik een vast hardcoded onderwerp gebruik?
http://www.phphulp.nl/php/script/data-verwerking/contact-formulier/12/contactformulierphp/1419/
Dat script is 12 jaar oud.
De mailheaders zijn niet correct.
De mailheaders zijn niet correct.
Ik adviseer om het mail gedeelte er uit te slopen en dan gebruik te maken van phpMailer of swiftMail.
@SanThe: mailheader zijn niet correct?
Ik heb dit niet voor niets in forum 'Beginnen met PHP' geplaatst, dus graag iets meer uitleg.
@Frank: ik gebruik niet dat hele script maar slecht delen ervan, zoals dus het deel waar mijn vraag over gaat, de veld-validatie en het deel wat bericht verstuurd. Ben eerlijk gezegt al blij dat het prima werkt ;-).
Ik heb dit niet voor niets in forum 'Beginnen met PHP' geplaatst, dus graag iets meer uitleg.
@Frank: ik gebruik niet dat hele script maar slecht delen ervan, zoals dus het deel waar mijn vraag over gaat, de veld-validatie en het deel wat bericht verstuurd. Ben eerlijk gezegt al blij dat het prima werkt ;-).
Maak gebruik van mijn formulier :)
Toevoeging op 17/03/2013 16:21:07:
http://www.phphulp.nl/php/script/php-algemeen/php-email-formulier/1974/mailphp/1843/
En de headers bij dit script zijn niet nodig want hij werkt :)
Toevoeging op 17/03/2013 16:21:07:
http://www.phphulp.nl/php/script/php-algemeen/php-email-formulier/1974/mailphp/1843/
En de headers bij dit script zijn niet nodig want hij werkt :)
@Michael waarschijnlijk zal jouw script de email wel versturen, maar hoe groot is de kans dat de mail ook daadwerkelijk aankomt?
Veel mailservers zullen de mail zonder headers aanzien voor spam en laten hem niet door...
Veel mailservers zullen de mail zonder headers aanzien voor spam en laten hem niet door...
Bij mij komt hij altijd aan
@SanThe:
Jouw headers gebruikt en heb vraagje daarover, zie:
// De naam van de verzender
$naam_verzender = 'Afzender';
// Het geldige emailadres van de afzender
$email_verzender = 'emailadres_van_verzender@zijn_domein.nl';
Wat moet ik in plaats van 'Afzender' en 'emailadres_van_verzender@zijn_domein.nl' plaatsen?
Ik gebruik dit voor opstellen van het mailbericht:
$inhoud_mail .= "Naam: " . $_POST['name'] . "\n";
$inhoud_mail .= "Woonplaats: " . $_POST['woonplaats'] . "\n";
$inhoud_mail .= "E-mailadres: " . $_POST['email'] . "\n";
$inhoud_mail .= "Bericht: \n";
$inhoud_mail .= $_POST['message'] . "\n\n";
Nog iets, hoe voeg ik een vast onderwerp toe aan deze headers (zoals Bericht via website)?
Guido
Jouw headers gebruikt en heb vraagje daarover, zie:
// De naam van de verzender
$naam_verzender = 'Afzender';
// Het geldige emailadres van de afzender
$email_verzender = 'emailadres_van_verzender@zijn_domein.nl';
Wat moet ik in plaats van 'Afzender' en 'emailadres_van_verzender@zijn_domein.nl' plaatsen?
Ik gebruik dit voor opstellen van het mailbericht:
$inhoud_mail .= "Naam: " . $_POST['name'] . "\n";
$inhoud_mail .= "Woonplaats: " . $_POST['woonplaats'] . "\n";
$inhoud_mail .= "E-mailadres: " . $_POST['email'] . "\n";
$inhoud_mail .= "Bericht: \n";
$inhoud_mail .= $_POST['message'] . "\n\n";
Nog iets, hoe voeg ik een vast onderwerp toe aan deze headers (zoals Bericht via website)?
Guido
Gewijzigd op 17/03/2013 16:53:50 door Guido -
Deze gegevens zijn van de bezoeker, dus kunnen uit het formulier komen.
// De naam van de verzender
$naam_verzender = 'Afzender';
// Het geldige emailadres van de afzender
$email_verzender = 'emailadres_van_verzender@zijn_domein.nl';
Het onderwerp is de tweede parameter van mail().
// De naam van de verzender
$naam_verzender = 'Afzender';
// Het geldige emailadres van de afzender
$email_verzender = 'emailadres_van_verzender@zijn_domein.nl';
Het onderwerp is de tweede parameter van mail().
Hoe haal ik die gegevens uit het formulier dan?
Zoals je in mijn code ziet:
Afzender = 'name'
E-mail afzender = 'email'
En wat bedoel je met 2e parameter? Nu stuurt hij bericht zonder onderwerp namelijk. Moet ik extra header toevoegen? Of valt onderwerp niet onder de headers?
Zoals je in mijn code ziet:
Afzender = 'name'
E-mail afzender = 'email'
En wat bedoel je met 2e parameter? Nu stuurt hij bericht zonder onderwerp namelijk. Moet ik extra header toevoegen? Of valt onderwerp niet onder de headers?
$naam_verzender = $_POST['...bezoekersnaam...'];
$email_verzender = $_POST['...bezoekers-email...'];
Zie eens op php.net => mail().
$email_verzender = $_POST['...bezoekers-email...'];
Zie eens op php.net => mail().
Michael vd R op 17/03/2013 16:19:22:
Maak gebruik van mijn formulier :)
En de headers bij dit script zijn niet nodig want hij werkt :)
En de headers bij dit script zijn niet nodig want hij werkt :)
Maak daar aub geen gebruik van. Dat script is niet goed.
@Michael: er is al meerdere keren uitgelegd dat je, wil je op een goede manier gebruik maken van de mailfunctie van php, je headers moet gebruiken. Dat de mail bij jou wel aankomt, ondanks dat het script aan alle kanten rammelt, is meer geluk dan wijsheid.
Heb er nog een keer naar gekeken. Zag dat het formulier met een tabel is opgemaakt. Tabellen zijn daar niet voor bedoeld. Zag daarnaast inline opmaak. Daar is css voor bedacht.
Ben er uit gekomen met de code van onderstaande pagina.
Bij 'afzender' in mijn mailbox staat nu niet langer 'Mijn Site' + mijn eigen e-mailadres:
$headers = 'From: ' . $_POST['name'] . ' <' . $_POST['email'] . '>' . PHP_EOL;
Heb tevens dit toegvoegd om mijn bericht wél een onderwerp te geven:
$subject = 'Bericht via website';
http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
Bij 'afzender' in mijn mailbox staat nu niet langer 'Mijn Site' + mijn eigen e-mailadres:
$headers = 'From: ' . $_POST['name'] . ' <' . $_POST['email'] . '>' . PHP_EOL;
Heb tevens dit toegvoegd om mijn bericht wél een onderwerp te geven:
$subject = 'Bericht via website';
http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
Gewijzigd op 17/03/2013 18:25:10 door Guido -
Guido vd L op 17/03/2013 18:21:32:
$headers = 'From: ' . $_POST['name'] . ' <' . $_POST['email'] . '>' . PHP_EOL;
Als deze gegevens van een bezoeker zijn dan zijn de headers niet correct.
Waarom niet correct?
In mijn mailbox krijg ik nu een bericht met naam en e-mailadres van afzender > lijkt mij goed toch?
Guido
In mijn mailbox krijg ik nu een bericht met naam en e-mailadres van afzender > lijkt mij goed toch?
Guido
De From is de daadwerkelijke verzender en dat is dus de (web)server. Als de mail aankomt wil dat nog niet zeggen dat alles goed is. Kijk ook een naar dit: http://nl.wikipedia.org/wiki/Sender_Policy_Framework




