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

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

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

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

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

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

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

  • ISPmanager: /var/www/vashlogin/data/
  • Plesk: /var/www/vhosts/vashlogin/

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

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

На VPS

  1. 1. в папке сайта создайте файл info.php и запишите в него следующие строки: <?php phpinfo(); ?>

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.

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

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

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

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

        chmod +w /var/tmp/php.mail.log
  1. 4. перезапустите сервер Apache, для этого выполните команду:
    • CentOS: service httpd restart;
    • Debian, Ubuntu: service apache2 restart.

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