Перейти к основному контенту

Как включить лог сообщений phpmail

На виртуальном хостинге

  • чаще всего лог phpmail включают для определения источника рассылки спама;
  • данная инструкция применима только к hosting linux;
  • mail.log работает только на версии PHP 5.3 и выше.

Для активации лога необходимо в файл php.ini вставить следующие строки:

mail.add_x_header = On
mail.log = 'путь-до-каталога-хостинга/phpmail.log'

Путь до каталога хостинга имеет вид:

  • ISPmanager: /var/www/u1234567/data/
  • ParallelsPlesk: /var/www/vhosts/u1234567.plsk.regruhosting.ru/
  • cPanel: /var/www/u1234567/

Где u1234567 — ваш логин хостинга.

Как внести изменения в php.ini?

Готово, вы включили логирование сообщений.

На VPS

  1. 1.

    В папке сайта создайте файл info.php и запишите в него следующие строки:

    <?php
    phpinfo();
    ?>
  2. 2.

    Перейдите по адресу ваш_сайт/info.php

    Вы можете добавить логирование почты только для конкретного сайта или для всех сайтов на сервере.

    • чтобы добавить настройки для одного сайта, необходимо внести записи в файл, путь к которому указан в «Loaded Configuration File», в нашем примере это /var/www/php-bin/user_name/php.ini
    • чтобы добавить настройки для всех сайтов на сервере, необходимо внести записи в файл php.ini, путь к которому указан в строке «Configuration File (php.ini) Path». В нашем примере путь до общего файла php.ini выглядит так: /opt/php/5.3/etc/php.ini
  3. 3.

    для логирования сообщений добавьте ниже следующий код в конец файла php.ini.

    Права на файл php.ini могут ограничивать запись в него. Поэтому, перед изменением файла разрешите запись в него через панель ISPmanager, или через SSH при помощи команды: chmod +w /путь/php.ini

    Код для настройки логирования:

    mail.add_x_header = On
    mail.log = "/var/tmp/php.mail.log"

    /var/tmp/php.mail.log — это файл, в который будет записываться лог отправки сообщений посредством php mail. Права на данный файл должны разрешать запись в него. Вы можете дать права на запись через панель ISPmanager, или через SSH, при помощи команды:

    chmod +w /var/tmp/php.mail.log
  4. 4.

    Перезапустите сервер Apache, для этого выполните команду:

    • CentOS: service httpd restart;
    • Debian, Ubuntu: service apache2 restart.

Готово, вы включили логирование сообщений.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0