Я написал сценарий таким образом, что если форма не удалась, пользователь видит сообщение об ошибке, и мне следует отправить электронное письмо. Однако я не получаю электронную почту. Я не вижу ошибок в моем скрипте, и электронная почта нигде не найдена (даже не в спаме). В чем может быть проблема? Я считаю, что мы работаем на Linux-сервере, поэтому по умолчанию должен быть установлен агент почты, верно? Может ли брандмауэр блокировать сообщения?Отправка PHP email
Код:
<?php
if (isset($aErrors) && count($aErrors) > 0) {
print '<ul class="errorlist">';
foreach ($aErrors as $error) {
print '<li>' . $error . '</li>';
}
print '</ul><br />';
$mail_ontv = "[email protected]";
$_POST['onderwerp'] = "Geen Twinfield Abonnement";
// set datum
$datum = date("d.m.Y H:i");
// set ip
$ip = $_SERVER['REMOTE_ADDR'];
$inhoud_mail .= $_SERVER['SCRIPT_URI'] . "\n\n";
$inhoud_mail .= "Iemand probeerde zich aan te melden, maar had geen Twinfield abonnement!\n";
$inhoud_mail .= "Bedrijfsnaam: " . $_SESSION['bedrijfsnaam'] . "\n";
$inhoud_mail .= "Telefoonnummer: " . $_SESSION['telefoonnummer'] . "\n";
$inhoud_mail .= "E-mail adres: " . $_SESSION['email'] . "\n";
$inhoud_mail .= "Telefoonnummer contactpersoon: " . $_SESSION['telefoonnummercontact'] . "\n";
$inhoud_mail .= "E-mail adres contactpersoon: " . $_SESSION['emailcontact'] . "\n";
$inhoud_mail .= "Gewenste gebruikersnaam: " . $_SESSION['gebruikersnaam'] . "\n";
$inhoud_mail .= "Gekozen abonnement: " . $_SESSION['abonnement'] . "\n\n";
$inhoud_mail .= "Verstuurd op " . $datum . " via het ip " . $ip . "\n\n";
$headers = "From: " . $_SESSION['bedrijfsnaam'] . " <" . $_SESSION['emailcontact'] . ">";
$headers = stripslashes($headers);
$headers = str_replace("\n", "", $headers); // Verwijder \n
$headers = str_replace("\r", "", $headers); // Verwijder \r
$headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
$_POST['onderwerp'] = str_replace("\n", "", $_POST['onderwerp']); // Verwijder \n
$_POST['onderwerp'] = str_replace("\r", "", $_POST['onderwerp']); // Verwijder \r
$_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers);
}
?>
Спасибо, ребята!
Я предполагаю, что это связано с вашими заголовками. Как они выглядят как раз перед тем, как они передаются в вашу функцию 'mail()'? – Crontab