VPS'te e-posta sunucusu: SPF, DKIM, DMARC
Bir VPS'e Postfix ya da Mailcow gibi hazır bir paket kurmak bir saatlik iştir. İletilerin spam klasörüne değil gelen kutusuna düşmesini sağlamak daha zordur: e-posta hizmetleri porta, sunucunun adresine, bu adresin itibarına ve üç DNS kaydına bakar. Satın almadan önce sağlayıcıda neyin kontrol edileceğine ve SPF, DKIM ile DMARC'ın nasıl ayarlanacağına bakalım.
Bir e-posta sunucusu iki ayrı iş yapar: alan adınız için gelen iletileri kabul eder ve sizin iletilerinizi başka sunuculara gönderir. Kabul etme, DNS'te MX kaydı varsa neredeyse her zaman hemen çalışır. Göndermek daha zordur: alıcı taraf sunucunuza güvenip güvenmeyeceğine karar verir ve bunun için ağı, adresi ve imzaları kontrol eder. Zincirin tek bir halkası bile ayarlanmamışsa iletiler hiçbir bildirim olmadan reddedilir ya da spama düşer.
Sağlayıcılarda port 25
Sunucular e-postayı birbirine port 25 üzerinden iletir. 587 ve 465 portları, iletiyi kendi sunucusuna teslim eden programlar içindir; başka birinin MX sunucusuna ileti yalnızca 25 numaralı port üzerinden gider. Bu yüzden kendi e-postanız için ana koşul açık bir giden port 25'tir.
Birçok sağlayıcı bu portu varsayılan olarak kapalı tutar: yeni sunucular üzerinden sık sık spam gönderilmeye çalışılır, şikâyetler ve kötü itibar ise sağlayıcının adreslerine kalır. accsly kataloğunun 3 Kasım 2026 verilerine göre 117 sağlayıcının port 25 koşulları öğrenilebildi: %39'unda kapalı, %37'sinde talep üzerine açılıyor, %24'ünde baştan açık. Büyük bulut platformları ise çoğu zaman portu, açma imkânı vermeden kalıcı olarak kapatır.
Port talep üzerine açılıyorsa sağlayıcı genellikle alan adını, e-postanın amacını ve bazen sunucunun ilk günden daha uzun süredir ödenmiş olmasını ister. Açıkça yazın: "alan adının kurumsal e-postası, günde yaklaşık N ileti, toplu gönderim yok". Satın alınmış bir sunucuda portu şöyle kontrol edebilirsiniz: nc -vz -w 5 gmail-smtp-in.l.google.com 25. Bağlantı kurulamıyorsa port sağlayıcı tarafında kapalıdır. Portun açık olduğu veya talep üzerine açıldığı tarifeler E-posta sunucusu için VPS seçkisinde.
PTR ve sunucu adı
Google tüm gönderenlerden, sunucu adresinin bir ters DNS kaydına (PTR) sahip olmasını ve bu kaydın ileri kayıtla eşleşmesini ister. Düzen şöyledir: sunucunun bir adı vardır, örneğin mail.example.com; bu adın A kaydı sunucunun adresini gösterir, adresin PTR kaydı geri mail.example.com adını gösterir ve sunucu HELO komutunda kendini aynı adla tanıtır. PTR'yi sağlayıcı ayarlar: panelde veya destek üzerinden. Gönderim IPv6 üzerinden de yapılıyorsa IPv6 adresi için de PTR gerekir. Ayrıntılar Sunucuda IPv4 ve IPv6 yazısında. Kendi adresi olmayan bir NAT VPS'te kendi PTR kaydınızı ayarlayamazsınız; böyle bir sunucu e-posta için uygun değildir.
IP adresinin itibarı
VPS adresi sizden önce herhangi birine ait olmuş olabilir. Bu adresten spam gönderildiyse adres, spam kaynağı olarak bilinen adreslerin herkese açık listelerinde (DNSBL) yer alıyor olabilir ve bazı e-posta hizmetleri iletilerinizi ilk günden reddeder. Yayına almadan önce adresi herkese açık itibar kontrol hizmetlerinde kontrol edin; listelerdeyse sağlayıcıdan başka bir adres isteyin veya listeden çıkarılma başvurusu yapın. Listelerin çoğunda böyle bir form vardır.
Yeni ve temiz bir adresin sorunu başkadır: geçmişi yoktur ve büyük hizmetler ona temkinli yaklaşır. Gerçek alıcılara az sayıda iletiyle başlayın ve hacmi kademeli olarak artırın. Google, alıcıların spam olarak işaretlediği iletilerin oranının %0,3'ün altında tutulmasını ister; bu oranı ücretsiz Google Postmaster Tools'ta izleyebilirsiniz. Toplu gönderimleri ayrı bir hizmet üzerinden ya da en azından ayrı bir adres ve alt alan adından yapmak daha iyidir; böylece onların itibarı iş e-postasını etkilemez.
SPF: alan adı adına kimler gönderebilir
SPF (RFC 7208), alan adının kökünde yer alan ve onun adına ileti göndermesine izin verilen sunucuları listeleyen bir TXT kaydıdır. Alıcı sunucu, iletinin zarfındaki gönderen adresini (MAIL FROM) ve HELO'daki adı bu kayıtla karşılaştırır.
example.com. TXT "v=spf1 mx ip4:203.0.113.10 -all"
mxveip4:sizin sunucularınızdır; e-posta harici bir hizmet üzerinden de gidiyorsa o hizmetiinclude:ile ekleyin.-all: diğerlerinin göndermesine izin verilmez (fail);~all: "büyük olasılıkla izinli değil" (softfail), ayar süresince kullanışlıdır.- Alan adının tam olarak bir SPF kaydı olmalıdır. DNS sorgusu gerektiren mekanizmalar (
include,a,mx,exists,redirect) iç içe olanlar dahil en fazla 10 kez kullanılabilir; bu sayı geçilirse kontrol hata verir (permerror) ve SPF hiç çalışmaz.
DKIM: iletilerin imzalanması
DKIM (RFC 6376), iletinin başlıklarının ve gövdesinin dijital imzasıdır. Sunucu her iletiyi özel anahtarla imzalar, açık anahtar ise DNS'te selektör._domainkey.example.com adıyla yayınlanır. Alıcı imzayı doğrular ve iletinin imzadaki alan adı tarafından gönderildiğinden ve yolda değiştirilmediğinden emin olur.
mail2026._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
RSA anahtarının uzunluğu en az 1024 bit olmalıdır: bunu RFC 8301 ve Gmail şart koşar, önerilen ise 2048 bittir. Anahtarları OpenDKIM, rspamd veya e-posta paketinin paneli üretir; panel hazır kaydı da oluşturur. Selektör anahtar değişimi için gerekir: yeni anahtarı yeni bir selektörle yayınlar, imzalamayı ona geçirir, eski kaydı ise gönderilmiş iletiler doğrulandıktan sonra, birkaç gün içinde silersiniz.
DMARC: politika ve raporlar
DMARC (RFC 7489), SPF ve DKIM'i alıcının gördüğü "Kimden" alanındaki adresle ilişkilendirir. SPF veya DKIM'den biri geçerse ve oradaki alan adı "Kimden" alanındaki alan adıyla eşleşirse ileti DMARC'tan geçer (varsayılan olarak ana alan adının eşleşmesi yeterlidir). Kayıt _dmarc adıyla yayınlanır:
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
p=none: yalnızca gözlemle;p=quarantine: DMARC'tan geçmeyen iletileri spama gönder;p=reject: onları reddet.rua: günlük toplu raporların adresi; bu raporlar alan adı adına kimin ve hangi adreslerden ileti gönderdiğini gösterir.
p=none ile başlayın, 2–4 hafta raporları okuyun, tüm meşru e-posta kaynaklarınızın kontrolden geçtiğinden emin olun, ardından önce quarantine'e, sonra reject'e geçin.
Gmail ve Outlook neler istiyor
1 Şubat 2024'ten bu yana Gmail tüm gönderenlerden SPF veya DKIM, doğru bir PTR kaydı, TLS bağlantısı üzerinden iletim ve %0,3'ün altında spam şikâyeti oranı istiyor. Gmail adreslerine günde 5.000'den fazla ileti gönderenlerin SPF ile DKIM'in ikisine birden, "Kimden" alan adının SPF veya DKIM alan adıyla eşleştiği bir DMARC kaydına (p=none yeterli), tanıtım iletilerinde ise tek tıkla abonelikten çıkma seçeneğine ihtiyacı var. 5 Mayıs 2025'ten itibaren Outlook.com da günde 5.000 ve üzeri ileti gönderenler için benzer kurallar getirdi: SPF ve DKIM geçmeli, DMARC p=none'dan daha gevşek olmamalı ve alan adı eşleşmelidir; bunları karşılamayan iletiler "Gereksiz E-posta" klasörüne düşer ya da reddedilir.
Küçük bir sunucu için sonuç basit: ileti sayısı az olsa bile üç kaydın hepsini baştan ayarlayın. Sonucu, Gmail'deki kendi kutunuza bir ileti gönderip "Orijinali göster"i açarak kontrol edebilirsiniz: SPF, DKIM ve DMARC sonuçları orada görünür.
Kendi e-posta sunucusu ne zaman gereksiz
Kendi sunucunuz, posta kutuları ve veriler üzerinde denetim ya da birkaç alan adında çok sayıda adres gerekiyorsa mantıklıdır. Site yalnızca bildirim gönderecekse ve port 25 kapalıysa, gönderimi port 587 üzerinden harici bir e-posta hizmetiyle yapmak daha kolaydır: SPF, DKIM ve DMARC yine de sizin alan adınız için ayarlanır. Tam e-posta ve spam filtrelemesi olan bir sunucuya 2 GB bellek yeter; disk alanını ise posta kutuları ve yedekler için pay bırakarak seçin (bkz. VPS yedekleri: stratejiler ve araçlar). Site ve e-posta için hostingden VPS'e geçme zamanının ne zaman geldiği Paylaşımlı hostingden VPS'e ne zaman geçilmeli yazısında.