cemdogan.com

标签:sendmail日志

保留一份邮件记录从PHP发送邮件功能

对Aug.28,2009下, Linux的


PHP的mail()函数中定义默认的发送通过sendmail的软件发送的电子邮件。 Sendmail的设置,这也提高了日志文件的水平,或由哪个用户发送找不到。 特别是如果你有一个网络提供商,作为一个机器,用户发送垃圾电子邮件使用您的资源难以识别服务。 Yöntemse PHP Sendmail邮件服务器想到,作为之间的承诺,并添加一个软件,保持记录的桥梁。 具体如下;

vi /usr/sbin/sendmail.spamkontrol

在说

#!/ usr /斌/ perl的

#使用严格;
使用env;
我的$日期=`日期`;
的Chomp $日期;
打开(INFO,“>> / var / log中/ spam_log”)| |死“档案无法启动::$!";
我的$ UID = $>;
我的@信息= getpwuid($ UID);
如果($ REMOTE_ADDR){
打印信息“$日 - $ REMOTE_ADDR跑在$ SERVER_NAME N \ N $ SCRIPT_NAME”;
打印的'\ n';

}
否则{

打印信息“$日 - $ PWD - @信息\ N”;
打印的'\ n';

}
我的$ mailprog ='/ usr / sbin目录/ sendmail的“;
的foreach(@ ARGV){
$精氨酸=“$ arg的”。 “$ _”;
}

打开(MAIL,“| $ mailprog $ arg的”)| |死“无法打开$ mailprog:$ N”;
而( ){
打印邮件;
}
关闭(INFO);
关闭(MAIL);

在保存文件;

chmod +x /usr/sbin/sendmail.spamkontrol

touch /var/log/spam_log

chmod 0777 /var/log/spam_log

后给予了新的配方,在php.ini文件的形式必要的权力,在/ usr / sbin目录/ sendmail.spamkontrol sendmail可以进入作为在Apache虚拟主机的定义如下,也可以输入描述。

php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'

这个值也可以进入每一个虚拟主机的定义。 重新启动后在/ var /日志/ spam_log文件作为输出文件Apache会发出样品记录。

[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 -

该日志文件的大小增长到日志旋转到/ etc / logrotate.conf中的文件,添加以下。


# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}

[Mattf和ramprage'e感谢]

more... 1评论 更多...

搜索

以下kutucukla网站搜索你可以这样做:

链接