PHP форма отправки электронной почты не работает каждый раз
РЕДАКТИРОВАТЬ: Это отличается от возможного дубликата, так как они никогда не получили письмо. Мой отправляет случайно.
Код ниже работал нормально в течение почти года. Однако на прошлой неделе он отправляет сообщения только тогда, когда хочет. Мои ребята используют его в разных местах на разных устройствах, и это одно и то же.
Существует HTML-форма, которая отправляет этот код PHP, который затем отправляет мне электронное письмо и отображает страницу подтверждения HTML. Они получают страницу подтверждения, но я не получаю письмо. Позже в тот же день, если я нанесу ответный удар, затем отправлю еще раз, я получу электронное письмо.
Я не могу понять это. Любые предложения относительно того, что происходит? Я подумываю о создании базы данных SQL, которую она сначала отправляет, чтобы я мог посмотреть, что они ввели, если я не получу письмо.
Спасибо!
<?php
if(isset($_POST['submit'])) {
$to = "email_removed@gmail.com";
$subject = "Daily Inventory Submission";
// data the visitor provided
$location_field = filter_var($_POST['location'], FILTER_SANITIZE_STRING);
$yourname_field = filter_var($_POST['yourname'], FILTER_SANITIZE_STRING);
$biscuitsfull_field = filter_var($_POST['biscuits_full'], FILTER_SANITIZE_STRING);
$biscuitspartial_field = filter_var($_POST['biscuits_partial'], FILTER_SANITIZE_STRING);
$biscuitsemergency_field = filter_var($_POST['biscuits_emergency'], FILTER_SANITIZE_STRING);
$gravyfull_field = filter_var($_POST['gravy_full'], FILTER_SANITIZE_STRING);
$gravypartial_field = filter_var($_POST['gravy_partial'], FILTER_SANITIZE_STRING);
$eggsfull_field = filter_var($_POST['eggs_fullflats'], FILTER_SANITIZE_STRING);
$eggspartial_field = filter_var($_POST['eggs_partial'], FILTER_SANITIZE_STRING);
$cheese_field = filter_var($_POST['cheese'], FILTER_SANITIZE_STRING);
$sausagefull_field = filter_var($_POST['sausage_full'], FILTER_SANITIZE_STRING);
$sausagepartial_field = filter_var($_POST['sausage_partial'], FILTER_SANITIZE_STRING);
$jalapenos_field = filter_var($_POST['jalapenos'], FILTER_SANITIZE_STRING);
$sprayoil_field = filter_var($_POST['spray_oil_cans'], FILTER_SANITIZE_STRING);
$pouroil_field = filter_var($_POST['pour_oil'], FILTER_SANITIZE_STRING);
$tofu_field = filter_var($_POST['tofu'], FILTER_SANITIZE_STRING);
$almondmilk_field = filter_var($_POST['almond_milk'], FILTER_SANITIZE_STRING);
$veganbutter_field = filter_var($_POST['vegan_butter'], FILTER_SANITIZE_STRING);
$realbutter_field = filter_var($_POST['real_butter'], FILTER_SANITIZE_STRING);
$bacon_field = filter_var($_POST['bacon'], FILTER_SANITIZE_STRING);
$togo_field = filter_var($_POST['to_go'], FILTER_SANITIZE_STRING);
$hereboats_field = filter_var($_POST['here_boats'], FILTER_SANITIZE_STRING);
$flour_field = filter_var($_POST['flour'], FILTER_SANITIZE_STRING);
$potatoes_field = filter_var($_POST['potatoes'], FILTER_SANITIZE_STRING);
$waters_field = filter_var($_POST['waters'], FILTER_SANITIZE_STRING);
$oj_field = filter_var($_POST['orange_juice'], FILTER_SANITIZE_STRING);
$topo_field = filter_var($_POST['topo'], FILTER_SANITIZE_STRING);
$cokes_field = filter_var($_POST['cokes'], FILTER_SANITIZE_STRING);
$comment = filter_var($_POST['comment'], FILTER_SANITIZE_STRING);
//constructing the message
$body = "
Location: $location_field\n
Employee: $yourname_field\n\n
Biscuits_FULL: $biscuitsfull_field\n
Biscuits_Partial: $biscuitspartial_field\n
Biscuits_Emergency: $biscuitsemergency_field\n\n
Gravy_Full: $gravyfull_field\n
Gravy_Partial: $gravypartial_field\n\n
Eggs_Full: $eggsfull_field\n
Eggs_Partial: $eggspartial_field\n\n
Cheese: $cheese_field\n\n
Sausage_Full: $sausagefull_field\n
Sausage_Partial: $sausagepartial_field\n\n
Jalapenos: $jalapenos_field\n\n
Spray Oil Cans: $sprayoil_field\n
Pour Oil : $pouroil_field\n\n
Tofu: $tofu_field\n
Almond Milk: $almondmilk_field\n
Vegan Butter: $veganbutter_field\n\n
Real Butter: $realbutter_field\n\n
Bacon: $bacon_field\n\n
To Go Boxes: $togo_field\n
Here Boats: $hereboats_field\n\n
Flour: $flour_field\n
Potatoes: $potatoes_field\n\n
Waters: $waters_field\n
Daiya: $oj_field\n
Topos: $topo_field\n
Cokes: $cokes_field\n\n
Message:\n\n $comment";
mail($to, $subject, $body);
// redirect to confirmation
header('Location: confirmation.htm');
} else {
echo "Error, not sent";}
?>
1 ответ
Я бы предложил использовать класс, специально предназначенный для этой цели, вместо использования функции сырой почты, посмотрите https://github.com/PHPMailer/PHPMailer.