תגית: sendmail כניסה
לשמור תיעוד של דואר אלקטרוני שנשלח פונקציה php
על ידי admin על Aug.28, 2009, תחת לינוקס
דואר PHP () פונקציה המוגדרת כברירת מחדל של הודעות דואר אלקטרוני שנשלחו שנשלחו באמצעות תוכנת sendmail. הגדרות Sendmail, שגם מעלה את הרמה של קובץ היומן, או שנשלח על ידי המשתמש, אשר לא ניתן למצוא. במיוחד אם יש לך ספק האינטרנט המשמש כמכונת שבו המשתמש שולח דואר זבל תוך שימוש במשאבים שלך קשה לזהות. Yöntemse php שרת הדואר sendmail שעולה על הדעת כדי לשמש גשר בין התחייבות וגם להוסיף התוכנה שומרת את ההקלטה. כדלקמן:
vi /usr/sbin/sendmail.spamkontrol
באמירה
#! / Usr / bin / perl
# השתמש קפדנית;
השימוש Env;
התאריך שלי $ = `תאריך`;
chomp $ תאריך;
פתוח (INFO, ">> / var / log / spam_log") | | למות "קובץ לא יכול האתחול ::$!";
$ שלי uid = $>;
שלי @ info = getpwuid ($ uid);
אם ($ REMOTE_ADDR) {
INFO להדפיס "$ תאריך - $ REMOTE_ADDR רץ $ SCRIPT_NAME דולר server_name n \ n";
להדפיס את '\ n';}
אחר {INFO להדפיס "$ תאריך - $ PWD - @ info \ n";
להדפיס את '\ n';}
mailprog שלי $ = "/ usr / sbin / sendmail";
foreach (@ argv) {
Arg $ = "$ arg". "$ _";
}פתוח (MAIL, "| $ mailprog $ arg") | | למות "לא יכול לפתוח $ mailprog: $ n";
תוך () {
להדפיס MAIL;
}
קרוב (INFO);
קרוב (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 / יכול להיכנס הבאים ההגדרה של המארח הוירטואלי של אפאצ'י או שאתה יכול להזין תיאור.
php_admin_value sendmail_path '/usr/sbin/sendmail.spamkontrol'
ערך זה יכול גם להזין את ההגדרה של כל VirtualHost. לאחר הפעלה מחדש של Apache ב / var / log / 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]
