Mailcow ile Özel Mail Sunucusu Kurulumu

Hazır e-posta hizmetlerinin fiyatları giderek artarken, kendi alan adınızla çalışan, tamamen kontrolün sizde olduğu bir mail sunucusu kurmak hem ekonomik hem de özgürleştirici bir adım olabilir. Bu rehberde, Docker tabanlı açık kaynak e-posta sunucusu çözümü olan Mailcow kullanarak nasıl tam teşekküllü bir e-posta sistemi kuracağınızı adım adım açıklıyoruz. Kurulumdan sonra, sisteminizi farklı cihaz ve platformlara entegre edebilmek için Outlook’a e-posta ekleme ve iPhone e-mail kurulumu gibi işlemleri de rahatlıkla gerçekleştirebilirsiniz.

  • Mailcow kurulumu için minimumda aşağıdaki gereksinimlere ihtiyacınız olacak:
  • Temel Bilgi: SMTP, IMAP ve POP3 protokolleri hakkında temel düzeyde bilginiz olmalı.
  • Donanım: Minimum 2 vCPU, 4 GB RAM ve 60 GB disk alanı yeterlidir.
  • İşletim Sistemi: Temiz kurulmuş Ubuntu 20.04+ veya Debian 11+ önerilir. Başka servislerin çalışmadığı bir ortam tercih edilmelidir.
  • IP Adresi: Kara listede olmayan statik IP adresi gereklidir. Aksi halde e-postalar spam’a düşebilir.
  • Alan Adı: E-posta adresleriniz için bir domain (örneğin alanadiniz.com) gerekli.

Sunucu Ortamını Hazırlama

İlk adım, Docker kurulumunu tamamlamaktır. Mailcow, tüm bileşenlerini Docker konteynerleri ile yönettiği için sisteminizde Docker’ın hazır olması gerekir.

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 olarak çalışacak bir sistemin bazı portları açık olmalıdır. Aşağıdaki komutla bu portların aktifliğini kontrol edebilirsiniz:

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’un doğru şekilde çalışması için alan adınıza bazı kritik DNS kayıtları eklemeniz gerekir. Cloudflare gibi DNS servis sağlayıcıları üzerinden aşağıdaki kayıtları oluşturun:

A Kaydı: mail.sirketiniz.com → Sunucu IP

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 başarıyla kurduktan sonra, sistemi gerçekten çalışır hale getirmek için birkaç yapılandırma adımı daha gerekiyor. Bu bölümde, web tabanlı arayüz üzerinden alan adınızı ekleyecek, DKIM anahtarlarını oluşturacak ve posta kutuları tanımlayarak sisteminizi üretim ortamına 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 Dovecot Mail Sunucusu yapılandırmasının doğru yapılması, sanal sunucu güvenliği açısından da gerekli önlemlerin alınması son derece önemlidir. Kara liste kontrolleri, PTR kayıtları (Reverse DNS), greylisting ve diğer güvenlik ayarları gibi detaylar da dikkatle gözden geçirilmelidir.

Yorum yapın