SSD Nodes Learn
Rehberler Matt ConnorYazan Matt Connor · Güncellendi 2026-07-24

Mailcow VPS kurulumu ve Gmail uyumluluğu

Mailcow kurulumu öncesi port 25 kontrolü yapın. Gmail 550 5.7.25 PTR hatasını önlemek için gerekli DNS ayarlarını ve IP itibar yönetimini öğrenin.

Ne inşa ediyorsunuz

Sahip olduğunuz bir sunucu üzerinde tam kapsamlı bir e-posta sunucusu: Gönderme ve alma işlemleri için SMTP, telefon ve dizüstü bilgisayar senkronizasyonu için IMAP, bir webmail istemcisi ve her iki yöndeki mesajları puanlayan bir spam filtresi. mailcow-dockerized; Postfix, Dovecot, Rspamd, SOGo webmail, MariaDB, Redis ve bir ACME istemcisini tek bir Docker Compose yığını halinde birleştirir, bu nedenle yazılım işin zor kısmı değildir. Yarım saat içinde çalışır hale getirebilirsiniz.

Zor olan kısım, sistemin çevresindeki her şeydir. E-posta, internetin geri kalanının yeni bir sunucuya aktif olarak güvenmediği tek hizmettir. "Çalışıyor" durumu ile "Gmail her mesajı sessizce yutuyor" durumu arasındaki fark, tam olarak kontrol edemeyebileceğiniz dört DNS kaydı ve bir IP itibar ayarına bağlıdır. Herhangi bir sunucu kiralamadan önce aşağıdaki gereksinimleri okuyun. Eğer bunları okuduktan sonra itibar yönetimi sürecinin zahmetine değmeyeceğine karar verirseniz, bu geçerli bir cevaptır — 2026 yılında gerçekten neyin self-host edilmeye değer olduğuna dair özetimiz tam olarak bu nedenlerle e-posta konusunu "sadece kararlıysanız" başlığı altında tutar.

Ön koşullar projenin kendisidir

Bu koşullardan herhangi biri eksik olursa, iletilemeyen e-postalar gönderilir. En sık karşılaşılan sorunların sırasına göre:

Outbound port 25 açık olmalıdır. Sunucunuz, Gmail ve Microsoft servislerine TCP port 25 üzerinden iletim yapar. Birçok VPS ve bulut sağlayıcısı, spam ile mücadele etmek amacıyla outbound 25 portunu varsayılan olarak engeller. Bu engelleme sessiz gerçekleşir; sistem açılışında hata alınmaz, her şey sağlıklı görünür ancak e-postalar kuyrukta (queue) takılı kalır. Kurulum yapmadan önce test edin. Eğer port engellenmişse, tek çözüm sağlayıcınıza destek talebi (support ticket) açarak portu açtırmaktır; bazı sağlayıcılar eski hesaplar için bunu yapar, bazıları ise asla yapmaz.

Kullanılabilir itibara sahip temiz bir IP. Geri dönüştürülmüş VPS IP adresleri, önceki kullanıcıların spam faaliyetleri nedeniyle genellikle kara listelerdedir (blocklists). İşleme başlamadan önce IP adresinizi Spamhaus lookup veya mxtoolbox gibi servislerden kontrol edin. Kara listedeki bir IP, yazılımsal olarak çözülemeyecek ret yanıtlarına neden olur.

DNS kontrolü ve doğru bir PTR kaydı. Alan adınızın zone dosyasına kayıtlar eklemeniz gerekir. Ayrıca, sunucu IP adresinin mail hostname adresinize yönlenmesi için reverse DNS (PTR) kaydına ihtiyacınız vardır. PTR kaydı genellikle DNS panelinde bulunmaz; IP adresinin sahibi olan tarafça yönetilir, bu nedenle VPS sağlayıcınızın kontrol panelinden veya destek talebiyle ayarlanır.

6 GiB RAM ve 2 vCPU konforlu bir başlangıç seviyesidir. mailcow için özel kurulumlarda minimum gereksinim 6 GiB RAM ve 1 GiB swap alanıdır; birkaç kullanıcı sisteme dahil olduğunda 8 GiB önerilir. Yaklaşık 2.5 GiB değerinin altında, generate_config.sh çekirdeğin (kernel) konteynerları sonlandırmaması için ClamAV virüs tarayıcısını devre dışı bırakmayı teklif eder. Başlangıç için 20 GB SSD ayırın.

