2009 28. avgust 2009
voditi evidenco o pošti prejeli na funkcijo mail PHP
PHP mail () funkcija opredeljena kot privzeto v poslanih e-poštnih sporočil, poslanih preko sendmail programske opreme. Nastavitve dnevnika, ki prav tako izboljša raven Sendmail je bil poslan, s katerim uporabnik ne more najti datoteko ali. Še posebej, če imate stroj, ki služi kot ponudnik spletnih virov, od katerih uporabnik pošiljate neželeno e-pošto je težko odkriti uporabo. Uporabljene metode v PHP poštni strežnik sendmail, ki pride na misel kot most med podjetjem in tudi za dodajanje programske opreme, ki vodi evidenco. Kot sledi;
vi /usr/sbin/sendmail.spamkontrol
v pravi
#! / Usr / bin / perl
# Uporabi strogo;
uporabite okolje;
moj $ datum = `date`;
chomp $ datum;
odprta (INFO ">> / var / log / spam_log") | | die "Datoteka ne more zagnati :: $!";
moj $ $ uid =>;
moj info @ = getpwuid ($ uid);
if ($ REMOTE_ADDR) {
Izpis podatkov "$ datum - $ $ SCRIPT_NAME REMOTE_ADDR tekel v $ SERVER_NAME n \ n";
print "\ n";}
else {INFO print "$ date - $ PWD - @ info \ n";
print "\ n";}
moj $ mailprog = "/ usr / sbin / sendmail";
foreach (@ ARGV) {
$ Arg = "$ arg". "$ _";
}odprte (pošta, "| $ mailprog dolarjev arg") | | die "ne morem odpreti dolarjev mailprog! dolarjev n";
while () {
POŠTA tiskanje;
}
blizu (INFO);
blizu (naslov);
Ko shranite datoteko;
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
Potem ko je potrebna pooblastila v obliki novega recepta za php.ini datoteke: Sendmail v / usr / sbin / sendmail.spamkontrol lahko vnesete naslednje glede opredelitve Virtual Host v Apache, lahko vnesete opis.
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
Vnesete lahko tudi to vrednost za vsako VirtualHost opredelitve. Po ponovnem zagonu Apache v / var / log / spam_log datoteka bo izdala izhodno datoteko, kot so vzorčne zapise.
[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 -
Če log velikost datoteke raste, se prijavite rotacijo, tako / etc / logrotate.conf datoteke, dodajte naslednje.
# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}
[Mattf in ramprage'e hvala]
