Mail Sunucusu Nasıl Kurulur? Mail Sunucusu Kurma
Yıllarca DirectAdmin, cPanel veya Plesk’te birkaç tıklamayla mail açtık, gönderdik, aldık. Ancak projeleriniz büyüdükçe, müşteri trafiğiniz arttıkça ve verinizin gizliliği ön plana çıktıkça o konfor alanı bir hapishaneye dönüşür. “Hazır hizmetleri (Gmail, Microsoft 365) kullanayım” dersiniz; bu sefer de dev şirketlerin yapay zekasının maillerinizi reklam profillemesi için taradığını veya ani bir “politika ihlali” gerekçesiyle hesaplarınızın bir gecede askıya alınabileceğini fark edersiniz.
Veri size ait değilse, işiniz de tam olarak size ait değildir. Kendi VDS altyapınız üzerinde bir mail sunucusu kurmak; bağımsızlıktır, güvenliktir ve uzun vadede devasa bir maliyet avantajıdır.
Fakat e-posta mimarisi, internetin en eski, kuralcı ve karmaşık sistemlerinden biridir. Bu yazımızda “şu kodu yaz geç” demek yerine sektörü domine eden en modern araçlarla, hata payı bırakmayan bir mühendislik yaklaşımıyla ilerliyoruz. Karmaşık IPv6 protokollerini bir kenara bırakıp, saf IPv4 gücüyle, sorunsuz teslimat oranlarına (10/10) ulaşacağınız o muazzam sistemi kurmaya başlıyoruz.
Altyapı ve DNS
İlk olarak mail sunucusu kurarken başarının %50’si sunucu konfigürasyonunda, geri kalan %50’si ise ağ altyapınızın temizliğindedir. Blacklist’e girmemiş, port kısıtlaması olmayan ve IP itibarı yüksek bir sunucu şarttır. E-posta trafiğinizin belkemiğini oluşturacak, %100 NVMe SSD performansına ve kusursuz ağ izolasyonuna sahip VDS paketlerimizi inceleyerek projenize sağlam bir temel atabilirsiniz.
DNS Kayıtları
Sunucuya SSH ile girmeden önce DNS yöneticiniz üzerinden kayıtları açın.
- A Kaydı:
mail.siteniz.com->VDS_IP_Adresi - MX Kaydı:
siteniz.com->mail.siteniz.com(Öncelik: 10)
PTR (Reverse DNS) Kaydı Neden Hayatidir?
Normal DNS (A kaydı), “Bu alan adı hangi IP’ye gidiyor?” sorusunu cevaplar. PTR kaydı ise karşı tarafın size sorduğu şu sorunun cevabıdır: “Bu IP adresi kime ait?” Eğer Gmail IP’nizi sorguladığında boş bir cevap görürse, mailinizi direkt reddeder. inetmar.com müşteri panelinizde bulunan **Hizmetlerim > IP Adreslerim** bölümünden IP adresinizin PTR kaydını mail.siteniz.com olarak mutlaka güncelleyin.

