आइए एक मेलबॉक्स कोटा स्थापित करने का वर्णन करें; पोस्टफिक्सएडमिन में प्रदान की गई कोटा निर्दिष्ट करने की क्षमता, डिफ़ॉल्ट रूप से काम नहीं करती है और कॉन्फ़िगरेशन की आवश्यकता होती है। हमारे मामले में, हम इसे Dovecot सेवा के लिए Ubuntu\Debian मेल सर्वर पर कॉन्फ़िगर करते हैं। यह कॉन्फ़िगरेशन आपको मेलबॉक्स सीमा निर्धारित करने की अनुमति देता है ताकि वीपीएस सर्वर की एसएसडी डिस्क का आकार अधिक न हो, क्योंकि कोई भी कॉर्पोरेट मेलबॉक्स भारी अनुलग्नकों और स्पैम से भरा हो सकता है, जिससे डिस्क स्थान की महत्वपूर्ण खपत हो सकती है।
यह मार्गदर्शिका मानती है कि आपने मेल सर्वर को पहले ही कॉन्फ़िगर कर लिया है और आपको मेलबॉक्स कोटा कॉन्फ़िगर करने की आवश्यकता है। मेल सर्वर स्थापित करने के बारे में अधिक जानकारी यहां पाई जा सकती है:
आप पूर्व-कॉन्फ़िगर ऑपरेटिंग सिस्टम के साथ एक वीपीएस भी ऑर्डर कर सकते हैं और वीपीएस सर्वर की कीमत के लिए एक तैयार कॉर्पोरेट मेल सर्वर प्राप्त कर सकते हैं।
1. सेवा सेटअप Dovecot
vi /etc/dovecot/conf.d/10-mail.conf
mail_plugins = $mail_plugins quota
चलिए फ़ाइल को सेव करते हैं।
vi /etc/dovecot/conf.d/20-imap.conf
protocol imap {
mail_plugins = $mail_plugins imap_quota
}
चलिए फ़ाइल को सेव करते हैं।
vi /etc/dovecot/conf.d/10-master.conf
service dict {
unix_listener dict { mode = 0660 user = vmail group = vmail } }
चलिए फ़ाइल को सेव करते हैं।
vi /etc/dovecot/conf.d/90-quota.conf
plugin {
quota = dict:User quota::proxy::quota
}
चलिए फ़ाइल को सेव करते हैं।
vi /etc/dovecot/dovecot.conf
dict {
quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
vi /etc/dovecot/dovecot-dict-sql.conf.ext
connect = host=localhost dbname=postfix user=postfix password=postfix123
map {
pattern = priv/quota/storage
table = quota2
username_field = username
value_field = bytes
}
map {
pattern = priv/quota/messages
table = quota2
username_field = username
value_field = messages
}
पहली पंक्ति में, आपको डेटाबेस से कनेक्ट करने के लिए मौजूदा डेटा निर्दिष्ट करना होगा जो मेल सर्वर सेट करते समय निर्दिष्ट किया गया था।
vi /etc/dovecot/dovecot-sql.conf.ext
user_query = SELECT CONCAT('/home/mail/',LCASE(domain
),'/',LCASE(maildir
)), 1024 AS uid, 1024 AS gid, CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u'
चलिए फ़ाइल को सेव करते हैं।
आइए सेवा पुनः आरंभ करें:
systemctl restart dovecot
आप कमांड का उपयोग करके निर्दिष्ट कोटा के साथ मौजूदा मेलबॉक्स को निर्दिष्ट करके जांच सकते हैं कि कोटा कंसोल में काम कर रहा है या नहीं postfixadmin:
doveadm quota get -u user@domain.tld
2. आइए कोटा से अधिक होने के बारे में सूचनाएं सेट करें
vi /etc/dovecot/conf.d/90-quota.conf
कॉन्फ़िगरेशन में निम्न पंक्तियाँ जोड़ें:
plugin {
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
}
उसी फ़ाइल में हम सेवा कोटा-चेतावनी अनुभाग इस प्रकार प्रस्तुत करते हैं:
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
user = dovecot
unix_listener quota-warning {
user = vmail
}
}
आइए सूचनाएं भेजने के लिए स्वयं स्क्रिप्ट बनाएं:
vi /usr/local/bin/quota-warning.sh
#!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o "plugin/quota=maildir:User quota:noenforcing" From: postmaster@domain.tld Subject: quota warning
Your mailbox is now $PERCENT% full.
EOF
चलिए फ़ाइल को सेव करते हैं। वह ईमेल पता बदलें जिससे यह आपको भेजा जाएगा। आइए निष्पादन अधिकार निर्दिष्ट करें और सेटिंग्स लागू करें:
chmod +x /usr/local/bin/quota-warning.sh
systemctl restart dovecot
आइए कंसोल में स्क्रिप्ट की जाँच करें:
/usr/local/bin/quota-warning.sh 85 user@domain.tld
मेलबॉक्स को मौजूदा में बदलें, इसमें एक पत्र भेजा जाना चाहिए।
कोटा सेट करना पूरा हो गया है, यदि कोई पत्र मेलबॉक्स से बड़े अनुलग्नक के साथ मेलबॉक्स में भेजा जाता है, तो पत्र वितरित नहीं किया जाएगा, और प्रेषक को एक संदेश प्राप्त होगा कि मेलबॉक्स भरा हुआ है। अब पोस्टफ़िक्सएडमिन में सेट किए गए कोटा कॉन्फ़िगर हो गए हैं और काम कर रहे हैं।