Sadece bir IP değil, bir DNS adı. mail.example.com gibi bir hostname seçin. Bu isim; MAILCOW_HOSTNAME adresiniz, TLS sertifika subject kısmınız, PTR hedefiniz ve SMTP banner metniniz olacaktır. Bu ismi her yerde tutarlı bir şekilde kullanın.

Adım 1 — Çıkış port 25'in açık olduğunu doğrulayın

Bunu ilk olarak yapın. Eğer bu işlem başarısız olursa, diğer tüm adımlar boşa harcanmış çaba olacaktır. Yeni VPS üzerinden, gerçek bir mail sunucusu ile SMTP bağlantısı kurmayı deneyin:

sudo apt update && sudo apt install -y netcat-openbsd
nc -vz -w 5 gmail-smtp-in.l.google.com 25

Başarılı bir sonuç anında döner:

Connection to gmail-smtp-in.l.google.com (142.250.x.x) 25 port [tcp/smtp] succeeded!

Engellenmiş bir port beş saniye boyunca bekler ve ardından hata verir:

nc: connect to gmail-smtp-in.l.google.com port 25 (tcp) timed out: Operation now in progress

Bu zaman aşımı (timeout) engelleme işaretidir. Bu durum sizin firewall ayarlarınızdan değil, sağlayıcı tarafındaki ağ filtresinden kaynaklanmaktadır; bu nedenle yerel bir değişiklik sorunu çözmez. Bir destek talebi (ticket) açın: "Lütfen <IP> adresli VPS'im için çıkış TCP port 25'i etkinleştirin; yasal bir mail sunucusu çalıştırıyorum." Bu işlem "succeeded" yanıtını alana kadar mailcow kurulumuna başlamayın. Gelen (inbound) 25 portunun (diğer sunucuların size ulaşması) farklı bir yol olduğunu ve genellikle açık olduğunu unutmayın; sağlayıcılar genellikle çıkış (outbound) tarafını kısıtlar.

Step 2 — DNS kayıtlarını şimdi ayarlayın

DNS değişikliklerinin yayılması zaman alır, bu nedenle kurulumdan önce mümkün olan her şeyi yayınlayın. Alan adınızın example.com, posta sunucunuzun mail.example.com ve IP adresinizin 10.0.0.10 olduğunu varsayalım. Zone dosyanızda şunları oluşturun:

mail.example.com.        A      10.0.0.10
mail.example.com.        AAAA   2001:db8::10          ; only if you have IPv6
example.com.             MX  10 mail.example.com.
example.com.             TXT    "v=spf1 mx -all"
_dmarc.example.com.      TXT    "v=DMARC1; p=none; rua=mailto:postmaster@example.com"

SPF kaydı, "yalnızca MX kaydım bu alan adı için e-posta gönderebilir, geri kalanını reddet" anlamına gelir. Kendi e-postalarınızın geri dönmemesi için DMARC ayarını p=none olarak başlatın; uyumluluk kanıtlandıktan sonra sırasıyla p=quarantine ve p=reject seviyelerine yükseltin. İki kayıt kasıtlı olarak eksik bırakılmıştır: Step 6'da mailcow tarafından sizin için oluşturulacak olan DKIM ve şu anda sağlayıcınızın panelinden ayarlamanız gereken PTR.

10.0.0.10 için PTR (reverse DNS) kaydını mail.example.com — yani MAILCOW_HOSTNAME değerinin aynısı — olarak ayarlayın. Bu, çoğu kişinin unuttuğu ve büyük sağlayıcıların reddettiği tek kayıttır. Eğer panelinizde rDNS alanı yoksa, bir destek talebi oluşturun.

Step 3 — Docker Kurulumu

mailcow, Compose v2 eklentisine sahip Docker Engine gerektirir. Compose eklentisi içermeyen Ubuntu docker.io paketi yerine Docker'ın resmi kolaylık scriptini kullanın:

curl -fsSL https://get.docker.com | sudo sh
sudo docker compose version

Docker Compose version v2.x satırı görülmelidir. Eğer docker compose version komutu docker: 'compose' is not a docker command çıktısını veriyorsa, Docker Engine kurulmuş ancak Compose eklentisi kurulmamış demektir. Eklentiyi Docker deposundan yükleyin — yukarıdaki scripti tekrar çalıştırın veya her ikisini de Docker'ın kendi apt deposundan kuran Docker Compose temelleri kılavuzumuza bakın.

