За последние 24 часа нас посетил 20401 программист и 1101 робот. Сейчас ищут 777 программистов ...

Проблема с функцией 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.734
    Симпатии:
    1.315
    Адрес:
    Лень
    PHPMailer !
    --- Добавлено ---
    Сглатывая ошибки, но работает.
     
  3. Codewriter

    Codewriter Новичок

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

    miketomlin Старожил

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

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

    Codewriter Новичок

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

    miketomlin Старожил

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

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