Geleneksel e-posta servislerinin maliyetlerinin artmasıyla birlikte, alan adınıza bağlı, tam denetime sahip olduğunuz bir e-posta sunucusu kurmak, hem ekonomik hem de daha özgür bir çözüm sunuyor. Bu içerikte, açık kaynak kodlu Mailcow platformunu Docker aracılığıyla nasıl kurabileceğinizi detaylı olarak ele alacağız.
Başarılı bir Mailcow kurulumu için aşağıdaki ön koşulları sağlamanız gerekmektedir:
- Temel Bilgi: SMTP, IMAP ve POP3 protokollerine dair temel seviyede bilgi sahibi olunmalıdır.
- Donanım: Kurulum için minimum 2 vCPU, 4 GB RAM ve 60 GB boş disk alanı yeterlidir.
- İşletim Sistemi: Tercihen Ubuntu 20.04 veya Debian 11+ gibi temiz bir sistem önerilir.
- IP Adresi: E-posta gönderiminde sorun yaşamamak için kara listede olmayan statik bir IP kullanılmalıdır.
- Alan Adı: Kendi e-posta adreslerinizi oluşturabilmek için aktif bir alan adı gereklidir.
Sunucu Ortamını Hazırlama
Mailcow’un kurulumu için atılacak ilk adım, sisteminizde Docker’ın kurulu olmasını sağlamaktır. Çünkü tüm Mailcow bileşenleri, Docker konteyner teknolojisi ile çalıştırılmaktadır.
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ı
Bir sistemin e-posta sunucusu olarak görev yapabilmesi için belirli portların açık olması gerekir. Aşağıda verilen komut yardımıyla bu portların erişime açık olup olmadığını denetleyebilirsiniz.
sudo ufw allow 25,80,443,587,993/tcp
sudo ufw enable

DNS Ayarlarının Yapılandırılması
Mailcow altyapısının düzgün işlemesi için alan adınıza özel bazı DNS kayıtlarını tanımlamanız gerekir. Cloudflare gibi hizmetler üzerinden şu ayarları uygulamalısınız:
A Kaydı: mail.sirketiniz.com → Sunucunuzun IP adresi
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 sunucusunu kurduktan sonra, onu tam anlamıyla kullanıma hazır hale getirmek için birkaç ek yapılandırma yapmanız gerekir. Bu bölümde, web arayüzünü kullanarak alan adınızı sisteme ekleyecek, DKIM anahtarlarını oluşturacak ve posta kutularını tanımlayarak sistemi canlı ortama hazırlayacağız.
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.