E-posta & SMTP Sunucu

    Postal ile Kendi Mail Gönderim Sunucunuz

    Açık kaynak Postal ile kendi gönderim altyapınızı kurmanın tüm adımları ve DNS kayıtları.

    9 dk okuma Güncellendi: 25 Ağustos 2026

    Postal, kendi mail gönderim altyapınızı kurmak istediğinizde karşınıza çıkan en olgun açık kaynak seçeneklerden biri. Ticari gönderim servislerinin yaptığı işi — API ve SMTP üzerinden mesaj kabul etmek, kuyruğa almak, teslim etmek, dönenleri ve tıklamaları izlemek, alan adı bazında DKIM imzalamak — kendi sunucunuzda yapar. Yani bir bülten yazılımı değil, o yazılımların arkasına koyduğunuz gönderim motorudur.

    Bu rehberde Postal'ı sıfır bir sunucuya kurmayı anlatıyorum: kuruluma başlamadan önce doğrulamanız gereken ön koşullar (özellikle 25. port ve rDNS), Docker tabanlı kurulumun adımları, alan adı doğrulaması için gereken DNS kayıtları, mail sunucusu ve kimlik bilgisi oluşturma, uygulamanızı SMTP ya da API ile bağlama, ve üretimde karşılaşacağınız bakım işleri. Baştan uyarayım: bu iş, bir uygulama kurmaktan çok bir altyapı işletmeye benziyor.

    Postal Ne İşe Yarar, Ne Zaman Gerekir#

    Postal'ı doğru katmana yerleştirmek önemli. Mautic, MailWizz ya da kendi uygulamanız ne göndereceğine karar verir; Postal ise nasıl teslim edileceğiyle ilgilenir. İkisi birbirinin alternatifi değildir, üst üste çalışır.

    Postal'ın size verdiği şeyler: alan adı bazında DKIM imzalama, gönderim kuyruğu ve yeniden deneme mantığı, dönen maillerin (bounce) otomatik sınıflandırılması, açılma ve tıklama izleme, webhook bildirimleri, ve gönderim hacminizi organizasyon/mail sunucusu düzeyinde ayırma imkânı. Ticari bir gönderim servisi kullanmak yerine bunu kendiniz işletmenin iki gerçek gerekçesi vardır: maliyet ve veri sahipliği.

    Karşılığında üstlendiğiniz sorumluluk da net: IP itibarını siz yönetirsiniz, kara liste takibini siz yaparsınız, sunucu güvenliği ve yedeği sizde olur. Aylık birkaç bin mail gönderiyorsanız bu yük genellikle değmez; düzenli ve yüksek hacimli gönderim yapıyorsanız değer.

    KatmanSorumlulukÖrnek
    Kampanya yazılımıİçerik, segment, zamanlamaMautic, MailWizz, Listmonk
    Gönderim motoruKuyruk, teslimat, DKIM, izlemePostal
    Ağ ve itibarIP, rDNS, kara liste takibiSunucu sağlayıcınız ve siz

    Ön Koşullar: Port 25, rDNS ve Kaynaklar#

    Kuruluma başlamadan önce üç şeyi doğrulayın; bunlardan biri eksikse kurulum tamamlanır ama tek bir mail teslim edilemez.

    1. Giden 25. port açık olmalı. Postal, alıcı posta sunucularına doğrudan 25. porttan bağlanır. Birçok sağlayıcı bu portu kötüye kullanımı önlemek için varsayılan olarak kapatır; açtırmak genellikle bir destek talebi gerektirir. Test edin:

    # Herhangi bir posta sunucusunun 25. portuna ulaşabiliyor musunuz
    nc -zv gmail-smtp-in.l.google.com 25
    # Beklenen: "succeeded" veya "open"
    # "Connection timed out" görüyorsanız port kapalıdır, kuruluma başlamayın.
    

    2. rDNS (PTR) kaydı doğru olmalı. Sunucunuzun IP'si, kullanacağınız posta ismine geri çözümlenmeli ve o isim de aynı IP'ye ileri çözümlenmelidir. Bu ikisi tutmuyorsa birçok büyük sağlayıcı bağlantınızı doğrudan reddeder.

    dig -x 185.12.34.56 +short          # postal.firmaniz.com. dönmeli
    dig postal.firmaniz.com A +short    # 185.12.34.56 dönmeli
    

    3. Kaynak ve yazılım. Postal, Docker üzerinde MariaDB ve RabbitMQ ile birlikte çalışır. Başlangıç için 2 vCPU ve 4 GB RAM makul bir alt sınırdır; hacim arttıkça RAM ihtiyacı önce artar.

    # Docker ve derleme araçları
    sudo apt update
    sudo apt install -y git curl
    curl -fsSL https://get.docker.com | sudo sh
    sudo systemctl enable --now docker
    

    Kurulum: Bootstrap ve İlk Kullanıcı#

    Postal, kurulum ve işletim komutlarını tek bir yardımcı araç üzerinden sunar.

    # Kurulum deposunu al ve komutu yola bağla
    sudo git clone https://github.com/postalserver/install /opt/postal/install
    sudo ln -s /opt/postal/install/bin/postal /usr/bin/postal
    
    # Yapılandırmayı üret (panel için kullanacağınız tam alan adı)
    sudo postal bootstrap postal.firmaniz.com
    
    # Veritabanı şemasını kur
    sudo postal initialize
    
    # İlk yönetici kullanıcısını oluştur (etkileşimli sorar)
    sudo postal make-user
    
    # Servisleri başlat
    sudo postal start
    sudo postal status
    

    bootstrap komutu /opt/postal/config/ altında postal.yml dosyasını, imzalama anahtarını ve bir ters vekil yapılandırmasını üretir. Bu dizin sizin en kritik yedek hedefinizdir: imzalama anahtarını kaybederseniz mevcut kimlik bilgileri geçersiz hale gelir.

    postal.yml içinde ilk gözden geçirmeniz gereken alanlar şunlar:

    web:
      host: postal.firmaniz.com
    
    dns:
      mx_records:
        - mx.postal.firmaniz.com
      smtp_server_hostname: postal.firmaniz.com
      spf_include: spf.postal.firmaniz.com
      return_path_domain: rp.postal.firmaniz.com
      route_domain: routes.postal.firmaniz.com
      track_domain: track.postal.firmaniz.com
    

    Bu isimleri değiştirebilirsiniz ama değiştirirseniz DNS tarafında da aynı isimleri kullanmanız gerekir. Varsayılanlarla devam etmek, sonraki adımı çok basitleştirir.

    DNS Kayıtları#

    Postal, gönderim yapacağınız her alan adını doğrulamanızı ister ve size gerekli kayıtları arayüzde gösterir. Yapı kabaca şöyledir:

    ; Panel ve SMTP sunucusunun kendisi
    postal.firmaniz.com.        3600  IN  A      185.12.34.56
    
    ; Return-Path (dönen mailleri Postal'in toplayabilmesi icin)
    rp.postal.firmaniz.com.     3600  IN  MX 10  mx.postal.firmaniz.com.
    mx.postal.firmaniz.com.     3600  IN  A      185.12.34.56
    
    ; SPF: gonderen alan adinizin kaydina Postal'i dahil edin
    firmaniz.com.               3600  IN  TXT    "v=spf1 include:spf.postal.firmaniz.com ~all"
    
    ; DKIM: Postal'in urettigi genel anahtar
    postal._domainkey.firmaniz.com. 3600 IN TXT  "v=DKIM1; t=s; h=sha256; p=MIIBIjANBgkq..."
    
    ; Tiklama ve acilma izleme alan adi
    track.firmaniz.com.         3600  IN  CNAME  track.postal.firmaniz.com.
    

    DKIM kaydını komut satırından da alabilirsiniz:

    sudo postal default-dkim-record
    

    İki noktaya dikkat edin. Birincisi, SPF kaydınız tek olmalıdır; alan adınızda zaten bir SPF varsa yeni bir satır eklemek yerine mevcut kaydın içine include eklemelisiniz. İki ayrı SPF TXT kaydı, doğrulamanın tamamen başarısız olmasına yol açar. İkincisi, DKIM anahtarı uzun olduğu için TXT değeri 255 karakter sınırına takılabilir; DNS sağlayıcınız parçalamayı otomatik yapmıyorsa değeri elle bölmeniz gerekir — ayrıntısı DKIM TXT kaydı 255 karakter sınırı yazısında.

    Kayıtları ekledikten sonra yayılmayı bekleyin ve arayüzdeki doğrulama düğmesine basın. Doğrulama geçmeden gönderim yapmayın; imzasız çıkan mesajlar teslimatınızı ilk günden bozar.

    Mail Sunucusu ve Kimlik Bilgileri Oluşturma#

    Postal'ın nesne hiyerarşisi üç katmanlıdır: Organization → Mail Server → Credential. Bu ayrım işinize yarar; farklı projeleri ya da müşterileri ayrı mail sunucularına bölerek istatistiklerini ve gönderim izinlerini ayırırsınız.

    1. Panele giriş yapıp bir organizasyon oluşturun.
    2. Organizasyon altında bir mail sunucusu ekleyin (bulten, islemsel gibi).
    3. Mail sunucusunun Domains bölümünden gönderen alan adınızı ekleyip doğrulayın.
    4. Credentials bölümünden bir SMTP kimlik bilgisi ya da API anahtarı üretin.
    5. Gerekirse Webhooks bölümünden dönen mail ve tıklama bildirimlerini kendi uygulamanıza yönlendirin.

    İşlemsel maillerinizi ve kampanya maillerinizi ayrı mail sunucularına koymanızı öneririm. Böylece kampanya trafiğinde bir sorun çıktığında şifre sıfırlama ve sipariş bildirimi gibi kritik mesajlarınız aynı kuyruktan etkilenmez, istatistiklerini de ayrı okursunuz.

    Uygulamanızı Bağlamak: SMTP ve API#

    Postal iki arayüz sunar. SMTP arayüzü, mevcut yazılımınızı hiç değiştirmeden bağlamanızı sağlar:

    AyarDeğer
    Sunucupostal.firmaniz.com
    Port25 veya 587
    ŞifrelemeSTARTTLS
    Kullanıcı adıMail sunucusunun kimlik bilgisi adı
    ParolaPanelde üretilen anahtar

    Bağlantıyı doğrudan sınayın:

    swaks --to [email protected] --from [email protected] \
          --server postal.firmaniz.com:587 --tls \
          --auth-user postal-kullanici --auth-password 'panelde-uretilen-anahtar'
    

    API arayüzü ise kendi uygulamanızdan gönderim yapıyorsanız daha kullanışlıdır; teslimat kimliğini yanıt olarak alır ve mesajı sonradan takip edebilirsiniz:

    curl -sS -X POST https://postal.firmaniz.com/api/v1/send/message \
      -H "X-Server-API-Key: PANELDE-URETILEN-ANAHTAR" \
      -H "Content-Type: application/json" \
      -d '{
            "to": ["[email protected]"],
            "from": "[email protected]",
            "subject": "Test mesaji",
            "plain_body": "Merhaba, bu bir test mesajidir."
          }'
    

    Yanıtta dönen mesaj kimliğini kendi tarafınızda saklarsanız, teslimat durumunu ve dönüş bilgisini sonradan webhook üzerinden eşleştirebilirsiniz.

    İzleme, Bakım ve Sık Yapılan Hatalar#

    Üretimde takip etmeniz gereken üç şey var: kuyruk uzunluğu, dönüş oranı ve IP itibarı. Kuyruk sürekli büyüyorsa ya alıcı taraf sizi yavaşlatıyordur ya da bir yapılandırma hatası vardır.

    # Servislerin durumu
    sudo postal status
    
    # Kayıtları izle (sorun anında ilk bakılacak yer)
    cd /opt/postal/install && sudo docker compose logs -f --tail=200
    
    # Sürüm yükseltme
    sudo postal stop
    sudo postal upgrade
    sudo postal start
    

    IP itibarı tarafında Outlook için SNDS paneline kaydolmak neredeyse zorunludur; kurulumu ve rapor sütunlarının okunmasını Microsoft SNDS kaydı yazısında anlattım.

    En sık yapılan hatalar şunlar. Birincisi, 25. portun kapalı olduğunu kurulumdan sonra fark etmek: her şey doğru görünür, kuyruk dolar ve hiçbir mesaj çıkmaz. İkincisi, rDNS kaydını ayarlamamak; birçok sağlayıcı bağlantıyı daha ilk selamlamada reddeder.

    Üçüncüsü, alan adına ikinci bir SPF kaydı eklemek. Dördüncüsü, DKIM doğrulamasını beklemeden gönderime başlamak: imzasız çıkan ilk kampanya, henüz hiç geçmişi olmayan bir IP'nin itibarını doğrudan yakar. Beşincisi, işlemsel ve kampanya trafiğini aynı mail sunucusunda toplamak.

    Altıncısı ve en pahalısı, ısınma yapmadan tam hacimle başlamaktır. Yeni bir IP'nin geçmişi yoktur; ilk günlerde küçük ve en kaliteli segmentinize gönderip hacmi birkaç hafta boyunca kademeli artırın. Yedinci olarak, /opt/postal/config dizinini ve veritabanını yedeklemeyi ilk günden rutine bağlayın.

    Sıkça Sorulan Sorular#

    Postal ücretsiz mi#

    Evet, Postal açık kaynaklıdır ve yazılım için ücret ödemezsiniz. Gerçek maliyetiniz sunucu, IP ve işletme zamanınızdır. Buna karşılık gönderdiğiniz mesaj başına ücret ödemezsiniz; bu da yüksek hacimli gönderimlerde ticari servislere göre belirgin bir fark yaratır. Düşük hacimde ise işletme yükü genellikle tasarrufu aşar.

    Postal ile Postfix arasındaki fark ne#

    Postfix genel amaçlı bir posta sunucusudur; hem gelen hem giden postayı yönetir ve posta kutusu barındırma senaryolarının temelidir. Postal ise özellikle giden uygulama postası için tasarlanmıştır: API arayüzü, mesaj bazında izleme, alan adı bazında DKIM yönetimi ve webhook bildirimleri sunar. Kurumsal posta kutuları için Postfix, uygulama ve kampanya gönderimi için Postal daha uygundur.

    Port 25 kapalıysa ne yapabilirim#

    Sağlayıcınızdan açmasını talep etmeniz gerekir; bu genellikle kullanım amacınızı açıkladığınız bir destek talebiyle çözülür. Port açılmadan Postal alıcı sunuculara doğrudan teslimat yapamaz. Alternatif olarak Postal'ı bir üst akış SMTP sunucusu üzerinden çıkacak biçimde yapılandırabilirsiniz, ama bu durumda teslimat itibarı o üst akış sağlayıcısının olur ve kendi IP'nizi yönetme avantajınızı kaybedersiniz.

    Yeni bir IP ile ne kadar sürede tam hacme çıkabilirim#

    Genel kabul gören yaklaşım, birkaç hafta süren kademeli bir ısınmadır. İlk günlerde en aktif ve en kaliteli segmentinize düşük hacimle gönderin, dönüş ve şikâyet oranlarını izleyerek her gün hacmi bir miktar artırın. Aceleci bir artış, henüz geçmişi olmayan IP'nin doğrudan filtrelenmesine yol açar ve toparlanması haftalar sürer.

    Dönen mailleri Postal nasıl işliyor#

    Postal, gönderdiği her mesaj için kendi return-path alan adı üzerinden benzersiz bir dönüş adresi kullanır. Alıcı sunucu bir hata döndürdüğünde bu adres üzerinden mesajı alır, kalıcı mı geçici mi olduğunu sınıflandırır ve arayüzde ilgili mesajın durumunu günceller. Webhook tanımlarsanız aynı bilgiyi kendi uygulamanıza da iletir; abone listenizi bu bildirimlerle otomatik temizleyebilirsiniz.

    Postal kurulumu için hangi sunucu yeterli#

    Başlangıç için 2 vCPU ve 4 GB RAM makul bir alt sınırdır; MariaDB ve RabbitMQ ile birlikte çalıştığı için 2 GB'lık bir sunucu sıkışır. Hacim büyüdükçe önce RAM, sonra disk performansı belirleyici olur. Kritik olan bir diğer nokta ise IP'dir: temiz geçmişi olan, rDNS kaydı ayarlanabilen ve 25. portu açık bir IP'ye sahip olmanız gerekir.

    Kapanış#

    Postal, gönderim altyapısını kiralamak yerine işletmek isteyenler için sağlam bir seçenek; ama sorumluluğun da sizde olduğu bir seçenek. Aklınızda kalması gereken dört alışkanlık şu: kuruluma başlamadan önce 25. portu ve rDNS kaydını mutlaka doğrulayın, SPF kaydınızı tek satırda tutup DKIM doğrulamasını geçmeden gönderime başlamayın, işlemsel ve kampanya trafiğini ayrı mail sunucularına bölün, ve yeni IP'yi haftalara yayılan kademeli bir ısınmayla açın. /opt/postal/config dizini ile veritabanı yedeğini de ilk günden rutine bağlayın.

    Bu altyapıyı çalıştırmak için temiz IP'li ve root erişimli bir sunucuya ihtiyacınız var. VDS ve bulut sunucu paketlerimiz Postal için uygun bir zemin sunar; hazır yapılandırılmış bir gönderim yığınıyla başlamak isterseniz Postfix, DKIM ve TLS ayarları kurulu gelen SMTP sunucu paketlerimize bakabilirsiniz. Sunucu bakımını üstlenmemizi isterseniz sunucu yönetimi, kampanya tarafını komple devretmek isterseniz e-posta pazarlama hizmetimiz hazır.

    PostalMTAKurulum

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.