LINUX MAIL SERVER KURULUMU
Şirket kendi mail sunucusunu kurmaya karar verdi; Ubuntu kuruldu, Postfix apt ile geldi, basit bir test maili Gmail'e atıldı. Mail Gmail'e ulaştı ama doğrudan spam klasörüne düştü. Aynı kurulum yarın bir bankaya yazıldığında ise hiç gelmedi. Sorun Postfix'in çalışmaması değil; eksik olan, modern mail ekosisteminin kurulum adımları kadar kritik gördüğü DNS, TLS ve kimlik doğrulama katmanlarıydı. Bu yazıda Linux üzerinde Postfix ve Dovecot ile çalışan bir mail server'ı sıfırdan, teslim edilebilir bir biçimde nasıl kuracağınızı pratik bir akışla açıklıyoruz.
Mail Server Bileşenleri
"Mail server" tek bir program değil; en az üç farklı rolün bir araya gelmesiyle çalışan küçük bir ekosistemdir. Bu rolleri ayırmadan kuruluma başlamak, sonradan ortaya çıkan teslimat sorunlarını çözmeyi imkânsız hâle getirir.
- MTA (Mail Transfer Agent): Maili sunucudan sunucuya taşır. Linux dünyasında bu rolü Postfix üstlenir; Sendmail ve Exim de aynı işi yapar.
- MDA (Mail Delivery Agent): Gelen maili kullanıcının posta kutusuna yazar. Postfix bunu Dovecot LMTP üzerinden yapar.
- MUA için erişim sunucusu: Kullanıcının Thunderbird, Outlook veya telefonundan posta kutusunu okuyabilmesi için IMAP veya POP3 sağlar. Bu rolü Dovecot üstlenir.
Tipik akış şöyle işler: dışarıdan gelen mail önce DNS'teki MX kaydının işaret ettiği sunucuya 25 numaralı port üzerinden ulaşır, Postfix bunu Dovecot LMTP'ye verir, Dovecot Maildir biçiminde diske yazar. Kullanıcı 993 (IMAPS) portundan bağlanıp postasını okur. Dışarı mail göndereceğinde ise istemci 587 ya da 465 portundan kimlik doğrulayarak Postfix'e teslim eder, Postfix de DNS lookup yaparak hedef sunucuya iletir.
Kuruluma Başlamadan Önce Hazırlık
Mail server kurulumunda en sık yapılan hata, paket yüklemesinden başlamaktır. Oysa kritik adımların büyük çoğunluğu DNS ve hosting tarafındadır. Aşağıdakiler kuruluma başlamadan tamam olmalı:
- Statik bir public IPv4 adresi (residential IP'ler büyük operatörler tarafından reddedilir)
- Kontrol altındaki bir domain (örn.
ornek.com) - Sunucunun FQDN'i:
mail.ornek.comşeklinde A kaydı - VPS sağlayıcının panelinden ayarlanmış doğru PTR (rDNS) kaydı: IP,
mail.ornek.com'a çözünmeli - Boş 25, 587, 465 ve 993 portları (bazı bulut sağlayıcılar 25'i varsayılan kapalı tutar, talep gerekir)
PTR kaydı 2026'da bile teslim edilebilirliğin görünmeyen kapısıdır. Outlook ve büyük kurumsal alıcılar, PTR ile HELO/EHLO adının eşleşmediği sunucuları sessizce blokluyor. Bu yüzden VPS panelinden rDNS ayarı çekmeden Postfix kurmaya geçilmemeli.
Donanım açısından minimum 1 vCPU, 2 GB RAM ve 40 GB SSD yeterlidir. Eş zamanlı çok kullanıcılı IMAP senaryolarında 2 vCPU ve 4 GB RAM düşünülmelidir. Sunucu tarafında Linux temellerinizi tazelemek için Linux eğitimi içeriğinden yararlanabilirsiniz.
Postfix ve Dovecot Nasıl Kurulur?
Ubuntu 24.04 üzerinde temel paketleri tek satırda kurabilirsiniz. Postfix kurulum sırasında "Internet Site" seçeneği ve sistem mail adı olarak mail.ornek.com sorulur:
sudo hostnamectl set-hostname mail.ornek.comsudo apt updatesudo apt install postfix dovecot-imapd dovecot-lmtpd opendkim opendkim-tools certbot
Kurulum sonrası Postfix'in ana yapılandırma dosyası /etc/postfix/main.cf'tedir. Asgari ayarlar şöyledir:
myhostname = mail.ornek.commydomain = ornek.commyorigin = $mydomaininet_interfaces = allmydestination = $myhostname, localhost.$mydomain, localhost, $mydomainhome_mailbox = Maildir/
Dovecot tarafında /etc/dovecot/conf.d/10-mail.conf dosyasında mail_location = maildir:~/Maildir satırını etkinleştirin. Maildir biçimi mbox'a göre eş zamanlı erişimde çok daha hızlıdır; her mesaj ayrı bir dosyaya yazıldığı için bozulma riski de düşüktür.
SASL doğrulamasının çalışması için Postfix'in Dovecot soketini görmesi gerekir. Bunu /etc/dovecot/conf.d/10-master.conf içinde şöyle tanımlarsınız:
- Unix listener
/var/spool/postfix/private/autholuştur mode = 0660,user = postfix,group = postfix
Ardından Postfix tarafında smtpd_sasl_type = dovecot ve smtpd_sasl_path = private/auth ekleyip master.cf'te 587 (submission) ve 465 (smtps) servislerini açın. İki servisi de açmak modern istemci uyumluluğu için pratik bir tercihtir.

