2009 28 Augusti 2009
föra ett register över e-post som skickas till PHP: s postfunktion
PHP mail () funktion definierad som standard i skickade e-postmeddelanden som skickas via sendmail programvaran. LOG inställningar, vilket också förbättrar nivån av Sendmail skickades av vilken användare som inte kan hitta filen eller. Speciellt om du har en maskin som fungerar som en leverantör av webbresurser som användaren du skickar skräppost är svår att upptäcka med. Metoder som används för php sendmail e-postserver som kommer att tänka som en brygga mellan företaget och även lägga till en programvara som registrerar. Enligt följande;
vi /usr/sbin/sendmail.spamkontrol
till att säga
#! / Usr / bin / perl
# Använd strikt;
Använd Env;
min $ datum = `datum`;
chomp $ Date;
öppen (INFO, ">> / var / log / spam_log") | | die "Filen kunde inte starta :: $!";
min $ uid = $>;
Jag @ info = getpwuid ($ uid);
if ($ REMOTE_ADDR) {
Skriv ut Info "$ Date - $ REMOTE_ADDR körde $ SCRIPT_NAME på $ SERVER_NAME n \ n";
Skriv '\ n';}
else {Skriv ut Info "$ datum - $ PWD - @ info \ n";
Skriv '\ n';}
min $ mailprog = '/ usr / sbin / sendmail';
foreach (@ argv) {
$ Arg = "$ arg". "$ _";
}öppna (post, "| $ mailprog kr arg") | | die "Kan inte öppna $ mailprog: $ n";
while () {
Skriv ut Nyhetsbrev Tipsa;
}
Stäng (INFO);
Stäng (mail);
När du har sparat filen;
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
Efter att ha gett de nödvändiga befogenheterna i form av ett nytt recept för php.ini filen: sendmail i / usr / sbin / sendmail.spamkontrol kan ange följande som definitionen av Virtual Host i Apache, eller så kan du ange en beskrivning.
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
Du kan även ange detta värde för varje VirtualHost definition. När du har startat Apache i / var / log / spam_log fil utfärda utdatafilen, till exempel prov poster.
[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 -
Om loggfilen storlek växer, logga rotation, så att / etc / logrotate.conf fil, lägg till följande.
# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}
[Mattf och ramprage'e tack]
