За последние 24 часа нас посетили 18395 программистов и 1632 робота. Сейчас ищут 1103 программиста ...

Проблема с функцией mail()

Тема в разделе "Вопросы от блондинок", создана пользователем Codewriter, 10 авг 2022.

  1. Codewriter

    Codewriter Новичок

    С нами с:
    10 авг 2022
    Сообщения:
    3
    Симпатии:
    0
    Есть выделенный сервер. Функция mail() не работает.
    По ситуации:
    1) Система UBUNTU
    2) PHP установлен, проблем нет, блокировок функции mail() нет
    3) С консоли и с установленного почтового сервера почта отправляется
    (живут своей жизнью, отдельно от PHP по этому и работают)
    4) Тестовый вызов print mail(*****); возвращает 1-цу, при том что функция как уже написано почтовое сообщение не отправляет. На другом хостинге всё работает.


    Куда копать, коллеги? Пакет sendmail на сервере не нашел, скорее всего не установлен, но не понимаю, кто его может заменить. Возможно и не нужен. Наведите на мысль, всё подряд ломать не хочется...
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.788
    Симпатии:
    1.328
    Адрес:
    Лень
    PHPMailer !
    --- Добавлено ---
    Сглатывая ошибки, но работает.
     
  3. Codewriter

    Codewriter Новичок

    С нами с:
    10 авг 2022
    Сообщения:
    3
    Симпатии:
    0
    Как "заплатка" наверное подойдет! Благодарю. Вот во-истину решение от php-шника!)) Надо ещё линуксойдов выслушать))
     
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.835
    Симпатии:
    651
    sendmail – это уже давно симлинк для консольной утилиты. Ф-ция mail дергает какую-либо консольную утилиту. Какой командой вы отправляли из консоли?

    При наличии своего сервера однозначно нужно использовать прямую отправку, а не заплатки. Исключение – IPшник в бане или блокировка/прослушка порта хостером.
    --- Добавлено ---
    P.S. Иногда консольная утилита тоже отправляет через сторонний сервер, но хотя бы «очередь сообщений» должна располагаться на вашем сервере, чтобы не было задержек, зависящих от др. сервера, при отправке скриптом.
     
  5. Codewriter

    Codewriter Новичок

    С нами с:
    10 авг 2022
    Сообщения:
    3
    Симпатии:
    0
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.835
    Симпатии:
    651
    Проверьте эту настройку пыха: https://php.net/sendmail-path

    Возможно, она отключена (дефолтом используется sendmail) и упомянутый симлинк не настроен. Можете прямо запуск mail в ней прописать.