TLS Sertifikası Neden Şart ve Nasıl Alınır?
Şifrelenmemiş kimlik doğrulama 2026 itibarıyla pratikte yasak. Postfix'i 587 üzerinden çıplak gönderirseniz büyük alıcılar reddeder, istemciler "güvensiz bağlantı" uyarısı verir. Let's Encrypt ile ücretsiz ve otomatik yenilenen bir sertifika almak iki komutla biter:
sudo certbot certonly --standalone -d mail.ornek.com- Sertifika dosyaları:
/etc/letsencrypt/live/mail.ornek.com/fullchain.pemveprivkey.pem
Postfix tarafında main.cf'e şu satırlar eklenir:
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.ornek.com/fullchain.pemsmtpd_tls_key_file = /etc/letsencrypt/live/mail.ornek.com/privkey.pemsmtpd_tls_security_level = maysmtp_tls_security_level = maysmtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
Dovecot tarafında 10-ssl.conf içinde ssl = required, sertifika yolları ve ssl_min_protocol = TLSv1.2 tanımlanır. Sertifika otomatik yenilenir; ancak yenileme sonrası Postfix ve Dovecot servislerinin reload edilmesi için /etc/letsencrypt/renewal-hooks/deploy/ altına basit bir script eklemek pratik kazandırır.
SPF, DKIM ve DMARC Kayıtları
SMTP protokolü kendi başına kimlik doğrulamaz; bir sunucu kendini istediği gibi tanıtabilir. Bu yüzden modern teslim edilebilirlik üç ayrı DNS kaydına bağlıdır. Üçü birlikte çalışınca alıcı, "bu mail gerçekten bu domainden mi geldi?" sorusunu güvenle cevaplayabilir.
- SPF: Domain adına hangi IP'lerin mail gönderebileceğini ilan eder. Tek sunucu için kayıt şudur:
v=spf1 a:mail.ornek.com -all - DKIM: Giden her maili sunucu tarafında özel anahtarla imzalar; alıcı DNS'teki public key ile doğrular. OpenDKIM ile anahtar üretilir:
sudo opendkim-genkey -b 2048 -d ornek.com -s default - DMARC: SPF veya DKIM başarısız olunca alıcının ne yapacağını söyleyen politika kaydıdır. Başlangıçta
v=DMARC1; p=none; rua=mailto:dmarc@ornek.comile raporları toplayıp politikayı sonra sıkılaştırmak en güvenli yoldur.
OpenDKIM kurulumda Postfix'e milter olarak bağlanır. /etc/opendkim/keys/ornek.com/default.txt dosyasının içeriği DNS'e default._domainkey.ornek.com TXT kaydı olarak yazılır. Kurulumdan sonra mail-tester.com gibi bir servise mail atarak SPF, DKIM ve DMARC sonuçlarını tek ekranda doğrulayabilirsiniz; 10 üzerinden 8 puanın altı, teslimat sorununun habercisidir.
Mail İstemcisi Nasıl Bağlanır?
Sunucu hazır, kullanıcılar şimdi nasıl bağlanacak? Sistem kullanıcısı oluşturup posta kutusunu hazırlamak iki komuttur:
sudo adduser ahmetsudo -u ahmet maildirmake.dovecot /home/ahmet/Maildir
Thunderbird veya benzer bir istemcide kullanılacak parametreler şunlardır:
| Ayar | Değer |
|---|---|
| IMAP sunucusu | mail.ornek.com |
| IMAP portu | 993 (SSL/TLS) |
| SMTP sunucusu | mail.ornek.com |
| SMTP portu | 587 (STARTTLS) veya 465 (implicit TLS) |
| Kullanıcı adı | ahmet (veya ahmet@ornek.com — Dovecot ayarına bağlı) |
| Kimlik doğrulama | Zorunlu, parola |
İlk bağlantıda istemci sertifika ve TLS handshake'i doğrular. Sertifika için "geçersiz" uyarısı geliyorsa büyük olasılıkla istemci mail.ornek.com yerine IP'ye bağlanmaya çalışıyordur — host adı eşleşmesi şarttır.

