Image

Bilgi Veritabanı → Kurulumu ve Dovecot Posta Sunucusunda Posta Kutusu Kotası Ayarları

[Virtual sunucular]
Yayın tarihi: 09.06.2023

Bu kılavuzda, posta kutusu kotalarının ayarlanmasını ele alacağız. Postfixadmin'de varsayılan olarak kotayı belirleme seçeneği çalışmaz ve ek yapılandırma gerektirir. Biz bu ayarı, Dovecot hizmeti için Ubuntu/Debian tabanlı bir posta sunucusunda gerçekleştiriyoruz. Bu yapılandırma, bir posta kutusu için bir sınır belirlemeyi sağlar; bu, özellikle ağır ek dosyalar veya spam nedeniyle kurumsal posta kutularının hızlıca dolup, VPS sunucusunun SSD disk alanını aşmaması açısından önemlidir.

Bu rehberde, posta sunucunuzun halihazırda kurulu ve yapılandırılmış olduğu varsayılmakta, sadece posta kutusu kotalarının ayarlanması gerektiği düşünülmektedir. Posta sunucusu yapılandırmasıyla ilgili daha fazla bilgi için buraya göz atabilirsiniz:


Ayrıca, işletim sistemi önceden yapılandırılmış bir VPS sipariş ederek, hazır bir kurumsal posta sunucusuna VPS sunucu fiyatına sahip olabilirsiniz.

1. Dovecot Hizmetinin Yapılandırılması

vi /etc/dovecot/conf.d/10-mail.conf

mail_plugins = $mail_plugins quota

Dosyayı kaydediyoruz.

vi /etc/dovecot/conf.d/20-imap.conf

protocol imap { mail_plugins = $mail_plugins imap_quota }

Dosyayı kaydediyoruz.

vi /etc/dovecot/conf.d/10-master.conf

service dict {

unix_listener dict { mode = 0660 user = vmail group = vmail } }

Dosyayı kaydediyoruz.

vi /etc/dovecot/conf.d/90-quota.conf

plugin { quota = dict:User quota::proxy::quota }

Dosyayı kaydediyoruz.

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 }

İlk satırda, posta sunucusu kurulumu sırasında tanımlanan mevcut veritabanı bağlantı bilgilerini belirtmeniz gerekmektedir.

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'

Dosyayı kaydediyoruz.

Hizmeti yeniden başlatıyoruz:

systemctl restart dovecot

Posta kutusu kotasının çalışıp çalışmadığını, belirlenen kotalı bir mevcut posta kutusunu belirterek komut satırında şu komutla kontrol edebilirsiniz:

doveadm quota get -u user@domain.tld

2. Kota Aşım Bildirimlerini Ayarlama

vi /etc/dovecot/conf.d/90-quota.conf

Yapılandırmaya şu satırları ekliyoruz:

plugin { 
quota_warning = storage=95%% quota-warning 95 %u 
quota_warning2 = storage=80%% quota-warning 80 %u 
}

Aynı dosyada, "service quota-warning" bölümünü şu şekilde düzenliyoruz:

service quota-warning { 
executable = script /usr/local/bin/quota-warning.sh 
user = dovecot 
unix_listener quota-warning { 
user = vmail 
} 
}

Bildirim göndermek için bir script oluşturuyoruz:

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: kota uyarısı

Posta kutunuz şu anda % $PERCENT doluluğa ulaşmıştır.

EOF

Dosyayı kaydediyoruz. E-posta gönderim adresini kendinize göre değiştirin. Çalıştırma izni verip ayarları uyguluyoruz:

chmod +x /usr/local/bin/quota-warning.sh
systemctl restart dovecot

Scriptin çalışmasını komut satırında kontrol ediyoruz:

/usr/local/bin/quota-warning.sh 85 user@domain.tld

Var olan bir posta kutusu belirtin, bu posta kutusuna bir e-posta gitmelidir.

Kota yapılandırması tamamlanmıştır; eğer bir posta kutusuna kapasitesini aşan bir ekli mesaj gönderilirse, mesaj teslim edilmeyecek ve göndericiye posta kutusunun dolu olduğuna dair bir mesaj ulaşacaktır. Artık Postfixadmin'de belirlenen kotalar ayarlanmış ve çalışır durumdadır.





No Comments Yet