Добро пожаловать в базу знаний

Настройка почтовых форм и скриптов отправки

0

С почтой для домена Вы можете настроить скрипты на SMTP отправку с почтовых форм сайта по 25 порту, указав к качестве SMTP-пользователя созданный почтовый ящик в зоне домена и пароль от него. 

Функция mail() запрещена на хостинге. Для работы почтовых форм требуется настройка smtp-авторизации:

1) В панели управления в разделе "Почтовые домены" добавьте домен и поставьте галочку DKIM в параметрах домена

2) В разделе "Почтовые ящики" создайте почтовый ящик в зоне домена: ***@имя_домена
В поле "Слать копии писем на e-mail" можете указать внешний почтовый ящик (mail, yandex,google и т.д.)

Подробная инструкция по добавлению почтового домена и созданию почтового ящика в зоне домена - > тут

3) Настройка для файлов со скритами отправки, для CMS и для конструктора сайтов:

• Если просто скрипт отправки

В директорию со скриптом отправки загружаете библиотеку smtp-func.php из статьи https://blog.cishost.ru/2014/07/18/ob-otpravke-pochty.html . Подключаете ее в скрипте строкой include('smtp-func.php'); функцию mail(), меняете на smtpmail().
!Для национальных доменов адрес нужно указывать в кодировке Punycode

Пример обязательных почтовых заголовков в скриптах отправки для корректного прохождения писем с почтовых форм:
$to ="Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript."; // почта, куда отправляем письмо
$subject = ' "'.date('d-m-Y h:m:s').'" Заказ обратной связи с сайта'; // тема письма с добавлением даты
$message = "
<br>Имя: ".$_POST['name']."
<br>Телефон: ".$_POST['phone']."
<br>Почта: ".$_POST[email]."
<br>IP-адрес посетителя: ".@$_SERVER['REMOTE_ADDR']."
<br>Время заказа: ".date('Y-m-d H:i:s')."
<br>Сообщение: ".$_POST[message].";
";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'To: <'.$email.'>, '."\r\n";
$headers .= 'From: Имя_сайта <test@домен.ru>' . "\r\n". "Reply-To: $_POST[email]" . "\r\n"; // почтовый ящик в зоне домена с возможностью ответа на e-mail, указанный посетителем в почтовой форме

$mail=smtpmail($to, $subject, $message, $headers);

• Если сайт создан на CMS, то следуем инструкции по дальнейшей  настройке почты в зависимости от CMS -> тут

• Настройка почты в конструкторе Site.pro - > тут