Mailcow ile Kurumsal E-posta Sunucusu Nasıl Kurulur

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

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

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 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
İ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