Mailu, kullanıcı dostu ve esnek bir e-posta sunucusu çözümüdür. Modern güvenlik özellikleri, gelişmiş yönetim seçenekleri ve kullanıcı dostu arayüzü ile dikkat çeker. Mailu, Docker kapsayıcıları ile çalışır ve kolayca kurulabilir, ölçeklendirilebilir ve yönetilebilir. Özellikle TLS certificates kendi içinde yapması ayrıca Web Arayüzü seçenekleri geniş olan (Roundcube Snappymail) seçenekler sunuyor. Güvellik tarafında ClamAV da içinde barındıra biliyorsunuz ve en güzel tarafı bunu docker üstünde bir container olarak ayağa kaldırabilirsiniz.

Mailu’nun Özellikleri

  • Açık Kaynaklı: Tamamen açık kaynaklı bir projedir.
  • Docker Tabanlı: Docker kapsayıcıları kullanarak kolayca kurulabilir ve yönetilebilir. Fakat burada önemli olan şey docker compose v2 olmalı.
  • Güvenlik: Spam ve virüs filtreleme, SSL/TLS desteği gibi gelişmiş güvenlik özellikleri sunar.
  • Esneklik: Farklı konfigürasyon ve kullanıcı ihtiyaçlarına göre özelleştirilebilir.

Mailu Kurulumu İçin Gereksinimler

Mailu’yu kurmak için aşağıdaki gereksinimlere sahip olmanız gerekmektedir: Link

  • Bir Alan Adı: Mailu’yu kullanmak için bir alan adına ihtiyacınız var.
  • DNS Kayıtları: Alan adınız için gerekli DNS kayıtlarını yapılandırmalısınız.
  • Docker ve Docker Compose: Mailu, Docker kapsayıcıları ile çalışır, bu yüzden Docker ve Docker Compose yüklü olmalıdır.
  • Sunucu: Mailu’yu barındıracak bir sunucuya ihtiyacınız var.
  • Hostname: hostname ‘mail‘ olmak zorunda. /etc/hosts dosyasından da değiştirmeyi unutmayın.sudo hostnamectl set-hostname mail

Docker Versiyonu

$ docker version
  Client: Docker Engine - Community
   Version:           20.10.22
   API version:       1.41
   Go version:        go1.18.9
   Git commit:        3a2c30b
   Built:             Thu Dec 15 22:27:03 2022
   OS/Arch:           linux/arm64
   Context:           default
   Experimental:      true

  Server: Docker Engine - Community
   Engine:
    Version:          20.10.22
    API version:      1.41 (minimum version 1.12)
    Go version:       go1.18.9
    Git commit:       42c8b31
    Built:            Thu Dec 15 22:25:25 2022
    OS/Arch:          linux/arm64
    Experimental:     false
   containerd:
    Version:          1.6.14
    GitCommit:        9ba4b250366a5ddde94bb7c9d1def331423aa323
   runc:
    Version:          1.1.4
    GitCommit:        v1.1.4-0-g5fd4c4d
   docker-init:
    Version:          0.19.0
    GitCommit:        de40ad0

$ docker compose version
  Docker Compose version v2.14.1

Mailu Kurulum Adımları

Adım 1: Başlangıç Konfigürasyonu

Kuruluma başlamadan önce bazı değişkenlerin ayarlanması gerekmektedir. Mailu’nun konfigürasyon kendi sitesinden yaparak bilgileri doldurun: setup.mailu.io

  • Mailu Storage Path: Bu alan, Mailu’nun verilerini depolayacağı dizini belirtir. Docker volume path’i girilmelidir, örneğin: /mailu.
  • Main Mail Domain and Server Display Name: Ana mail domaini ve sunucu adı bu alana girilmelidir. Örneğin, muratakpinar.com.tr
  • Postmaster Local Part: Bu alan, postmaster e-posta adresinin yerel kısmını belirtir. Genellikle admin olarak kullanılır.
  • Choose how you wish to handle security TLS certificates: TLS sertifikalarını nasıl yönetmek istediğinizi seçin. letsencrypt gibi bir seçenek belirleyebilirsiniz.
  • Authentication rate limit per IP for failed login attempts on unique non-existing accounts: Belirli bir IP adresinden yapılan başarısız giriş denemeleri için saatlik limit. Örneğin, 5 / hour.
  • Authentication rate limit per user: Kullanıcı başına günlük giriş deneme limiti. Örneğin, 50 / day.
  • Outgoing message rate limit (per user): Kullanıcı başına günlük gönderilebilecek mesaj limiti. Örneğin, 200 / day.
  • Opt-in for anonymized statistics: Anonimleştirilmiş istatistiklere katılmak isteyip istemediğinizi belirleyin.
  • Website name: Web sitesinin adını girin. Örneğin, Murat Akpınar.
  • Linked Website URL: Bağlantılı web sitesinin URL’sini girin. Örneğin, https://muratakpinar.com.tr.
  • Enable the admin UI: Yönetim arayüzünü etkinleştirin. Bu seçenek, Mailu’nun yönetim araçlarına erişim sağlar.
  • Enable the API: API’yi etkinleştirin. Mailu’nun yapılandırmasını değiştirmek için RESTful API’yi kullanabilirsiniz. API’yi etkinleştirdiğinizde size bir TOKEN üretip verecektir.

