2009 28 серпня 2009
вести облік пошту, відправлену на пошту функції в PHP
PHP поштою () функцію, визначену за замовчуванням в відправлених листів електронної пошти надсилається через Sendmail програмного забезпечення. Налаштування журналу, який також підвищує рівень Sendmail була відправлена за допомогою якого користувач не може знайти файл або. Особливо, якщо у вас є машина, яка виступає в якості постачальника веб-ресурсів, на яких користувач ви відправляєте небажаної пошти важко виявити за допомогою. Використовувані методи для PHP Sendmail поштовий сервер, який приходить на розум як моста між підприємством, а також додавати програмне забезпечення, яке веде облік. Як випливає;
vi /usr/sbin/sendmail.spamkontrol
в говорячи
#! / USR / бен / Perl
# Використовуйте суворим;
використовувати окр;
мій день = $ `` дати;
гризти $ дату;
відкриті (INFO, ">> / var / log / spam_log") | | вмирають "Файл не може завантажитися :: $!";
мій $ UID = $>;
моя інформація @ = getpwuid ($ UID);
якщо ($ REMOTE_ADDR) {
Друк INFO "$ дату - $ REMOTE_ADDR побіг $ SCRIPT_NAME в $ SERVER_NAME п \ п";
Друк '\ п';}
ще {Друк INFO "$ дату - $ PWD - @ інформації \ п";
Друк '\ п';}
мій mailprog $ = '/ USR / sbin / Sendmail;
Еогеасп (@ ARGV) {
Arg $ = "$ аргумент". "$ _";
}відкриті (MAIL, "| $ $ mailprog аргумент") | | вмирають "Неможливо відкрити $ mailprog: $ п";
а () {
друк пошти;
}
close (INFO);
close (MAIL);
Після збереження файлу;
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
Після надання необхідних повноважень у вигляді нових рецептів для файлу php.ini: Sendmail в / USR / sbin / sendmail.spamkontrol може увійти в наступний, як визначення віртуальних хостів на Apache, або ви можете ввести опис.
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
Ви також можете ввести це значення для кожного VirtualHost визначення. Після перезапуску Apache в / var / log / spam_log файл буде видавати вихідний файл, наприклад, зразок запису.
[root@immortal ~]# tail /var/log/spam_log
Fri Aug 28 15:37:20 EEST 2009 - /home/testuser1 -
Fri Aug 28 15:45:01 EEST 2009 - /home/testuser2 -
Fri Aug 28 15:53:30 EEST 2009 - /home/testuser1 -
Fri Aug 28 15:57:43 EEST 2009 - /home/testuser1 -
Fri Aug 28 15:58:47 EEST 2009 - /home/testuser2 -
Fri Aug 28 16:21:21 EEST 2009 - /home/testuser2 -
Якщо розмір файлу зростає, увійдіть обертання, так що / і т.д. / logrotate.conf, додати наступне.
# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}
[Mattf і ramprage'e завдяки]
