Image

ज्ञानधार → Dovecot मेल सर्वर पर मेलबॉक्स कोटा स्थापित और कॉन्फ़िगर करना

[वर्चुअल सर्वर]
प्रकाशन तिथि: 09.06.2023

आइए एक मेलबॉक्स कोटा स्थापित करने का वर्णन करें; पोस्टफिक्सएडमिन में प्रदान की गई कोटा निर्दिष्ट करने की क्षमता, डिफ़ॉल्ट रूप से काम नहीं करती है और कॉन्फ़िगरेशन की आवश्यकता होती है। हमारे मामले में, हम इसे 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

मेलबॉक्स को मौजूदा में बदलें, इसमें एक पत्र भेजा जाना चाहिए।

कोटा सेट करना पूरा हो गया है, यदि कोई पत्र मेलबॉक्स से बड़े अनुलग्नक के साथ मेलबॉक्स में भेजा जाता है, तो पत्र वितरित नहीं किया जाएगा, और प्रेषक को एक संदेश प्राप्त होगा कि मेलबॉक्स भरा हुआ है। अब पोस्टफ़िक्सएडमिन में सेट किए गए कोटा कॉन्फ़िगर हो गए हैं और काम कर रहे हैं।





No Comments Yet