2009 28 srpna 2009
vést záznamy o mailem na mail funkcí PHP
PHP mail () funkce definovaná ve výchozím nastavení odeslaných e-mailů odeslaných přes sendmail softwaru. Nastavení záznamu, který také zlepšuje úroveň Sendmail byl poslán, který uživatel nemůže najít soubor nebo. Zvlášť pokud máte stroj, který slouží jako poskytovatel internetových zdrojů, na kterých uživatel při odesílání nevyžádané pošty, je obtížné zjistit pomocí. Použité metody pro PHP poštovní server sendmail, který přichází na mysl jako most mezi podnikem a také přidat software, který vede evidenci. Jak vyplývá;
vi /usr/sbin/sendmail.spamkontrol
do říkat
#! / Usr / bin / perl
# Použití přísné;
Env použít;
my $ datum = `date`;
žvýkat $ datum;
open (INFO, ">> / var / log / spam_log") | | die "Soubor nelze spustit :: $!"
my $ uid = $>;
můj @ info = getpwuid ($ uid);
if ($ REMOTE_ADDR) {
vytisknout INFO "$ datum - $ REMOTE_ADDR běžel $ SCRIPT_NAME na $ SERVER_NAME n \ n";
print '\ n';}
else {print INFO "$ datum - $ PWD - @ info \ n";
print '\ n';}
my $ mailprog = '/ usr / sbin / sendmail';
foreach (@ ARGV) {
Arg $ = "$ arg". "$ _";
}otevřené (pošta, "| $ mailprog $ arg") | | die "Nelze otevřít dolarů mailprog: $ n";
while () {
vytisknout MAIL;
}
close (INFO);
close (mail);
Po uložení souboru;
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
Poté, co je k tomu oprávněn v podobě nového recept na php.ini souboru: sendmailu v souboru / usr / sbin / sendmail.spamkontrol můžete zadat následující jako definice virtuálního hostitele v Apache, nebo můžete zadat popis.
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
Můžete také zadat tuto hodnotu pro každý VirtualHost definice. Po restartu Apache v / var / log / spam_log soubor vydá výstupní soubor, například ukázkové 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 -
Pokud velikost souboru protokolu roste, přihlaste rotaci, takže / etc / logrotate.conf souboru přidejte následující.
# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}
[Mattf a ramprage'e díky]
