отправка 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 );
У меня на сервере этот вариант работает.