Mailcow Kullanarak e-posta Sunucusu Kurulumu

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
gerekli portların açık olup olmadığını kontrol etmek

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

dns ayarına bir MX kayıt türü ekleme

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

dns ayarına bir A kayıt türü ekleme

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
mailcow deposunu yerel sunucumuza kopyalıyoruz

Burada sizden tam etki alanı adı (FQDN) girmeniz istenecek. Örnek: mail.sirketiniz.com

Kurulum tamamlandıktan sonra:

docker-compose up -d
mailcow'u çalıştırmak için önemli dosyaları oluşturmak üzere yapılandırma betiğini çalıştırma

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
İlk kurulum sırasında varsayılan kimlik bilgileriyle mailcow oturum açma

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.

etki alanı eklemek için yapılandırma sayfasına erişim
İşlem tamamlandıktan sonra, alttaki alan adı ekle ve sogo'yu yeniden başlat düğmesine basın

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.

dkim anahtarının yapılandırma menüsünden oluşturulması

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

dkim anahtarını cloudflare dns ayarlarına ekleme

Ö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
posta kutusu için bir kullanıcı ayarlama

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]"
Outlook hesabından gönderilen cowmail'de alınan e-posta

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.

Yorum yapın