태그 : 센드메일 로그
PHP 메일 함수에서 보낸 메일의 기록을 유지
PHP 메일 () 함수는 센드메일 소프트웨어를 통해 보낸 보낸 전자 메일에 기본적으로 정의. 또한 로그 파일의 수준을 제기하거나, 어떤 사용자가 보낸 센드메일 설정은 찾을 수 없습니다. 당신은 식별하기 어려운 리소스를 사용하여 정크 메일을 보내는 사용자의 컴퓨터 역할을하는 웹 서비스 공급자가 특히. 녹음을 계속 소프트웨어를 추가할 수도 사업과 사이에 다리 역할을하는 마음에 오는 Yöntemse PHP 센드메일 메일 서버. 마찬가지로 다음과;
vi /usr/sbin/sendmail.spamkontrol
말씀에
#!는 / usr / 빈 / 펄
# 엄격한 사용;
환경을를 사용하는;
내 $ 날짜 =`데이트`;
chomp $ 날짜;
오픈 (INFO, ">>은 / var / 로그인 / spam_log") | | 죽고 "파일이 부팅하지 못했습니다 ::$!";
내 $ UID = $>;
내 @ 정보 = getpwuid ($ UID);
경우 ($ REMOTE_ADDR) {
인쇄 정보 "$ 날짜 - $ REMOTE_ADDR이 SERVER_NAME N \ N $에서 $ SCRIPT_NAME을 실행";
프린트 '\ N';}
또 {인쇄 정보 "$ 날짜 - $ PWD - @ 정보 \ N";
프린트 '\ N';}
내 $ mailprog = '는 / usr / sbin / 센드메일';
foreach (@ 변수는 argv) {
$ ARG = "$ ARG". "$ _";
}오픈 (MAIL, "| $ mailprog $ ARG") | | 다이 "$ mailprog 열 수 없습니다 : $ N을";
(동안) {
MAIL을 인쇄;
}
닫기 (INFO);
닫기 (메일);
당신은 파일을 저장한 후;
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
새로운 조리법, php.ini 파일의 형태로 필요한 권한을 부여 후는 / usr / sbin / sendmail.spamkontrol에 센드메일이 아파치에서 가상 호스트의 정의로 다음을 입력하거나 수있는 당신이 설명을 입력할 수 있습니다.
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
이 값은 또한 각 VirtualHost 항목의 정의를 입력할 수 있습니다. 출력 파일은 / var / 로그 / spam_log 파일에 아파치를 다시 시작한 후 샘플 레코드를 발급합니다.
[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 감사합니다]
