У меня есть контактная форма, которая позволяет пользователям загружать вложения. Это странно, потому что, когда я использую контактную форму, появляется сообщение об успешном завершении, но когда я проверяю свой адрес электронной почты, я не получаю ничего ни в папке «Я», ни в папке «Спам». Тем не менее, файлы, которые я прикрепляю к сообщению DO, отображаются в папке/upload, так что часть, кажется, работает правильно.Контактная форма говорит успешно, но не отправляет Email
Просто я не получаю никаких сообщений или чего-либо еще. Я не уверен, что случилось. Код будет вставлен ниже.
<?
if($_SERVER['REQUEST_METHOD'] == "POST") {
$allowedExts = array("gif", "jpeg", "jpg", "png", "doc", "pdf", "docx", "jpg", "docx", "odt", "txt", "msg", "csv", "pps", "ppt", "pptx", "xml", "tar", "m4a", "mp3", "wav", "wma", "mp4", "mov", "flv", "exe");
for ($i = 1; $i <= 2; $i++) {
$temp = explode(".", $_FILES["attach".$i]["name"]);
$extension = end($temp);
if (in_array($extension, $allowedExts)) {
move_uploaded_file($_FILES["attach".$i]["tmp_name"],
"upload/" .$_POST["firstname"]."-".$_FILES["attach".$i]["name"]);
}
}
$to = '[email protected]';
$subject = 'Consultation from '.$_POST["firstname"];
$message = $_POST["message"]."\n\n\n Attachments: ".$_FILES["attach1"]["firstname"]." ".$_FILES["attach2"]["firstname"]." ".$_FILES["attach3"]["firstname"];
$firstname=$_REQUEST['firstname'];
$companyname=$_REQUEST['companyname'];
$email=$_REQUEST['email'];
if (($firstname=="")||($email=="")||($message==""))
{
echo "<strong><p class =greentip>A first name, message, and email are required, please fill <a href=/consult.php>the form</a> again.</p></strong><br>";
}
else{
mail($to, $subject, $message, $firstname, $email);
echo "<strong><p class = greentip>Your free consultation request has been received! Expect a detailed response within the next 3 hours.</p></strong>";
}
}
?>
<form action="" method="post" enctype="multipart/form- data">
<strong>First Name *</strong><br>
<input name="firstname" type="text" value=""><br>
<strong>Company Name </strong><br>
<input name="companyname" type="text" value=""><br>
<strong>Email *</strong><br>
<input name="email" type="text" value=""<br>
<strong>Your message *</strong><br>
<textarea name="message" rows="7" cols="30" placeholder="In your query, include any and all revelant information pertaining to the nature of your writing request. The more specific you are in your request, the more complete we will be in our response!"></textarea><br>
<strong>Attachments</strong><br>
<input name = "attach1" type="file" class="file" />
<br>
<input name = "attach2" type="file" class="file" />
<br><br>
<center><input type="submit" value="submit"></center> <br>
</form>
Вы работаете локально или на сервере? У вас установлен почтовый сервер? –
Последний (пятый) параметр функции почты - это дополнительные параметры командной строки, http://php.net/manual/en/function.mail.php. Вы пытаетесь отправить там заголовок 'From'? Попробуйте поместить «mail» в условное выражение, чтобы вы могли подтвердить, что он терпит неудачу. – chris85
Adndres, у меня нет установленного почтового сервера. Однако в другой моей контактной форме используется тот же код, но без вложений, и он отлично работает. – joshmoe123456