Ik heb het e-mail script van de site gedownload en aangepast. Nadat ik het op mijn server heb gezet, en gestest. Ontving ik in mijn mailbox het bericht.
De afzender die werd weergegeven werd omschreven als httpd.
Vraag hoe kan ik dit veranderen zodat er een omschrijving staat die ik zelf wens of dat de daadwerkelijke afzender wordt weergegeven.
In het volgende stukje gaan we werken:
<?php
if (isset($_POST['address']) && isset($_POST['subject']) && isset($_POST['body'])) {
if ($_POST['address'] == "" || $_POST['body'] == "") {
print_error();
print_form();
} else {
mail("[email protected]", $_POST['subject'], $_POST['body'] . "\n" . $_POST['address']);
print_sent();
}
} else {
print_form();
}
?>
Om bijvoorbeeld een goede afzendernaam te doen moet je zogenaamde headers mee geven aan je mail. En daar zijn er veel van. Maar voor jouw script niet. Zoals Mitch al zegt moet je de header met From gebruiken. Die ziet er dan zo uit:
Zonder de punt, zoals Mitch suggereert, want er is nog geen $header.
Je mail commando moet ook wat aangepast worden:
<?php
mail("[email protected]", $_POST['subject'], $_POST['body'] . "\n" . $_POST['address'], $header);
?>
Daar wordt dus de header meegestuurd met je e-mail.
Dus het totale script wordt dit:
<?php
if (isset($_POST['address']) && isset($_POST['subject']) && isset($_POST['body'])) {
if ($_POST['address'] == "" || $_POST['body'] == "") {
print_error();
print_form();
} else {
$header = "From: \"Naam\" <[email protected]>\r\n";
mail("[email protected]", $_POST['subject'], $_POST['body'] . "\n" . $_POST['address'], $header);
print_sent();
}
} else {
print_form();
}
?>
Plus natuurlijk de troep die er nog bijhoort, zoals het formulier en de meldingen.