Возникла следующая проблема - навскиду, после редактирования .php файла формы обратной связи при отправке писем стала появляться такая ошибка:
Could not instantiate mail function. Mailer Error: Could not instantiate mail function.
Восстановил исходный файл - ошибка осталась, письма не идут. Из редактирования была лишь попытка прикрутить распознаватель кода в линке и его отправление в тело письма.
Код таков:
<?php
include "form.html";
function send_mail() {
$name = htmlspecialchars($_REQUEST['element_1']);
$email = htmlspecialchars($_REQUEST['element_2']);
if (empty($name)) {
echo "Incorrect Name";
} else {
if(!preg_match("/^[0-9a-z_\.\-]+@[0-9a-z_\.\-]+\.[a-z]{2,6}$/i", $email)) {
echo "Incorrect e-mail";
} else {
$message = '<b>Customer</b>'.$_REQUEST['element_1'].'<br /> <b>E-mail</b>'.$_REQUEST['element_2'].'<br /> <b>Phone</b>'.$_REQUEST['element_3'].'<br /> <b>Order</b>'.$_REQUEST['element_4'];
include "class.phpmailer.php";
$mail = new PHPMailer();
$mail->From = $_REQUEST['element_2'];
$mail->FromName = $_REQUEST['element_1'];
$mail->AddAddress('моё.мыло@gmail.com',"Admin");
$mail->IsHTML(true);
$mail->Subject = $_POST['element_3'];
if(isset($_FILES['element_5'])) {
if($_FILES['element_5']['error'] == 0) {
$mail->AddAttachment($_FILES['element_5']['tmp_name'],$_FILES['element_5']['name']);
}
}
$mail->Body = $message;
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
echo 'Thank You!';
}
}
}
if (!empty($_POST['submit'])) send_mail();
?>
Собсно, чем вызвана эта хрень? Если бы я накосячил в коде, то восстановление бэкапа решило бы проблему. Получается, это совпадение? Хостера трепать? Или можно как-то по-другому обойти проблему? Менять на smtp не вариант - не настрою, чувствую печенкой..