Step 4 — mailcow'u klonlayın ve konfigürasyonu oluşturun

cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
umask
sudo ./generate_config.sh

Öncelikle umask komutunun 0022 çıktısını verdiğinden emin olun. Dosya maskesi hatalıysa mailcow kurulumu reddedilir; yeni bir Ubuntu 24.04 root kabuğu zaten 0022 değerini sağlar. Betik ardından tek önemli bilgiyi soracaktır: tam nitelikli hostname. mail.example.com değerini girin; bu değer A kaydı ve PTR kaydı ile tam olarak eşleşmelidir. Betik, tüm yığının okuduğu tek ortam dosyası olan mailcow.conf dosyasını oluşturur. Web portlarını (HTTP_PORT, HTTPS_PORT) değiştirmek veya düşük kaynaklı bir sunucuda ClamAV'yi devre dışı bırakmak isterseniz bu dosyayı açın:

MAILCOW_HOSTNAME=mail.example.com
HTTP_PORT=80
HTTPS_PORT=443
SKIP_CLAMD=n          # set to y to drop the virus scanner on a <2.5 GiB box

SKIP_FTS=y, düşük RAM kapasiteli sunucular için bir diğer ayardır: tam metin arama, mailcow dokümantasyonunda belirtilen ikinci yüksek bellek tüketicisidir; bu özelliği devre dışı bırakmak sadece webmail üzerindeki gövde metni aramasını etkiler.

Eğer ana makinede başka bir servis bu portları kullanmıyorsa HTTP_PORT=80 ve HTTPS_PORT=443 ayarlarını olduğu gibi bırakın. Mailcow'un yerleşik ACME istemcisinin sertifika alabilmesi için 80 portunun internetten erişilebilir olması gerekir. Bu nedenle aynı sunucuda ayrı bir nginx-plus-Certbot kurulumu çalıştırmayın; mailcow TLS sertifikalarını kendi içinde oluşturur ve yeniler; 80/443 portlarını kullanan ikinci bir servis bu işlemi bozar.

Step 5 — Stack'ı başlatın ve giriş yapın

sudo docker compose pull
sudo docker compose up -d
sudo docker compose ps

Pull işlemi yaklaşık iki düzine imaj çeker; birkaç dakika bekleyin. docker compose ps tüm konteynerleri running (veya healthy) olarak gösterdiğinde, tarayıcıda https://mail.example.com adresini açın. Varsayılan admin kullanıcı adı admin, şifre ise moohoo'dir. Şifreyi Access → Administrators menüsü altındaki admin arayüzünden hemen değiştirin. Tarayıcı NET::ERR_CERT_AUTHORITY_INVALID uyarısı verirse, ACME sertifikası henüz oluşturulmamış demektir; sistemin bozuk olduğunu varsaymadan önce aşağıdaki ACME hata bölümüne bakın; ilk bir iki dakika boyunca self-signed bir yer tutucu kullanılması normaldir.

Adım 6 — Alan adı ekleme, posta kutusu oluşturma ve DKIM yayınlama

Admin arayüzünde Mail Setup sayfasını açın (Configuration → Mail Setup). Domains sekmesi altında Add domain butonuna tıklayın ve example.com değerini girin. Ardından, Mailboxes bölümünde Add mailbox butonuna tıklayarak şifreli bir you@example.com oluşturun. Bu posta kutusu, IMAP üzerinden erişilebilir durumdadır.

DKIM anahtarı için: Configuration → ARC/DKIM keys menüsüne gidin. Alan adını eklediğinizde mailcow bir anahtar oluşturmuş olabilir; oluşturulmamışsa buradan yeni bir anahtar oluşturun. İlgili alan adını seçin, selector kısmını dkim olarak bırakın, 2048-bit seçeneğini belirleyin ve Add butonuna tıklayın. Görüntülenen uzun TXT değerini kopyalayın ve şu şekilde yayınlayın:

dkim._domainkey.example.com.  TXT  "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqh...long-key...QAB"