Adım 2: Özellikleri Seçin

Mailu, bir yönetici arayüzü, web e-posta istemcileri, antispam, antivirüs gibi birden fazla temel özellik ile birlikte gelir. Bu bölümde, tercihlerinize göre servisleri etkinleştirebilirsiniz:

  • Enable Web email client: Web e-posta istemcisini etkinleştirin. Bu seçenek, kullanıcıların web üzerinden posta kutularına erişmelerini sağlar. none, roundcube, veya rainloop seçeneklerinden birini seçebilirsiniz.
  • Enable the antivirus service: Antivirüs hizmetini etkinleştirir. ClamAV kullanarak büyük ölçekli virüs yayılma kampanyalarına karşı koruma sağlar. Bu hizmeti etkinleştirmek için en az 1GB bellek gereklidir.
  • Enable the webdav service: Webdav hizmetini etkinleştirir. Kullanıcıların HTTP üzerinden takvim ve rehber gibi bilgileri depolamalarını sağlar.
  • Enable fetchmail: Fetchmail’i etkinleştirir. Kullanıcıların harici bir mail sunucusundan IMAP/POP3 ile posta çekip gelen kutularına yerleştirmelerini sağlar.
  • Enable oletools: Oletools’u etkinleştirir. E-posta eklerindeki belgeleri kötü amaçlı makrolara karşı tarar. Tam teşekküllü bir antivirüs programına göre daha düşük bellek kullanır.
  • Enable Tika: Tika’yı etkinleştirir. E-posta ekleri içinde arama yapma işlevini sağlar. Tika, e-posta eklerindeki belgeleri tarar, işler (OCR, anahtar kelime çıkarımı) ve verimli bir şekilde aranabilir hale getirir. Bu işlem önemli miktarda kaynak (RAM, CPU ve depolama) gerektirir.

Adım 3: Mailu’yu Dünyaya Açın

Mail sunucusunun e-posta alabilmesi, gönderebilmesi ve kullanıcıların posta kutularına erişebilmesi için dünyaya açılması gerekmektedir. Mailu, bu işlemi çeşitli yollarla yapabilir:

  • IPv4 listen address: IPv4 listen address alanına satın aldığınız sunucunun IP adresini yazmalısınız. Örneğin, 192.168.1.50.
  • Subnet of the docker network: Docker ağının alt ağını belirtin. Bu ağ, sisteminizin bağlı olduğu herhangi bir ağ ile çakışmamalıdır. Genellikle format *.*.*.0/24 şeklindedir. Örneğin, 192.168.203.0/24.
  • Enable IPv6: IPv6’yı etkinleştirin. Bu, Mailu’nun DNSSEC doğrulamasını yapmasına, DNS kök sorgularını ve önbelleklemesini gerçekleştirmesine olanak tanır.
  • Enable an internal DNS resolver (unbound): Dahili bir DNS çözümleyiciyi etkinleştirin. Bu seçenek, antispam hizmetinin genel veya ISS DNS sunucuları tarafından engellenmemesine yardımcı olur.
  • Public hostnames: Sunucunun barındıracağı genel ana bilgisayar adlarını girin. Bu alan adları, e-posta alan adlarının MX kayıtlarında belirtilmelidir. Ana bilgisayar adları virgülle ayrılmalıdır.

mail.muratakpinar.com.tr

Bu adımları tamamladıktan sonra, docker-compose.yml ve mailu.env oluşturacak. Bunları wget ile sisteme indirip kullanabileceksiniz.

Kategori: