отправка email через php на хостинге

Есть одностраничный сайт, на нем при нажатии на кнопку должны отправляться данные на почту, на локальном сервере это работало, когда перенес на хостинг - перестало работать вот код самого файла который принимает и отправляет данные, причем пишет он мне что все отправлено:

<?php
$name = $_POST['client-name'];
$number = $_POST['client-number'];


echo $name;
echo "<br>";
echo $number;

if (mail("[email protected]", "Заказ с сайта", "ФИО:".$name.". number: ".$number ,"From: [email protected] \r\n"))
{
    echo "сообщение успешно отправлено";
} else {
    echo "при отправке сообщения возникли ошибки";
}

Вот файл php.ini:

memory_limit = 1024M
max_execution_time = 300
upload_max_filesize = 128M
post_max_size = 128M
realpath_cache_size = 8M
magic_quotes_gpc = Off
date.timezone = "Europe/Moscow"


session.save_path = "/tmp/u1091929"
sendmail_path = "/usr/sbin/sendmail -t -i"

opcache.revalidate_freq = 0
mail.log = "/var/www/u1091929/data/mail.log"

То есть получается что она работает, раз мне пишет что сообщение отравлено, но почему на почту они мне не доходят?


Ответы (1 шт):

Автор решения: Crying Soul

Отправляйте заголовки. Пример:

$fromMail = '[email protected]'; //Отправитель
$fromName = 'yousite.ru Форма'; //Отправлено с сайта
$emailTo = '[email protected]';  //Получатель
$subject = 'Тема письма';
$subject = '=?utf-8?b?'. base64_encode($subject) .'?='; //Тема письма
$headers = "Content-type: text/plain; charset=\"utf-8\"\r\n"; // Кодировка
$headers .= "From: ". $fromName ." <". $fromMail ."> \r\n";
$body = "Тело письма";
mail($emailTo, $subject, $body, $headers, '-f'. $fromMail );

У меня на сервере этот вариант работает.

→ Ссылка