Tag : sendmail
เก็บบันทึกของอีเมลที่ส่งจากฟังก์ชันอีเมล PHP
โดย admin เมื่อ Aug.28, 2009, ภายใต้ ลินุกซ์
จดหมาย PHP () ฟังก์ชันที่กำหนดโดยค่าเริ่มต้นในการส่งอีเมลที่ส่งผ่านทางซอฟแวร์โปรแกรม sendmail การตั้งค่าโปรแกรม Sendmail ซึ่งยังเพิ่มระดับของล็อกไฟล์หรือส่งโดยที่ผู้ใช้ไม่สามารถหา โดยเฉพาะอย่างยิ่งถ้าคุณมีผู้ให้บริการเว็บที่ทำหน้าที่เป็นเครื่องที่ผู้ใช้คือการส่งอีเมลขยะใช้ทรัพยากรของคุณเป็นเรื่องยากที่จะระบุ เซิร์ฟเวอร์ Yöntemse PHP mail sendmail ที่มาถึงใจเพื่อทำหน้าที่เป็นสะพานเชื่อมระหว่างดำเนินการและยังมีการเพิ่มซอฟแวร์ที่ช่วยให้การบันทึก ดังต่อไปนี้
vi /usr/sbin/sendmail.spamkontrol
ในการบอก
#! / bin / usr / Perl
# ใช้ที่เข้มงวด;
ใช้ Env;
วันที่ฉัน $ = วันที่`;
chomp $ วันที่;
เปิด (INFO,">> / var / log / spam_log") | | ตายแฟ้ม"ไม่สามารถบูต ::$!";
$ uid ของฉัน = $>;
@ ข้อมูลของฉัน = getpwuid ($ uid);
หาก ($ REMOTE_ADDR) {
ข้อมูลการพิมพ์"วันที่ $ -- $ REMOTE_ADDR วิ่ง $ SCRIPT_NAME ที่ $ Server_Name \ n";
พิมพ์'\ n';}
else {ข้อมูลการพิมพ์"วันที่ $ -- $ pwd -- @ ข้อมูล \ n";
พิมพ์'\ n';}
$ mailprog ของฉัน ='/ usr / sbin / sendmail';
foreach (@ ARGV) {
Arg $ ="$ Arg" "$ _";
}ที่เปิดอยู่ (Mail,"| mailprog $ $ Arg") | | ตาย"ไม่สามารถเปิด $ mailprog : $ n";
ในขณะที่ () {
พิมพ์ mail;
}
ปิด (ข้อมูล);
ปิด (mail);
หลังจากที่คุณบันทึกไฟล์นั้น
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
หลังจากให้อำนาจที่จำเป็นในรูปแบบของสูตรใหม่ที่มีไฟล์ php.ini ที่ sendmail ใน sendmail.spamkontrol / usr / sbin / สามารถป้อนต่อไปนี้เป็นความหมายของโฮสต์เสมือนใน Apache หรือคุณสามารถป้อนคำอธิบาย
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
ค่านี้ยังสามารถใส่ความหมายของแต่ละ VirtualHost หลังจากที่เริ่มต้น Apache ใน / 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]
