@aaalllsss

По какой причине может не работать mail()?

По какой причине может не работать функция php mail()?
сервер на centos, установлен msmtp, сервер почты exchange, PHP 5.6.33

при отправке из консоли командами
echo "Testing" | mail -s "Test" mail@mail.ru
php -r "mail('mail@mail.ru', 'Test', 'Test');"

оба письма доходят, при отправке с сайта ничего и в лог не пишет

проверка отправки с сайта выполняется вот таким файлом
$sender = '1@mail.ru';
$recipient = 'mail@mail.ru';

$subject = "php mail test";
$message = "php test message";
$headers = 'From:' . $sender;

if (mail($recipient, $subject, $message, $headers))
{
    echo "Message accepted";
}
else
{
    echo "Error: Message not accepted";
}


в .htaccess ничего не нашел, куда копать?
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
@aaalllsss Автор вопроса
я тупица.

из-за того что сайт работает под пользователем apache, а я делал конфиг под root
надо переопределить sendmail_path = msmtp -C /home/msmtp/.msmtprc -t -i
скопировать готовый конфиг /root/.msmtprc в /home/msmtp/.msmtprc и сделать владельцем данного файла apache с правами 600
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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