2009 28. August 2009
Buch führen über die Mail geschickt, um die PHP-Mail-Funktion
PHP mail ()-Funktion standardmäßig in den versendeten E-Mails durch den sendmail-Software gesendet definiert. LOG-Einstellungen, das verbessert auch das Niveau der Sendmail geschickt wurde, durch den Benutzer nicht finden kann, die Datei oder die. Besonders, wenn Sie eine Maschine, die als Anbieter von Web-Ressourcen dient, auf die Benutzer, die Sie senden Junk-E-Mail schwer zu erkennen ist, mit. Gebrauchte Methoden zu php sendmail Mail-Server in den Sinn kommt als Brücke zwischen dem Unternehmen und auch zum Hinzufügen einer Software, die Datensätze hält. Wie folgt;
vi /usr/sbin/sendmail.spamkontrol
in Worten
#! / Usr / bin / perl
# Use strict;
Env benutzen;
my $ date = `date`;
chomp $ date;
open (INFO, ">> / var / log / spam_log") | | die "Datei konnte nicht booten :: $!";
my $ uid = $>;
my @ info = getpwuid ($ uid);
if ($ REMOTE_ADDR) {
drucken INFO "$ date - $ REMOTE_ADDR lief $ SCRIPT_NAME bei $ SERVER_NAME n \ n";
print '\ n';}
else {Print-INFO "$ date - $ PWD - @ info \ n";
print '\ n';}
my $ mailprog = '/ usr / sbin / sendmail';
foreach (@ ARGV) {
$ Arg = "$ arg". "$ _";
}open (MAIL, "| $ mailprog $ arg") | | die "kann nicht geöffnet werden $ mailprog: $ n";
while () {
print MAIL;
}
schließen (INFO);
close (MAIL);
Nachdem Sie die Datei speichern;
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
Nachdem er die hierfür erforderlichen Befugnisse in Form einer neuen Rezeptur für die php.ini: sendmail im Verzeichnis / usr / sbin / sendmail.spamkontrol können die folgenden als die Definition von virtuellen Hosts ab Apache eingeben, oder Sie können eine Beschreibung hinzuzufügen.
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
Sie können auch diesen Wert für jeden VirtualHost-Definition. Nach einem Neustart von Apache in / var / log / spam_log Datei geben Sie den Ausgabe-Datei, wie zum Beispiel Probe Datensätze.
[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 -
Wenn die Größe der Protokolldatei wächst, Log-Rotation, so dass der / etc / logrotate.conf Datei, fügen Sie die folgende.
# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}
[Mattf und ramprage'e Dank]