mailcow'un Domains sayfasında yer alan DNS butonu, beklenen tüm kayıtları listeler ve yayınlanan kayıtların durumunu yeşil onay veya kırmızı çarpı ile gösterir. Bu bölümü kontrol listesi olarak kullanın; teslim edilebilirlik testi yapmadan önce tüm satırların yeşil olduğundan emin olun. Yayınlama işleminden sonra DKIM satırının kırmızı görünmesi, anahtarın TXT parçaları arasında yanlış bölündüğü anlamına gelir. 2048-bit anahtarlar, tek bir TXT dizisi için olan 255 karakter sınırından daha uzundur; bu nedenle değeri tek bir mantıksal değer olarak yapıştırın ve DNS sağlayıcınızın bu değeri parçalara ayırmasına izin verin.

Step 7 — Test deliverability and chase 10/10

mail-tester.com adresine gidin, gösterilen rastgele adresi kopyalayın ve yeni posta kutunuzdan bu adrese bir mesaj gönderin — https://mail.example.com/SOGo adresindeki SOGo webmail hesabına giriş yapın ve oradan gönderin. Ardından "Then check your score" butonuna tıklayın.

Hedef 10/10 olmalıdır. Yaygın puan düşüşleri ve nedenleri şunlardır:

  • SPF not alignedMX/SPF kaydınız eksik veya gönderen IP adresi kapsam dahilinde değil. SPF TXT kaydını tekrar kontrol edin.
  • DKIM signature does not verifydkim._domainkey TXT kaydı eksik, henüz yayılma (propagation) aşamasında veya hatalı. En yaygın hata budur.
  • No PTR / PTR mismatch — Ters DNS (reverse DNS), mail.example.com adresine çözümlenmiyor. Sorunu sağlayıcı üzerinden düzeltin.
  • Listed on a blocklist — IP adresinizin geçmişteki itibarı. Listeden çıkarılma talebinde bulunun veya daha temiz bir IP talep edin.

Skor 10/10 olana kadar Gmail veya Outlook adreslerine gerçek e-posta göndermeyin. Düşük skor ve yeni bir IP kullanımı, alan adınızın ilk günden işaretlenmesine neden olur.

Step 8 — Gerçek bir e-posta istemcisi bağlayın

Thunderbird, Apple Mail veya telefonunuzu aşağıdaki ayarlar ile sunucuya yönlendirin. Tüm istemciler için sunucu ana bilgisayarı (host) mail.example.com adresidir:

  • IMAP: port 993, SSL/TLS (veya STARTTLS ile 143)
  • SMTP submission: port 465, SSL/TLS (veya STARTTLS ile 587)
  • Username: tam adres, you@example.com
  • Password: belirlediğiniz posta kutusu şifresi

E-posta istemcisi üzerinden port 25 kullanarak asla e-posta göndermeyin; bu port sadece sunucular arası iletişim içindir. mailcow bu port üzerinden kimlik doğrulamalı gönderim sunmaz ve bu portu kullanan istemciler reddedilir. Eğer bir istemci Relay access denied hatası veriyorsa, 25 numaralı port üzerinden veya kimlik doğrulaması olmadan gönderim yapmaya çalışıyor demektir; ayarları posta kutusu bilgilerinizle 465 veya 587 numaralı porta çevirin.

Adım 9 — Önemli verileri yedekleyin

mailcow, tüm stateful volume yapılarını snapshot olarak alan bir yedekleme scripti ile birlikte gelir. Scripti harici bir diske veya bağlı bir uzak dizine çalıştırın:

sudo MAILCOW_BACKUP_LOCATION=/opt/mailcow-backups \
  ./helper-scripts/backup_and_restore.sh backup all

all şu altı öğeyi kapsar ve bunlardan herhangi birinin kaybı veri kaybına yol açar: vmail (asıl posta kutuları), crypt (vmail verilerini çözen anahtarlar — bu anahtarlar olmadan veriler kullanılamaz), mysql (domainleri, kullanıcıları, aliasları ve ayarları tutan MariaDB), redis (kuyruk ve cache durumu), rspamd (öğrenilmiş spam/ham verileri) ve postfix (posta kuyruğu). Script, sıkıştırılmış arşivler oluşturan bir yardımcı container içinde çalışır; bu sayede stack aktifken bile yedekler tutarlı kalır. İşlemi her gece çalışan bir cron job ile otomatize edin ve eski yedekları temizlemek için --delete-days 14 parametresini ekleyin. Geri yükleme işlemi, snapshot listesini görüntüleyen ve geri yüklenecek öğeleri seçmenize olanak tanıyan restore parametresiyle aynı script üzerinden gerçekleştirilir. Test edilerek geri yüklenmemiş bir yedek, gerçek bir yedek değil, sadece bir umuttur; boş bir VPS üzerinde bir deneme yapın.

