Хостинг 1gb.ru/
В общем прикрутил на сайт ф-ю отправки сообщений. Писал ее еще года 2 назад. Работала все нормально, на gmail точно письма приходили. Сейчас фигня в том, что письма доходят только на одну единственну мою почту @bk.ru . Ни на gmail, yandex, mail письма не доходят. Ради интереса создал еще одну почту на майл @bk.ru и нет писем! А на мою почту доходят. Не вкуриваю что не так....
# Подключаем файлы
require_once $_SERVER['DOCUMENT_ROOT']."/mail/protection.class.php";
# Переносим данные в защищенные массивы
protection::getLock();
protection::postLock();
class mail {
private $message = array();
private $validationResult = array();
# Параметры по умолчанию
function __construct() {
# Получатель
$this->message['to'] = "адрес почты";
$this->message['headers'] = "Content-type: text/html; charset=utf-8 \r\n";
$this->message['headers'] .= "Content-Transfer-Encoding: base64 \r\n";
$this->message['headers'] .= "From: ".$this->message['from'];
}
# Заголовок письма
private function title() {
$this->message['subject'] = "Заявка с сайта";
}
# Проверка данных
private function valid() {
# Имя
$this->message['name'] = substr(protection::$_post['name'], 0, 40);
if (!preg_match('/[a-zA-Zа-яА-Я]{3,40}/', $this->message['name'])) {
$this->validationResult['name'] = false;
}
$this->message['from'] = substr(protection::$_post['email'], 0, 40);
if (!preg_match('/[-._a-z0-9]+@[a-z0-9]{2,10}+\.[a-z]{2,6}/i', $this->message['from'])) {
$this->validationResult['from'] = false;
}
# Телефон
$this->message['phone'] = substr(protection::$_post['phone'], 0, 12);
if (!preg_match('/[0-9]{6,12}/', $this->message['phone'])) {
$this->validationResult['phone'] = false;
}
# Сопроводительное письмо
$this->message['covering-letter'] = substr(protection::$_post['covering-letter'], 0, 1000);
}
# Отправка сообщения
public function send() {
# Проверяем введенные данные
$this->valid();
foreach ($this->validationResult as $key => $value) {
if (false == $value) {
echo "<span class='contact-form__send-status__false'>Не верно указано значение одного из полей, помеченных *.</span>";
exit();
}
}
# Заголовок
$this->title();
# Формируем текст письма
$this->message['mail'] = "
<html>
<head>
<title>".$this->message['subject']."</title>
<meta charset='utf-8' />
</head>
<body>
".$this->message['name']."<br />
".$this->message['from']."<br />
".$this->message['phone']."<br />
<br /> -----------<br />
".$this->message['covering-letter']."
</body>
</html>";
# Отправляем
if (mail($this->message['to'], '=?UTF-8?B?'.base64_encode($this->message['subject']).'?=', base64_encode($this->message['mail']), $this->message['headers'])) {
echo "<span class='contact-form__send-status__true'>Письмо успешно отправлено. Скоро с Вами свяжутся :)</span>";
} else {
echo "<span class='contact-form__send-status__false'>Случилось непредвиденное и письмо не удалось отправить :( Воспользуйтесь контактами, указанными в нижней части страницы.</span>";
}
}
}
if (isset(protection::$_post['send']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
# Создаем экземпляр класса
$mail = new mail;
# Отправляем
$mail->send();
} else {
# Перенаправляем
header('Location: http://www.elektriki-kaluga.ru/');
}