Tüm sistemler operasyonel
Connect365
Sorun Giderme· 29 Mayıs 2026

E-Posta Sunucusu Disk Doldu: Acil Temizleme ve Önleme Rehberi

E-Posta Sunucusu Disk Doldu: Acil Temizleme ve Önleme Rehberi

Sabah ilk iş e-postanızı göndermeye çalıştığınızda sunucunun yanıt vermediğini, gelen kutunuzun yeni mesaj almadığını ya da kullanıcıların "452 4.3.1 Insufficient system storage" hatasıyla karşılaştığını fark ettiniz. Bu, e-posta sunucusu diskinin dolduğunun en yaygın belirtisidir ve dakikalar içinde müşteri iletişimini, sipariş akışını ve kurumsal itibarı doğrudan etkiler. Aşağıdaki rehber, acil müdahaleden kalıcı önleme stratejilerine kadar sistematik bir yol haritası sunar.

TL;DR: E-posta sunucusu disk dolduğunda önce df -h ile hangi bölümün dolu olduğunu tespit edin; büyük log dosyalarını, eski kuyruk mesajlarını ve şişmiş posta kutularını temizleyin. Postfix için postsuper -d ALL deferred, Exim için exim -bp | exiqgrep -z | xargs exim -Mrm komutları acil boşaltma sağlar. Uzun vadede kota yönetimi, log rotasyonu ve otomatik uyarı sistemi kurarak bu sorunu kalıcı olarak engelleyebilirsiniz.

Sorunun Anatomisi: Disk Neden Dolar?

E-posta sunucularında disk dolması tek bir nedene bağlı değildir. RFC 5321'de tanımlanan SMTP protokolü, teslim edilemeyen mesajları yeniden deneme kuyruğuna (deferred queue) alır; bu kuyruk zamanla onlarca gigabayta ulaşabilir. Bunun yanı sıra Postfix, Exim veya Sendmail gibi MTA'ların (Mail Transfer Agent) ürettiği log dosyaları, düzgün döndürülmediğinde (log rotation) hızla büyür. Kullanıcı posta kutularındaki büyük ekler, özellikle IMAP protokolüyle sunucuda depolanan mesajlar, kurumsal ortamlarda en öngörülemeyen disk tüketim kaynağı olur.

Spam ve kötü amaçlı yazılım kaynaklı posta patlamaları da kritik bir etkendir. Bir kullanıcı hesabı ele geçirildiğinde sunucu dakikada binlerce mesaj üretebilir; bu hem kuyruğu hem de log dizinini şişirir. Aynı zamanda Dovecot, Cyrus veya Courier gibi IMAP/POP3 sunucularının indeks ve önbellek dosyaları da beklenmedik ölçekte yer kaplayabilir.

Acil Durum Müdahalesi: Adım Adım

1. Durumu Tespit Edin

İlk adım hangi bölümün dolu olduğunu anlamaktır:

df -h
du -sh /var/log/mail* /var/spool/postfix/* /var/mail/* 2>/dev/null | sort -rh | head -20

df -h çıktısında %100 ya da Use% sütununda yüksek değer gören bölümü not edin. Genellikle suçlu /var veya kök bölümdür.

2. Postfix Kuyruğunu Temizleyin

Deferred (ertelenmiş) kuyruk hızla şişer. Kuyruğun boyutunu görmek için:

postqueue -p | tail -1

Tüm ertelenmiş mesajları silmek için:

postsuper -d ALL deferred

Yalnızca belirli bir gönderenden gelen mesajları silmek için:

postqueue -p | grep "spammer@example.com" | awk '{print $1}' | tr -d '!' | postsuper -d -

3. Exim Kuyruğunu Temizleyin

Exim kullanan sunucularda (cPanel/WHM ortamları dahil) dondurulmuş mesajları temizlemek için:

exim -bp | exiqgrep -z | xargs exim -Mrm

Kuyrukta toplam mesaj sayısını görmek için exim -bpc komutunu kullanın.

4. Log Dosyalarını Temizleyin

/var/log/mail.log ya da /var/log/maillog dosyaları gigabaytlara ulaşmış olabilir. Dosyayı silmeden içini boşaltmak için:

# Dosyayı silmeden içini temizle (çalışan process dosyayı tutmaya devam eder)
> /var/log/mail.log

# Logrotate ile hemen döndür
logrotate -f /etc/logrotate.d/rsyslog

5. Büyük Dosyaları Bulun ve Değerlendirin

find /var /home /root -type f -size +100M 2>/dev/null | xargs ls -lh | sort -k5 -rh | head -20

Bu komut 100 MB'ın üzerindeki dosyaları boyuta göre sıralar. Eski .gz log arşivleri, atıl veritabanı yedekleri veya büyük ek dosyaları burada görünür.

Disk Kullanımı Dağılımı: Tipik Senaryo

Kaynak Tipik Konum Olası Boyut Temizleme Yöntemi
Postfix deferred kuyruk /var/spool/postfix/deferred/ 1 GB – 50 GB postsuper -d ALL deferred
Mail log dosyaları /var/log/mail.log 500 MB – 20 GB logrotate -f / truncate
Kullanıcı posta kutuları /var/mail/ veya /home/*/Maildir/ GB – TB arası Kota uygulaması, eski mesajları arşivleme
Dovecot indeks/önbellek /home/*/Maildir/.imap/ Yüzlerce MB doveadm expunge, indeks yenileme
Spam/antivirus karantina /var/spool/amavis/ 1 GB – 30 GB Otomatik TTL (süre aşımı) ayarı
Exim frozen mesajlar /var/spool/exim4/input/ Yüzlerce MB – 10 GB exiqgrep -z | xargs exim -Mrm

Sunucuyu Yeniden Başlatmadan Önce

Disk dolduğunda MTA'lar genellikle yeni bağlantı kabul etmeyi durdurur ve gönderici sunuculara 452 (geçici hata) ya da 552 (kalıcı hata) SMTP durum kodlarını döner. RFC 5321 Bölüm 4.2'ye göre 4xx serisi geçici hata, 5xx serisi ise kalıcı redddir. Gönderici sunucu, 4xx kodunu aldığında RFC 5321 Bölüm 4.5.4'te belirtilen yeniden deneme mekanizmasını devreye sokar ve mesajı kendi kuyruğunda tutar; bu nedenle disk sorununuzu çözdükten sonra gönderici taraftaki mesajlar otomatik olarak yeniden iletilir.

Temizleme işlemleri tamamlandıktan sonra MTA'yı yeniden başlatın:

# Postfix
systemctl restart postfix

# Exim
systemctl restart exim4

Kalıcı Önleme Stratejileri

Log Rotasyonu Yapılandırın

/etc/logrotate.d/postfix dosyasına aşağıdaki gibi bir yapılandırma ekleyin:

/var/log/mail.log {
    daily
    rotate 14
    compress
    delaycompress
    missingok
    notifempty
    postrotate
        systemctl reload postfix > /dev/null 2>&1 || true
    endscript
}

Posta Kutusu Kotaları Tanımlayın

Dovecot'ta kullanıcı başına kota tanımlamak için /etc/dovecot/conf.d/90-quota.conf dosyasını düzenleyin:

plugin {
    quota = maildir:User quota
    quota_rule = *:storage=5G
    quota_warning = storage=90%% quota-warning 90 %u
}

Bu yapılandırma her kullanıcıyı 5 GB ile sınırlar ve %90 dolduğunda uyarı gönderir.

Disk Kullanımı İçin Otomatik Uyarı Kurun

Basit bir cron + bash betiğiyle disk kullanımını izleyebilirsiniz:

#!/bin/bash
THRESHOLD=85
USAGE=$(df / | awk 'NR==2 {print $5}' | tr -d '%')
if [ "$USAGE" -ge "$THRESHOLD" ]; then
    echo "DİKKAT: / bölümü %$USAGE dolu." | mail -s "Disk Uyarısı" admin@domain.com
fi

Bu betiği /etc/cron.d/disk-check olarak saatlik çalışacak şekilde tanımlayın.

SPF, DKIM ve DMARC ile Spam Hacmini Azaltın

Gelen spam trafiği kuyrukları ve log dosyalarını besler. RFC 7208'de tanımlanan SPF (Sender Policy Framework), RFC 6376'da tanımlanan DKIM (DomainKeys Identified Mail) ve RFC 7489'da tanımlanan DMARC politikalarının doğru yapılandırılması, alanınızı taklit eden sahte mesajların sunucunuza girmesini önler. Google Postmaster Tools ve Microsoft SNDS (Smart Network Data Services) panelleri, alanınızın itibarını ve gelen spam oranını ücretsiz olarak izlemenize olanak tanır.

Amavis / SpamAssassin Karantinasını Sınırlayın

Amavis karantina dizininin TTL'sini (time-to-live) kısıtlayın; aksi takdirde tespit edilen spam mesajları sonsuza dek birikir:

# /etc/amavis/conf.d/50-user
$max_age_of_quarantine = 7;  # gün

İzleme ve Raporlama

Pflogsumm, Postfix log dosyalarını ayrıştırarak günlük özet raporlar üretir ve hangi alanların en fazla trafiği oluşturduğunu gösterir. mailgraph aracı ise RRDtool tabanlı grafiklerle saatlik/günlük trafik ve hata oranlarını görselleştirir. Kurumsal ortamlarda Prometheus'un node_exporter modülü disk kullanım metriklerini toplar; Grafana üzerinde tanımlanan eşik uyarıları (alert rules) disk dolmadan önce operasyon ekibini bilgilendirir.

Sık Sorulan Sorular

Disk dolduğunda gönderilen e-postalar kaybolur mu?

Hayır, kaybolmaz. RFC 5321'e göre gönderici sunucu, 452 geçici hata kodu aldığında mesajı kendi kuyruğunda saklar ve belirli aralıklarla (genellikle 5 dakika ile 4 saat arasında değişen backoff sürelerinde) yeniden göndermeyi dener. Disk sorununuzu çözdükten sonra bu mesajlar otomatik olarak iletilir. Ancak mesajın gönderici sunucudaki kuyrukta ne kadar kaldığı, o sunucunun yapılandırmasına bağlıdır; tipik değer 5 gündür.

Postfix kuyruğunda kaç mesaj olduğunu nasıl görürüm?

postqueue -p | tail -1 komutu toplam bekleyen mesaj sayısını verir. postqueue -p | grep "^[A-F0-9]" | wc -l ise doğrudan kuyruktaki mesaj kimliklerini sayar. Kuyruk çok büyükse (10.000+) postqueue -p komutu uzun süre çalışabilir; find /var/spool/postfix/deferred -type f | wc -l daha hızlı bir alternatiftir.

Tüm deferred mesajları silmek güvenli midir?

Acil disk baskısında evet, ancak silmeden önce hangi mesajların beklemede olduğunu gözden geçirin. postqueue -p | grep -v "^[[:space:]]" | head -50 ile ilk 50 mesajın alıcı ve gönderici bilgisini görebilirsiniz. Meşru iş e-postaları varsa bunları ayrı bir listede saklayıp ilgili göndericileri bilgilendirmeniz önerilir.

Disk temizliği sonrası Postfix neden hâlâ mesaj almıyor?

Postfix bazı durumlarda disk dolduğunda oluşturduğu kilitleme durumundan otomatik çıkamaz. systemctl restart postfix veya postfix stop && postfix start ile servisi yeniden başlatın. Ardından postfix check komutuyla yapılandırma bütünlüğünü doğrulayın.

Log dosyalarını silmeden içini temizlemek neden daha güvenli?

Postfix, rsyslog veya syslog-ng gibi servisler log dosyasını açık tuttuğu sürece dosyayı silmek disk alanı kazandırmaz; inode serbest kalsa da process eski dosya tanıtıcısına yazmayı sürdürür. > /var/log/mail.log komutu dosyayı sıfırlar ama process açık tutmaya devam eder. Kalıcı çözüm için logrotate -f ile döndürme yapın ve servise SIGHUP gönderin.

Kullanıcı posta kutuları hangi boyuta ulaştığında sorun çıkarır?

Bu, toplam disk kapasitesine bağlıdır. Genel kural olarak tek bir kullanıcının posta kutusu toplam disk kapasitesinin %5'ini aşmamalıdır. Kurumsal sunucularda kullanıcı başına 2–10 GB kota uygulanması yaygındır. Kotasız ortamlarda büyük ek dosyaları (CAD çizimleri, video dosyaları vb.) posta kutusuna bırakılan kullanıcılar yüzlerce GB tüketebilir.

Spam patlaması yaşandığında disk dolmasını nasıl anlarım?

Fail2ban veya Postfix'in smtpd_recipient_limit parametresiyle aşırı gönderim hızını kısıtlayabilirsiniz. Ayrıca tail -f /var/log/mail.log | grep "too many" komutuyla gerçek zamanlı izleme yapabilirsiniz. Google Postmaster Tools ve Microsoft SNDS panoları, alanınızın spam oranı yükseldiğinde e-posta uyarısı gönderebilir.

E-posta sunucusunu buluta taşımak bu sorunu çözer mi?

Kısmen. Google Workspace ve Microsoft 365 gibi bulut tabanlı e-posta hizmetleri depolama sınırlarını kendi yönetir; disk dolması riski büyük ölçüde ortadan kalkar. Ancak kendi relay veya gateway sunucunuzu (örneğin Connect365 altyapısı üzerinden) çalıştırıyorsanız kuyruk ve log yönetimi yine sizin sorumluluğunuzdadır.

Dovecot indeks dosyaları neden bu kadar yer kaplar?

Dovecot, hızlı arama için her posta kutusu klasörüne ait indeks (dovecot.index), indeks kaydı (dovecot.index.log) ve önbellek (dovecot.index.cache) dosyaları oluşturur. Bu dosyalar bazen posta kutusu içeriğinden büyük olabilir. doveadm index -u kullanici@domain.com INBOX komutuyla indeksleri yeniden oluşturun; eski ve şişmiş indeks dosyaları silinir.

Disk alanını kalıcı olarak artırmak için ne yapmalıyım?

Kısa vadede LVM (Logical Volume Manager) kullanıyorsanız yeni bir fiziksel disk ekleyip lvextend ve resize2fs komutlarıyla bölümü canlı olarak genişletebilirsiniz. Bulut ortamlarında (AWS, Azure, GCP) disk boyutunu portaldan artırıp growpart ve dosya sistemi araçlarıyla genişletmek dakikalar içinde tamamlanır. Uzun vadede ise posta kutularını nesne depolama (object storage) katmanına taşıyan Dovecot'un obox eklentisi ya da harici arşivleme çözümleri kalıcı ölçeklenebilirlik sağlar.

Kurumsal e-postaya ₺99'a geçin

Reklamsız, KVKK uyumlu; kurulum ve geçiş ücretsiz, mailleri biz taşırız.

📞 0312 434 35 34
Haziran kampanyası

Ücretsiz taşıma kampanyası
tüm e-postalarınızı biz taşıyoruz

₺99/kullanıcı/ay ₺199 %50 indirim

Kurulum + migrasyon ücretsiz. KVKK uyumlu, Türkiye'de barındırma. 7/24 Türkçe destek.

Kampanya 30 Haziran'a kadar geçerlidir.

WhatsApp 0312 434 35 34