Step 10 — Belirli bir program dahilinde güncelleme

mailcow, yeni kodu çeken, mailcow.conf şemasını migrate eden, imajları önceden getiren ve konteynerları sırasıyla yeniden başlatan kendi script'i aracılığıyla güncellenir:

cd /opt/mailcow-dockerized
sudo ./update.sh --check   # reports whether an update exists, changes nothing
sudo ./update.sh           # applies it

Önce yedek alın (Step 9), çünkü şema migration işlemi geri döndürülemez. Güncellemeler sık yayınlanır ve internete açık daemon'lar için güvenlik düzeltmeleri içerir; bu nedenle bir mail server'ın aylarca güncellenmeden bırakılmasına izin verilmemelidir. Bir güncelleme bir konteyner'ı unhealthy durumuna düşürürse, sudo docker compose logs --tail=50 <service>-mailcow hata veren daemon'ın adını belirtir.

Sertleştirme hakkında bir not

mailcow, mail ve webmail portlarına yoğun istek gönderen IP adreslerini yasaklayan kendi netfilter servisini (netfilter-mailcow) çalıştırır; bu nedenle mail tarafı varsayılan olarak korunmaktadır. Bu durum, ana makine üzerindeki SSH için geçerli değildir; SSH hala dış dünyaya açıktır ve brute-force saldırılarına maruz kalmaktadır. Bu kurulumu SSH auth log dosyasını izleyen Fail2ban ve yalnızca anahtar tabanlı (key-only) giriş ile birlikte kullanın. mailcow admin arayüzünü güçlü bir şifre ile koruyın ve ideal olarak halka açık internetin dışında veya bir VPN arkasında tutun.

Hata modları ve tam metinler

Mail kuyrukları ve iletilemeyen iletiler. sudo docker compose exec postfix-mailcow postqueue -p komutunu çalıştırın veya admin arayüzündeki mail kuyruğunu inceleyin; girişler şu hata ile ertelenmiş durumdadır:

status=deferred (connect to gmail-smtp-in.l.google.com[142.250.x.x]:25: Connection timed out)

Bu durum, servis sağlayıcınız tarafından 25 numaralı çıkış portunun engellendiği anlamına gelir (Adım 1). Yapılandırma değişikliği sorunu çözmez; bir destek talebi açın. Sorun DNS veya TLS kaynaklı değildir; uzak bir MX adresinin 25 numaralı portunda görülen timed out ifadesi bunu kanıtlar.

Gmail tüm iletileri spam olarak işaretliyor veya geri çeviriyor. Mesajı Gmail üzerinde açın, "Orijinali göster" seçeneğine tıklayın ve kimlik doğrulama sonuçlarını okuyun. dkim=fail veya dkim=none hataları, dkim._domainkey TXT kaydının eksik, hatalı veya henüz yayılmadığı (propagated) anlamına gelir; ARC/DKIM sayfasında gösterilen değerleri birebir yeniden yayınlayın ve TTL süresinin dolmasını bekleyin. spf=fail hatası, SPF/MX kayıtlarının IP adresinizi kapsamadığı anlamına gelir. Hizalama (alignment) kritik öneme sahiptir; tek bir kontrolün başarısız olması bile iletinin spama düşmesine yeterlidir.

Büyük sağlayıcılar bağlantı sırasında reddediyor. Geri dönüş mesajları veya Postfix logları Gmail'in PTR reddini içerir:

550-5.7.25 [10.0.0.10] The IP address sending this message does not have a PTR
550-5.7.25 record setup, or the corresponding forward DNS entry does not match
550 5.7.25 the sending IP. As a policy, Gmail does not accept messages from IPs
550 5.7.25 with missing PTR records.

550 5.7.25 kodu, ters DNS (reverse DNS) kaydının eksik veya uyumsuz olduğunu belirtir. IP adresiniz için PTR kaydını sağlayıcınız üzerinden mail.example.com olarak ayarlayın (Adım 2). Forward (A) ve reverse (PTR) kayıtları birbiriyle uyumlu olmalıdır; her iki kayıt da mailcow'un diğer sunuculara kendini tanıttığı host adını içermelidir.