Teslimat Sorunlarının Teşhisi
Kurulum biter, ilk maili Gmail'e atarsınız ve gelmez ya da spam'e düşer. Bu noktada panik yapmadan üç katmanı sırayla kontrol etmek en hızlı yoldur.
Önce sunucunun kendini doğru tanıtıp tanıtmadığına bakın:
dig +short -x <sunucu-ip>komutu PTR'yimail.ornek.comolarak göstermelidig MX ornek.commail.ornek.com'u döndürmelidig TXT ornek.comSPF kaydını listelemeli
Sonra mail'in sunucudan çıkıp çıkmadığını kontrol edin. Postfix logları normalde /var/log/mail.log'tadır; modern Ubuntu sürümlerinde journalctl -u postfix -n 100 ile de okunabilir. Aradığınız satır status=sent ya da status=bounced ile başlar. Kuyrukta kalan mailleri mailq ya da postqueue -p komutuyla görebilirsiniz.
Son olarak alıcı tarafının ne dediğine bakın. swaks --to test@gmail.com --from sender@ornek.com --server mail.ornek.com:587 --auth LOGIN komutu, gönderim sırasında karşı tarafın verdiği SMTP cevaplarını ekrana basar. "550 5.7.1" gibi kodlar alıcı politikasını işaret eder; bu durumda mail tester sonucu, DKIM imzası ve PTR mutlaka yeniden gözden geçirilir.
Sık Sorulan Sorular
Ev kullanımındaki internet bağlantısıyla mail server kurabilir miyim?
Teknik olarak mümkün ama pratikte teslim edilebilirlik neredeyse sıfırdır. Residential IP blokları büyük operatörler tarafından SBL/PBL gibi blacklist'lerde tutulur, 25 numaralı port çoğu ISP tarafından dışarıya kapatılır ve PTR kaydı ayarlanamaz. Üretim için statik IP'li, 25 portu açık, rDNS desteği olan bir VPS gereklidir.
Postfix ve Dovecot yerine tek paket bir çözüm var mı?
Evet, Mailcow, Mail-in-a-Box ve iRedMail gibi Docker veya script tabanlı paketler Postfix, Dovecot, Rspamd, webmail ve yönetim panelini birlikte kurar. Hızlı başlangıç için pratiktir; ancak içeride yine aynı bileşenler çalıştığı için sorun çıktığında Postfix ve Dovecot bilgisi yine gereklidir. Önce manuel kurulumla katmanları anlamak uzun vadede daha sağlam bir temel sağlar.
Spam filtreleme için ne kurmalıyım?
Modern stack'te Rspamd tercih ediliyor; SpamAssassin'in yerini büyük ölçüde aldı. Rspamd Postfix'e milter olarak bağlanır, hem gelen hem giden trafiği skorlar; DKIM imzalama, DMARC kontrolü ve grey-listing özellikleri kutudan çıkar. Küçük sunucularda 256 MB RAM tüketimiyle çalışır.
Birden fazla domain için tek sunucu kullanabilir miyim?
Evet; Postfix'te virtual_mailbox_domains tanımlayarak çok domainli yapıyı kolayca açabilirsiniz. Ancak her domain için ayrı DKIM anahtarı üretmek, ayrı SPF kaydı yazmak ve DMARC politikalarını her birinde tutarlı tutmak gerekir. Tek IP'den çok domain göndermek itibar açısından risklidir; ayrı IP'lere çıkmak büyük hacimlerde daha sağlıklıdır.
Webmail eklemem şart mı?
Şart değil, ama kullanıcı deneyimi için neredeyse standart hâline geldi. Roundcube veya SnappyMail gibi PHP tabanlı webmail uygulamaları aynı sunucuya kurulup Dovecot IMAP'e bağlanır. Yalnızca Thunderbird veya mobil istemci kullanılacak bir ortamda webmail atlanabilir; ancak parola değişimi ve hızlı erişim için web arayüzü çoğu zaman istenir.
Mail kuyruğu büyürse ne yapmalıyım?
postqueue -p ile kuyruğu görüp postqueue -f ile yeniden denetebilirsiniz. Kuyruk sürekli büyüyorsa ya hedef sunucu reddediyordur ya da DNS sorunu vardır; loglarda status=deferred satırlarını inceleyin. Belirli bir mesajı silmek için postsuper -d <queue-id>, hepsini temizlemek için postsuper -d ALL kullanılır.
Yedekleme stratejim ne olmalı?
Üç dizini düzenli yedeklemek yeterlidir: kullanıcı posta kutuları /home/*/Maildir, servis yapılandırmaları /etc/postfix ve /etc/dovecot, sertifikalar için /etc/letsencrypt. Restore senaryosunu yılda en az bir kez bir kenar sunucuda denemek, kritik anda sürpriz yaşamamayı sağlar; aksi hâlde yedeklerin gerçekten okunup okunmadığını bilmezsiniz.
Kendi mail sunucunuzu kurmak teknik olarak iki saatlik bir iştir; teslim edilebilirliği kalıcı olarak korumak ise süreklilik gerektiren bir mühendislik işidir. DNS, TLS ve doğrulama katmanlarını ihmal etmediğiniz sürece Postfix ve Dovecot ikilisi, küçük ekiplerden binlerce kullanıcıya kadar geniş bir bant aralığında istikrarla çalışır. Bu altyapıyı derinlemesine anlamak için Linux eğitim programı içeriğine göz atabilir, sistem yönetimi temellerinizi pekiştirebilirsiniz.



