ţ

標籤存檔'的sendmail'

2009 8月28日二零零九年

保持PHP的mail函數發送郵件的記錄

出版的Linux


PHP的mail()函數中定義的默認情況下,通過sendmail的軟件發送發送電子郵件。 被發送的用戶無法找到文件或日誌設置,這也提高了Sendmail的水平。 特別是如果你有一台機器,作為服務提供商的網絡資源上的用戶發送垃圾電子郵件是很難檢測到使用。 PHP Sendmail郵件服務器來橋之間的承諾,並作為介意的使用方法,還添加一個軟件保持記錄。 如下;

vi /usr/sbin/sendmail.spamkontrol

成說

#!/ USR / BIN / perl的

#使用嚴格;
使用env;
我的$ date ='日期';
格格美元的日期;
開放(信息,“>>的/ var /日誌/ spam_log”)| |模具“文件無法啟動:: $!”;
我的uid = $>;
我@資訊= getpwuid(UID);
($的REMOTE_ADDR){
打印信息“日期 - 美元的REMOTE_ADDR跑$ SCRIPT_NAME $ SERVER_NAME N \ N”;
打印'\ N';

}
其他{

打印信息“日期 - 密碼 - @資訊\ n”;
打印'\ N';

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

打開(電子郵件,“| $ mailprog $ arg中”)| |模具“無法打開$ mailprog:$ N”;
而( ){
打印郵件;
}
關閉(信息);
關閉(郵箱);

當您保存文件;

chmod +x /usr/sbin/sendmail.spamkontrol

touch /var/log/spam_log

chmod 0777 /var/log/spam_log

後給予必要的權力,在php.ini文件中的一個新配方的形式:在sendmail的/ usr / sbin目錄/ sendmail.spamkontrol在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感謝]

到目前為止,一個響應

標籤

awk的 囉餵 蝙蝠 批處理 文件,大 的開放 DB2 刪除 自動運行磁盤 的磁盤轉子 DREAMBOX EDG-剋星 尋找 隱藏的MP3 IBM LMS 世界勞聯IBM IBM WCS 學習管理系統 lmsapi LMSRosterAPI MAILDIR MAILDIR你 MP3 的MySQL nabilo 與開放 passwd的 密碼 刪除全部 刪除空間中文件 重命名 重置 重置密碼 重置 SKYBOX SSH SSH推 VIM vimproved 協作工作場所 工作場所 學習

搜索