2009 28 augusta 2009
viesť záznamy o mailom na mail funkcií PHP
PHP mail () funkcie definovaná v predvolenom nastavení odoslaných e-mailov odoslaných cez sendmail softvéru. Nastavenie záznamu, ktorý tiež zlepšuje úroveň Sendmail bol poslaný, ktorý užívateľ nemôže nájsť súbor alebo. Zvlášť ak máte stroj, ktorý slúži ako poskytovateľ internetových zdrojov, na ktorých používateľ pri odosielaní nevyžiadanej pošty, je ťažké zistiť pomocou. Použité metódy pre PHP poštový server sendmail, ktorý prichádza na myseľ ako most medzi podnikom a tiež pridať softvér, ktorý vedie evidenciu. Ako vyplýva;
vi /usr/sbin/sendmail.spamkontrol
do vravieť
#! / Usr / bin / perl
# Použitie prísne;
Env použiť;
my $ dátum = `date`;
žuť $ dátum;
open (INFO, ">> / var / log / spam_log") | | die "Súbor sa nedá spustiť :: $!"
my $ uid = $>;
môj @ info = getpwuid ($ uid);
if ($ REMOTE_ADDR) {
vytlačiť INFO "$ dátum - $ REMOTE_ADDR bežal $ SCRIPT_NAME na $ SERVER_NAME n \ n";
print '\ n';}
else {print INFO "$ dátum - $ PWD - @ info \ n";
print '\ n';}
my $ mailprog = '/ usr / sbin / sendmail';
foreach (@ ArGV) {
Arg $ = "$ arg". "$ _";
}otvorené (pošta, "| $ mailprog $ arg") | | die "Nedá sa otvoriť dolárov mailprog: $ n";
while () {
vytlačiť MAIL;
}
close (INFO);
close (mail);
Po uložení súboru;
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
Potom, čo je k tomu oprávnený v podobe nového recept na php.ini súboru: sendmail v súbore / usr / sbin / sendmail.spamkontrol môžete zadať nasledujúce ako definícia virtuálneho hostiteľa v Apache, alebo môžete zadať popis.
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
Môžete tiež zadať túto hodnotu pre každý VirtualHost definície. Po reštarte Apache v / var / log / spam_log súbor vydá výstupný súbor, napríklad ukážkovej záznamy.
[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 -
Ak veľkosť súboru protokolu rastie, prihláste rotáciu, takže / etc / logrotate.conf súboru pridajte nasledujúce.
# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}
[Mattf a ramprage'e vďaka]
