2009 अगस्त 28 2009
मेल की एक रिकार्ड रखना PHP मेल समारोह भेजा
PHP मेल () समारोह में भेजा sendmail को सॉफ्टवेयर के माध्यम से भेजे गए ई - मेल में डिफ़ॉल्ट रूप से परिभाषित है. लॉग इन सेटिंग्स है, जो भी सेंडमेल के स्तर में सुधार के द्वारा उपयोगकर्ता फ़ाइल को नहीं ढूँढ सकते हैं या करने के लिए भेजा गया था. खासकर यदि आप एक मशीन है कि वेब संसाधनों का एक प्रदाता के रूप में कार्य करता है जो उपयोगकर्ता आप जंक भेज रहे हैं पर ई - मेल का उपयोग कर पता लगाने के लिए मुश्किल है. Php sendmail को मेल सर्वर है कि उपक्रम और के बीच एक पुल के रूप में मन में आता है के लिए इस्तेमाल किया तरीकों को भी जोड़ने के लिए एक सॉफ्टवेयर है कि रिकॉर्ड रहता है. इस प्रकार है;
vi /usr/sbin/sendmail.spamkontrol
कह में
# / Usr / bin / perl
# सख्त प्रयोग करें;
लि उपयोग;
तिथि डॉलर = `तिथि`;
chomp तारीख $;
खुला (जानकारी है, ">> / var / / लॉग spam_log") | | मर "! फाईल :: $ बूट नहीं हो सकता है";
मेरे यूआईडी $ $ =>;
मेरी @ जानकारी = getpwuid (यूआईडी);
एक अगर REMOTE_ADDR $,
जानकारी "तारीख - $ $ REMOTE_ADDR $ $ SCRIPT_NAME पर SERVER_NAME \ n n भागा मुद्रित;
प्रिंट '\ n';}
और {प्रिंट जानकारी "तारीख - $ पीडब्ल्यूडी - @ जानकारी \ n";
प्रिंट '\ n';}
मेरे $ mailprog = '/ usr / sbin / sendmail को';
foreach (argv _AT_) {
$ Arg "$ arg =". "_ $;
}("| $ mailprog arg $ ईमेल") | खुले | मर "$ mailprog खुला नहीं कर सकते: $ n";
जबकि () {
ईमेल मुद्रित;
}
बंद (जानकारी);
बंद (मेल);
के बाद आप फ़ाइल को बचाने;
chmod +x /usr/sbin/sendmail.spamkontrol
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
Php.ini फ़ाइल के लिए एक नया नुस्खा के रूप में आवश्यक शक्तियां देने के बाद: / usr / sbin / sendmail.spamkontrol में sendmail को आभासी मेजबान अपाचे में की परिभाषा के रूप में निम्नलिखित दर्ज करें, या आप एक विवरण दर्ज कर सकते हैं कर सकते हैं.
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 धन्यवाद]
