@Marina_Masy

Не отправляет письмо на @gmail.com когда устанавливаешь ее на хостинг nic.ru. Только на @yandex.ru. Как исправить?

Помогите, пожалуйста. Не очень разбираюсь в php.
Очень простенький сайт с самой элементарной формой обратной связи.
Как только выкладываю на хостинг nic.ru, форма не отправляет письма на почтовые ящики типа @onego.ru, @gmail.com
Только на yandex приходит. Как вообще такое может быть? На другом хостинге все работало исправно.
Сама форма:

Имя

Телефон

Email

Сообщение


ОТПРАВИТЬ

Php код:
<?php
$to = "m***@gmail.com";
$tema = "Заявка с сайта";
$message = "Получено сообщение с сайта

";
$message .= "Ваше имя: ".$_POST['name']."
";
$message .= "E-mail: ".$_POST['email']."
";
$message .= "Номер телефона: ".$_POST['phone']."
";
$message .= "Сообщение: ".$_POST['message']."
";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
mail($to, $tema, $message, $headers);

?>
  • Вопрос задан
  • 760 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
С большой вероятностью хостер блокирует отправку почты.
Используйте не функцию mail, а отправку через SMTP-сервер библиотекой PHPMailer.
Ответ написан
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Как вообще такое может быть?

легко.

функция mail() плохой способ отправки изначально.
Сервера хостинга наверняка заспамлены, вот гугл и не принимает.
Плюс через mail() не ставятся никакие подписки, заголовки и т.п. Что тоже добавляет к рейтинга спамности письма.

Надо испольтзовать smtp отправку, настраивать dkim и всё такое.
В идеале сервис какой-нибудь который помогает это всё сделать и не даёт спамить никому.
SendPulse, Unisender и многие другие.

Бесплатный вариант взять свою почту на gmail/yandex и отправлять с неё.
https://yandex.ru/support/mail/mail-clients/others...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы