Задать вопрос
@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 ничего не нашел, куда копать?
  • Вопрос задан
  • 244 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@aaalllsss Автор вопроса
я тупица.

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