Ana Bileşenlerin Kurulumu ve İzolasyon
Sunucumuza root olarak bağlanıyoruz. Ubuntu 24.04 LTS üzerinde sistemimizi güncelleyip Postfix ve Dovecot yazılımlarımızı kuruyoruz.
Bu kurulumda e-posta imzalama ve spam filtreleme işlemleri için eski nesil yazılımlar yerine modern, C++ tabanlı ve düşük kaynak tüketimi sunan Rspamd ve Redis kullanacağız:
apt update && apt upgrade -y
apt install postfix postfix-pcre dovecot-imapd dovecot-lmtpd redis-server rspamd certbot nginx -y
(Postfix kurulum ekranı geldiğinde “Internet Site” seçeneğiyle ilerleyin ve Sistem Mail Adı olarak siteniz.com girin.)
Sistem Kullanıcılarını Ayırmak
Mail kullanıcıları ile sunucu kullanıcılarını aynı tutmak güvensiz bir yöntemdir. Bunun için tüm mailleri diskte tutacak yetkisiz tek bir sanal kullanıcı (vmail) oluşturuyoruz:
useradd -m -s /usr/sbin/nologin -G mail vmail
mkdir -p /home/vmail/Mail/Inbox
chown -R vmail:vmail /home/vmail/Mail
Postfix (MTA) ve Dovecot (MDA) Entegrasyonu
Postfix
/etc/postfix/main.cf dosyasını yapılandırıyoruz. Amacımız IPv4 kullanımını zorunlu kılmak, dışarıdan gelen SMTP yetkilendirmelerini Dovecot’a devretmek ve şifresiz veri akışını yasaklamak. Ayrıca Postfix’i yeni nesil filtremiz Rspamd’ye bağlıyoruz.
inet_protocols = ipv4
# Şifreler ağda düz metin dolaşmasın, TLS zorunlu olsun:
smtpd_tls_auth_only = yes
# Yetkilendirmeyi Dovecot yapsın:
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
# Hangi e-posta adresi hangi kullanıcıya ait haritası:
virtual_alias_maps = hash:/etc/postfix/virtual
# Rspamd (DKIM ve Anti-Spam) Entegrasyonu:
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:11332
non_smtpd_milters = inet:localhost:11332
E-posta adreslerimizi /etc/postfix/virtual dosyasına tanımlıyoruz:
admin@siteniz.com vmail
info@siteniz.com vmail
Sisteme bu dosyayı okutmak için hash’liyoruz: postmap /etc/postfix/virtual
Dovecot
Maillerin webmail’den okunabilmesi için Dovecot’u yapılandırıyoruz. /etc/dovecot/dovecot.conf dosyasını açın:
ssl = required
# Şifrelerin tutulacağı özel dosya:
passdb {
driver = passwd-file
args = scheme=CRYPT /etc/dovecot/users
}
userdb {
driver = passwd-file
args = /etc/dovecot/users
}
# Postfix'in Dovecot üzerinden doğrulama yapabilmesi için güvenli soket:
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
/etc/dovecot/users dosyasını oluşturun. Şifrelerinizi Linux üzerinde doveadm pw -s CRYPT komutuyla şifreleyerek bu dosyaya admin@siteniz.com:{CRYPT}$2y$... formatında ekleyin. Dosya izinlerini chmod 644 /etc/dovecot/users olarak ayarlayın.
SPF, Rspamd ile DKIM, DMARC
Maillerinizin doğrudan spame düşmemesi için bu kayıtları kusursuz yapılandırmalısınız.
1. SPF (Sender Policy Framework): DNS ayarlarınız üzerinden TXT kaydı ekleyin:
v=spf1 mx a:mail.siteniz.com ip4:VDS_IPv4_Adresiniz -all
2. DKIM İmzalama:
Sunucumuzda alan adımız için DKIM anahtarımızı üretiyoruz:
mkdir -p /var/lib/rspamd/dkim/
rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.private > /var/lib/rspamd/dkim/mail.txt
chown -R _rspamd:_rspamd /var/lib/rspamd/dkim/
chmod 600 /var/lib/rspamd/dkim/mail.private
Rspamd’ye bu anahtarı kullanmasını söylüyoruz. /etc/rspamd/local.d/dkim_signing.conf dosyasını oluşturup içine şunu yazın:
allow_username_mismatch = true;
domain {
siteniz.com {
path = "/var/lib/rspamd/dkim/mail.private";
selector = "mail";
}
}
Ardından servisi yeniden başlatın: systemctl restart rspamd.
Oluşturulan /var/lib/rspamd/dkim/mail.txt dosyasını açın. İçindeki uzun metni yani anahtarı DNS ayarlarınızın bulunduğu panelde mail._domainkey adıyla TXT kaydı olarak ekleyin.
3. DMARC:
DNS ayarlarınıza TXT kaydı olarak _dmarc adıyla şunu ekleyin:
v=DMARC1; p=quarantine; rua=mailto:admin@siteniz.com; fo=1
Roundcube & Docker
Güvenlik açıklarını ana sisteme sıçratmamak için Webmail arayüzümüzü Docker ile kuruyoruz. Bir dizin açın ve docker-compose.yml dosyası oluşturun:
services:
roundcube:
image: roundcube/roundcubemail:latest-apache
ports:
- "127.0.0.1:8080:80"
environment:
- ROUNDCUBEMAIL_DEFAULT_HOST=tls://VDS_IPv4_Adresiniz
- ROUNDCUBEMAIL_SMTP_SERVER=tls://VDS_IPv4_Adresiniz
docker compose up -d ile arayüzü ayağa kaldırın.
Nginx ve SSL Entegrasyonu
Roundcube şu an sadece 8080 portunda çalışıyor. Let’s Encrypt ile ücretsiz SSL alıyoruz: certbot certonly --standalone -d mail.siteniz.com
Nginx /etc/nginx/sites-available/mail.siteniz.com dosyasını ayarlayarak 443 (HTTPS) üzerinden gelen trafiği güvenli şekilde Docker’a proxy’liyoruz:
server {
listen 443 ssl;
server_name mail.siteniz.com;
ssl_certificate /etc/letsencrypt/live/mail.siteniz.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.siteniz.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Aktifleştirip systemctl reload nginx komutunu verdiğinizde webmail arayüzünüz yayındadır!
UFW, Fail2ban ve SRS
Nasıl ki kritik bir Sanal POS entegrasyonu için sunucunuzda IP izinlerini ince ince ayarlayıp, PowerShell üzerinden bağlantının sağlıklı kurulduğunu milimetrik olarak teyit ediyorsanız; mail sunucusunda da açtığınız her portun tam olarak ne işe yaradığını aynı ciddiyetle bilmelisiniz.
Sadece gerekli olan IPv4 portlarını açıyoruz:
ufw allow 22/tcp
ufw allow 25/tcp
ufw allow 143/tcp
ufw allow 443/tcp
ufw allow 465/tcp
ufw allow 587/tcp
ufw allow 993/tcp
ufw enable
Brute-Force Koruması: systemctl enable --now fail2ban ile servisi etkinleştirin. Gerekirse şifre deneme yanılma yapan botları engellemek için postfix filtrelerini aktif edebilirsiniz.
Forwarding ve SRS
info@siteniz.com adresine gelen mailleri kişisel Gmail’inize yönlendirirseniz, orijinal göndericinin SPF kaydı sizin sunucu IP’nizle eşleşmeyeceği için Gmail maili anında reddeder.
Bunu SRS (Sender Rewriting Scheme) ile çözüyoruz.
apt install postsrsd -y komutuyla paketi kurun. Postfix main.cf dosyasına şu bloğu ekleyin:
# SRS - Forward edilen mailler için Envelope Rewrite
sender_canonical_maps = tcp:127.0.0.1:10001
sender_canonical_classes = envelope_sender
recipient_canonical_maps = tcp:127.0.0.1:10002
recipient_canonical_classes = envelope_recipient,header_recipient
Bu ayar sayesinde yönlendirilen mailin “Gönderen” (Envelope Sender) bilgisi sizin alan adınıza çevrilir, kendi SPF’inizden geçer ve Gmail’in Inbox’ına sorunsuz düşer. Postfix’i yeniden başlatın (systemctl reload postfix).
Uçtan Uca Webmail Testi ve Troubleshooting
Sistemi kurduk, servisler yeşil yanıyor. Şimdi doğrulama vakti.
Webmail Arayüzüne Giriş
Tarayıcınızı açın ve https://mail.siteniz.com adresine gidin.
- Kullanıcı Adı:
admin@siteniz.com(Domain ile birlikte tam e-posta adresini yazmalısınız). - Parola: Belirlediğiniz parola ile giriş yapın.
İlk Maili Gönderme ve Gmail’de Analiz
Sol üstten “Oluştur” butonuna tıklayın. Kişisel Gmail adresinize bir test maili gönderin.
Mail Gmail kutunuza düştüğünde, maili açın, sağ üstteki üç noktaya tıklayıp “Aslını Göster” (Show Original) seçeneğine tıklayın.
İşte tüm o emeğin karşılığını burada, Rspamd’nin kusursuz imzalarıyla göreceğiz:
SPF: PASS(IP adresiniz siteniz.com adına başarıyla yetkilendirildi)DKIM: PASS(Rspamd imzanız doğrulandı)DMARC: PASS(Kurallarınız başarıyla işletildi)
İçeriye Mail Alma ve Nihai Skor
Kişisel Gmail hesabınızdan, kendi sunucunuzdaki admin@siteniz.com adresinize mail göndererek içeriye alımı test edin.
Sonrasında hatalarımızı görmek için https://mail-tester.com adresine gidin. Verilen geçici adrese Roundcube üzerinden mail gönderin.
Adımları eksiksiz uyguladıysanız, temiz bir IP altyapısı üzerinde o muazzam 10/10 skorunu göreceksiniz!
Kendi mail sunucunuzu kurmak bir vizyon meselesidir. Rspamd gibi yeni nesil araçları kullanarak sistemi modern mimariye uygun şekilde inşa etmek, size ömür boyu sürecek bir dijital özgürlük, yüksek performans ve eşsiz bir gizlilik sunar.
Doğru konfigüre edilmiş bir sistem ve güçlü bir VDS altyapısı birleştiğinde, iletişiminiz üzerinde %100 kontrol sahibi olduğunuz, güvenilir ve stabil bir yapıya kavuşursunuz. Kurumsal iletişiminizin kalbini oluşturacak, ağ kısıtlamalarından uzak, performanslı VDS Sunucu çözümlerimizi inceleyerek bu dijital bağımsızlık yolculuğunda en sağlam adımı atabilirsiniz.