Tarayıcı geçmeyen bir sertifika uyarısı gösteriyor. acme-mailcow konteyneri gerçek bir sertifika alamadı. Loglarını kontrol edin:

sudo docker compose logs acme-mailcow | tail -n 40

Cannot validate any hostnames, skipping Let's Encrypt for 1 hour. gibi bir satır veya doğrulama (challenge) hatası, 80 numaralı portun internetten erişilebilir olmadığını veya A kaydının bu sunucuyu göstermediğini belirtir. mail.example.com kaydının bu sunucuya çözümlendiğini doğrulayın, 80 ve 443 portlarını host güvenlik duvarından açın ve bu portları başka bir servisin kullanmadığından emin olun. Sorun giderildikten sonra, bir saatlik bekleme süresini beklemek yerine istemciyi sudo docker compose restart acme-mailcow ile yeniden başlatın.

FAQ

Kendi e-posta sunucunuzu barındırmak gerçekten mantıklı mı?

Veri sahipliği, sınırsız takma ad (alias) ve tam kontrol istiyorsanız evet; mailcow, bir VPS maliyetine profesyonel bir yapı sunar. Ancak iletilebilirlik sürekli bir uğraştır: IP itibarı, DNS uyumu ve kara liste takibi hiçbir zaman bitmez. Tek bir günün spam klasöründe geçmesinin maliyetli olduğu kritik iş adresleri için yönetilen bir sağlayıcı kullanmak daha pragmatiktir. Kontrolü kolaylığa tercih ediyorsanız ve sunucuyla bizzat ilgilenecekseniz kendi sunucunuzu kurun.

Outbound port 25'in engellendiğini nasıl anlarım?

Sunucuda nc -vz -w 5 gmail-smtp-in.l.google.com 25 komutunu çalıştırın. "succeeded!" ifadesi portun açık olduğunu; bekleme süresinden sonra gelen timed out ise sağlayıcınızın portu engellediğini gösterir. Kendi sunucusuna sahip olanların e-posta alıp gönderememesinin en yaygın sebebi budur. Tek çözüm sağlayıcınızın portu açmasıdır; yerel ayarlarla bu durum düzeltilemez.

E-postalarım neden hâlâ Gmail'in spam klasörüne düşüyor?

Neredeyse her zaman bozuk bir kimlik doğrulama zinciri nedeniyle olur. Gmail'de "Show original" seçeneğini kullanın ve spf=pass, dkim=pass ve dmarc=pass değerlerini kontrol edin. dkim=fail durumu, eksik veya hatalı bir dkim._domainkey TXT kaydına işaret eder; PTR uyumsuzluğu veya gönderim geçmişi olmayan yeni bir IP de soruna yol açar. Önce mail-tester.com skorunu 10/10 yapın, ardından ilk günden yüksek hacimli gönderim yapmak yerine IP'yi yavaşça ısıtın (günde birkaç mesajla başlayarak artırın).

Tam olarak neleri yedeklemem gerekiyor?

backup_and_restore.sh backup all komutunu çalıştırın ve tüm seti sunucu dışında saklayın. Bu komut şunları kapsar: vmail (posta kutuları), crypt (şifre çözücü anahtarlar), MariaDB veritabanı (alan adları, kullanıcılar, takma adlar, ayarlar), Redis, Rspamd öğrenilmiş verileri ve Postfix kuyruğu. İnsanların genellikle gözden kaçırdığı kısım crypt hacmidir; bu olmadan vmail yedeği okunamaz şifreli metin halindedir. En az bir kez geçici bir cihaz üzerinde geri yükleme testi yapın.

mailcow'u 2 GB VPS üzerinde çalıştırabilir miyim?

Rahat bir çalışma için uygun değildir. generate_config.sh, yaklaşık 2.5 GiB altındaki sistemlerde ClamAV'yi devre dışı dışı bırakmayı teklif eder; ancak bu durumda bile Rspamd, ClamAV, Dovecot ve MariaDB bellek için rekabet eder. Bu nedenle gerçek bir yük altında swap kullanımı ve OOM kill hatalarıyla karşılaşılır. Stabil bir tek kullanıcı kurulumu için alt sınır olarak 6 GiB RAM ve 1 GiB swap kullanın; birden fazla kullanıcı sisteme dahil olduğunda ise 8 GiB kapasiteye geçin.

#mailcow#email#self-hosting#docker#dns