Giderek pahalılaşan e-posta servisleri karşısında, kendi alan adınızı kullanarak tam kontrol sahibi olduğunuz bir mail sunucusu oluşturmak hem maliyetleri düşürür hem de sistem üzerindeki denetimi size verir. Bu yazıda, Docker tabanlı açık kaynaklı Mailcow çözümüyle profesyonel bir e-posta altyapısı kurmayı anlatacağız.
Kuruluma başlamadan önce şu gereksinimlerin sağlandığından emin olun:
- Temel Bilgi: SMTP, IMAP ve POP3 protokolleri hakkında temel bilgiler edinmiş olmalısınız.
- Donanım: Minimum 2 vCPU, 4 GB RAM ve 60 GB disk alanı önerilmektedir.
- İşletim Sistemi: Ubuntu 20.04+ ya da Debian 11+ sürümleri temiz bir şekilde kurulmuş olmalıdır.
- IP Adresi: Spam sorunları yaşamamak için kara listeye düşmemiş bir statik IP gereklidir.
- Alan Adı: E-posta hesaplarınızı tanımlamak için bir alan adı (örn. alanadiniz.com) gereklidir.
Sunucu Ortamını Hazırlama
Mailcow kurulumuna geçmeden önce yapılması gereken ilk işlem, Docker kurulumunun tamamlanmasıdır. Tüm yapı Docker konteynerlerine dayandığı için, bu temel bileşenin hazır olması zorunludur.
sudo apt update
sudo apt install docker.io docker-compose -y
Kurulumdan sonra servisleri başlatın ve sistem açılışında çalışacak şekilde ayarlayın:
sudo systemctl enable docker
sudo systemctl start docker
Gerekli Portların Açılması
Mail sunucusu işlevi görecek bir sistemde bazı özel portların erişime açık olması şarttır. Bu portların durumunu kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz.
sudo ufw allow 25,80,443,587,993/tcp
sudo ufw enable

DNS Ayarlarının Yapılandırılması
Alan adınızın Mailcow ile tam uyumlu çalışabilmesi için bazı DNS kayıtlarını doğru şekilde girmeniz gerekir. Cloudflare gibi bir DNS sağlayıcısı aracılığıyla aşağıdaki girişleri yapmalısınız:
A Kaydı: mail.sirketiniz.com → IP adresiniz
MX Kaydı: @ → mail.sirketiniz.com

TXT Kaydı (SPF): v=spf1 ip4:Sunucu_IP -all

Mailcow’un Kurulması
Artık Mailcow’u sisteminize indirebilir ve çalıştırabilirsiniz:
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
./generate_config.sh

Burada sizden tam etki alanı adı (FQDN) girmeniz istenecek. Örnek: mail.sirketiniz.com
Kurulum tamamlandıktan sonra:
docker-compose up -d

Mailcow Web Paneline Giriş
Mailcow kurulumu başarıyla tamamlandıktan sonra, sistemin işlevsel olması için bazı son yapılandırmaların yapılması gerekir. Bu aşamada, web arayüzünden alan adınızı sisteme ekleyecek, DKIM imzalarını oluşturacak ve posta kutularını tanımlayarak sunucunuzu üretim ortamına geçireceğiz.
Mailcow yönetim arayüzüne erişmek için tarayıcınıza şu adresi yazın:
https://mail.sirketiniz.com
Varsayılan oturum bilgileri şunlardır:
- Kullanıcı Adı:
admin
- Şifre:
moohoo

Alan Adı Ekleme
Panelde oturum açtıktan sonra üst menüden E-posta > Yapılandırma sekmesine geçin. Açılan ekranda alan adınızı ekleyebileceğiniz bir form göreceksiniz.
Buraya örneğin sirketiniz.com
gibi, e-posta trafiğiniz için kullanacağınız tam alan adını girin.
Alan adı ekledikten sonra “Alan Adı Ekle ve SOGo’yu Yeniden Başlat” butonuna tıklayın. Bu işlem, sistemin webmail servisiyle alan adınızı ilişkilendirmesini sağlar.


DKIM Anahtarlarını Oluşturma
SPF kaydı doğru olsa bile, e-postalarınız spam klasörüne düşebilir. Bu yüzden DKIM (DomainKeys Identified Mail) yapılandırması şarttır.
Yapılandırma > ARC/DKIM Anahtarları menüsüne gidin. Buradan alan adınız için yeni bir DKIM anahtarı oluşturabilirsiniz.

Anahtar oluşturulduktan sonra sistem size bir TXT kaydı verecektir. Bu değeri alan adınızın DNS yönetim paneline eklemeniz gerekir.

Örneğin, Cloudflare kullananlar için:
- Name:
dkim._domainkey
- Type:
TXT
- Content:
v=DKIM1;...
Posta Kutuları Oluşturma
Artık e-posta gönderip almak için bireysel hesaplar tanımlayabilirsiniz. Yönetim panelinde Mail Kurulumu > Posta Kutuları yolunu izleyin.
Posta Kutusu Ekle seçeneği ile yeni kullanıcılar tanımlayabilirsiniz. Örneğin:
- Kullanıcı adı:
info
- Etki alanı:
@sirketiniz.com
- Parola: Güçlü bir şifre

Webmail Arayüzü ile Test
Sistemin düzgün çalıştığını test etmek için Uygulamalar > Webmail sekmesine giderek oluşturduğunuz e-posta hesabıyla giriş yapın.
Webmail arayüzü olan SOGo, kullanımı kolay ve hızlı bir istemcidir.


Teslimat Testi ve DMARC Uyarısı
Mailcow yapılandırmasının son adımlarından biri, dış sağlayıcılara e-posta göndererek sistemin spam filtrelerine takılmadan çalışıp çalışmadığını kontrol etmektir.
Ben örnek olarak hem Microsoft Outlook hem de ProtonMail adreslerime test e-postaları gönderdim. Ne yazık ki, ikisi de spam klasörüne düştü. Yapılan incelemede sistemde DMARC kaydının eksik olduğunu fark ettim.
DMARC, SPF ve DKIM kayıtlarını kontrol eder ve alıcı sunuculara “bu alan adı yalnızca bu yollarla e-posta gönderir” anlamında net bir kural tanımlar. Bu nedenle, Mailcow kurulumu sonrası DNS’te bir DMARC kaydı da eklemeniz önerilir:
_dmarc.sirketiniz.com. IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]"

Bu noktaya kadar geldiyseniz, artık alan adınıza bağlı bir mail sunucunuz var ve kendi e-posta adresiniz üzerinden gönderim alım yapabiliyorsunuz.
Ancak unutmayın: Gerçek anlamda sağlıklı çalışan bir e-posta altyapısı için kara liste kontrolleri, PTR kayıtları (Reverse DNS), greylisting ve güvenlik ayarları gibi detaylar da gözden geçirilmeli.