Kendi VPS'inizden e-posta göndermeye başladığınızda, SPF ve DKIM kusursuz olsa bile Gmail'in mesajlarınızı reddettiğini görebilirsiniz. Bounce mesajında çoğu zaman tek bir kelime öne çıkar: PTR. Ters DNS (reverse DNS, rDNS) kaydı, bir IP adresinden geriye doğru alan adına ulaşmayı sağlar ve mail sunucularının "bu IP gerçekten kim?" sorusuna verdiği ilk cevaptır.
Bu rehberde PTR kaydının ne olduğunu, neden alan adınızın DNS panelinden ayarlanamadığını, kimin kontrol ettiğini, mail için neden "ileri yönde doğrulanmış" (forward-confirmed) olması gerektiğini ve dig -x ile host komutlarıyla nasıl kontrol edeceğinizi adım adım anlatıyoruz. Örneklerde dokümantasyon için ayrılmış 203.0.113.10 adresini ve ornek.com.tr alan adını kullanıyoruz; kendi değerlerinizle değiştirin.
Ters DNS (PTR) Kaydı Nedir?

Normal DNS sorgusu bir adı IP adresine çevirir: mail.ornek.com.tr için A kaydı 203.0.113.10 döner. Ters DNS ise tersini yapar: 203.0.113.10 adresinin hangi ada ait olduğunu sorar. Bu iş için DNS'te özel bir ağaç kullanılır. IPv4 adreslerinde oktetler ters çevrilir ve sonuna in-addr.arpa eklenir; sorgulanan kayıt türü PTR'dir (pointer).
; 203.0.113.10 adresinin ters DNS adı
10.113.0.203.in-addr.arpa. 3600 IN PTR mail.ornek.com.tr.IPv6'da aynı mantık ip6.arpa altında çalışır. RFC 3596'ya göre adres 32 onaltılık haneye (nibble) açılır, haneler ters sırayla noktalarla ayrılır ve sonuna ip6.arpa eklenir. Bu yüzden IPv6 PTR adları çok uzundur; elle yazmak yerine aşağıda göstereceğimiz dig -x komutunun adı sizin için üretmesine izin verin.
| Kayıt | Yön | Örnek | Kim yönetir? |
|---|---|---|---|
| A | Ad, IPv4 | mail.ornek.com.tr = 203.0.113.10 | Alan adının DNS sağlayıcısı (siz) |
| AAAA | Ad, IPv6 | mail.ornek.com.tr = 2001:db8:1234::10 | Alan adının DNS sağlayıcısı (siz) |
| PTR | IP, ad | 10.113.0.203.in-addr.arpa = mail.ornek.com.tr | IP adresinin sahibi (sunucu sağlayıcısı) |
PTR Kaydını Kim Kontrol Eder?
En sık yapılan hata, PTR kaydını alan adının DNS panelinde aramaktır. in-addr.arpa bölgeleri, IP bloklarının dağıtım zinciriyle (bölgesel internet kayıt kuruluşu, ardından IP bloğunu kullanan sağlayıcı) yetkilendirilir. Yani 203.0.113.10 için PTR kaydını yalnızca bu IP'nin sahibi, pratikte sunucuyu kiraladığınız sağlayıcı yazabilir. Alan adınızın DNS'ine "PTR" türünde bir kayıt ekleseniz bile dünya o kaydı sorgulamaz.
- Sağlayıcı panelinde varsa: Bazı sağlayıcılar sunucu ayarlarında "Reverse DNS" veya "rDNS" alanı sunar. Buraya tam alan adını (FQDN) yazarsınız.
- Panelde yoksa: Sağlayıcınızın destek ekibinden IP adresinizi ve istediğiniz adı belirterek PTR tanımlamasını isteyin.
- Kendi IP bloğunuz varsa: Ters bölge size delege edilmişse kaydı kendi DNS sunucunuzda yönetirsiniz. /24'ten küçük bloklarda bu delegasyon RFC 2317'de anlatılan sınıfsız yöntemle yapılır; bu, VPS kullanıcılarının çoğunun karşılaşmayacağı bir durumdur.
Sağlayıcıların çoğu PTR yazmadan önce, istediğiniz adın A (veya AAAA) kaydının zaten o IP'yi göstermesini şart koşar. Bu yüzden sıra önemlidir: önce ileri kayıt, sonra PTR.
Forward-Confirmed rDNS (FCrDNS) ve Mail
Alıcı mail sunucuları yalnızca PTR olup olmadığına bakmaz; çoğu zaman iki yönün tutarlı olmasını ister. Buna ileri yönde doğrulanmış ters DNS (FCrDNS) denir:
- 1. Gönderen IP'nin PTR kaydı bir ada döner:
203.0.113.10içinmail.ornek.com.tr. - 2. Aynı adın A kaydı (IPv6'da AAAA kaydı) yine aynı IP'ye döner:
mail.ornek.com.triçin203.0.113.10.
Google'ın gönderici yönergeleri bunu açıkça yazar: gönderen sunucunun herkese açık IP adresinin bir ada çözülen PTR kaydı olmalı, aynı adın da A (IPv4) veya AAAA (IPv6) kaydı gönderen IP'ye çözülmelidir. 1 Şubat 2024'ten itibaren Gmail'e gönderim yapan herkes için geçerli şartlar arasında "geçerli ileri ve ters DNS kayıtları" bulunur. RFC 1912 de yıllar önce PTR'ın CNAME'e değil, geçerli bir A kaydına işaret etmesi gerektiğini belirtmişti.
Mail tarafında üçüncü bir parça daha vardır: SMTP oturumunda sunucunun kendini tanıttığı HELO/EHLO adı. Postfix'te bu ad smtp_helo_name parametresinden gelir ve varsayılanı $myhostname'dir. HELO adını PTR ile aynı tutmak, filtrelerin tutarsızlık puanı vermesini önleyen yaygın bir uygulamadır.
# /etc/postfix/main.cf
myhostname = mail.ornek.com.tr
# smtp_helo_name varsayılan olarak $myhostname kullanır
# Değeri kontrol etmek için
postconf myhostname smtp_helo_nameAdım Adım PTR Ayarlama

1. Mail sunucusu için bir ad seçin ve A kaydını oluşturun
Alan adınızın DNS panelinde mail.ornek.com.tr için sunucunuzun IP'sini gösteren bir A kaydı ekleyin. Sunucunuzda IPv6 ile mail gönderilecekse aynı ada AAAA kaydı da ekleyin. Kayıt Cloudflare kullanıyorsa mail adının proxy'siz (DNS only) olması gerekir; ayrıntı için turuncu bulut rehberine bakın.
dig +short A mail.ornek.com.tr
# Beklenen çıktı: 203.0.113.102. Sunucunun hostname değerini eşleştirin
sudo hostnamectl set-hostname mail.ornek.com.tr
hostname -fBu adım PTR'ın kendisi için şart değildir, ancak mail yazılımınızın HELO adını ve log satırlarını tutarlı tutar.
3. PTR'ı sağlayıcınızda tanımlayın
Sağlayıcınızın panelinde varsa rDNS alanına mail.ornek.com.tr yazın veya destek ekibinden bu adın IP'nize PTR olarak tanımlanmasını isteyin. IPv6 ile gönderim yapacaksanız IPv6 adresiniz için de ayrı bir PTR isteyin; IPv4 PTR'ı IPv6 adresini kapsamaz.
4. Yayılmayı bekleyin ve doğrulayın
PTR kaydının da bir TTL'i vardır; önceki değer önbelleklerde bir süre kalabilir. Bekleme mantığı için DNS yayılma süresi ve TTL yazısına göz atın.
dig -x ve host ile Kontrol
dig, -x seçeneğiyle ters sorgu yapar ve in-addr.arpa veya ip6.arpa adını kendisi oluşturur. host komutu ise kendisine bir IP adresi verildiğinde varsayılan olarak ters sorgu yapar. Ubuntu'da ikisi de bind9-dnsutils paketindedir.
sudo apt install bind9-dnsutils
# IPv4 ters sorgu
dig -x 203.0.113.10 +short
host 203.0.113.10
# IPv6 ters sorgu (ip6.arpa adını dig üretir)
dig -x 2001:db8:1234::10 +short
host 2001:db8:1234::10FCrDNS'i tek seferde kontrol etmek için iki sorguyu birleştirebilirsiniz:
IP=203.0.113.10
AD=$(dig -x "$IP" +short | head -n1)
echo "PTR: $AD"
echo "A kaydı: $(dig +short A "$AD")"
# İkinci satırda yine 203.0.113.10 görmelisiniz| Gördüğünüz sonuç | Anlamı | Ne yapmalı? |
|---|---|---|
| Boş çıktı | IP için PTR tanımlı değil | Sağlayıcı panelinden veya destekten PTR isteyin |
203-0-113-10.saglayici.net gibi genel ad | Sağlayıcının varsayılan PTR'ı duruyor | Kendi mail adınızla değiştirtin |
| PTR doğru, A kaydı farklı IP | FCrDNS başarısız | A kaydını düzeltin veya PTR'ı doğru ada çevirin |
| PTR doğru, A kaydı yok | İleri kayıt eksik | Alan adının DNS'ine A/AAAA ekleyin |
| PTR bir CNAME adına işaret ediyor | RFC 1912'ye aykırı | PTR'ı doğrudan A kaydı olan bir ada yönlendirin |
Sık Karşılaşılan Sorunlar
- IPv6 üzerinden gönderim, PTR'sız IPv6: Sunucunuzda IPv6 açıksa ve alıcının AAAA'lı MX'i varsa Postfix IPv6 ile bağlanabilir. Google bu durumda "550-5.7.1: Message does not meet IPv6 sending guidelines regarding PTR records and authentication" benzeri hata döndürebilir. Çözüm: IPv6 adresine de PTR ve eşleşen AAAA tanımlamak ya da Postfix'te
inet_protocols = ipv4ayarlamak. Postfix belgesine göre bu parametreyi değiştirdikten sonra Postfix'i durdurup yeniden başlatmanız gerekir (yalnızca reload yetmez). IPv6 yapılandırması için sunucuda IPv6 yapılandırma yazısına bakın. - Paylaşımlı IP veya NAT: Mail, sunucunuzun dışarıya çıktığı IP'den gönderilir. NAT arkasındaysanız PTR o dış IP için ayarlanmalıdır. Hangi IP'den çıktığınızı
curl -4 ifconfig.megibi bir servisle görebilirsiniz. - Port 25 kapalı: Birçok sağlayıcı yeni sunucularda giden 25'i engeller; PTR doğru olsa da mail gitmez. Port farkları için SMTP portları rehberine bakın.
- Kara liste: PTR'sız veya genel PTR'lı IP'ler bazı listelerde "dinamik/son kullanıcı" aralığı gibi değerlendirilebilir. Durumu kara liste kontrolü ile inceleyin.
- Birden fazla PTR: Teknik olarak bir IP için birden fazla PTR yazılabilir, ancak doğrulama yapan sunucular hangisini alacaklarını garanti etmez. Mail için tek ve net bir PTR tutun.
Sık Sorulan Sorular
PTR kaydını alan adımın DNS paneline ekleyebilir miyim?
Hayır. PTR, IP adresinin ters DNS bölgesinde durur ve bu bölge IP'nin sahibine yetkilendirilmiştir. Alan adı panelinize eklenen PTR kaydı dışarıdan sorgulanmaz. Sağlayıcınızın panelinde rDNS ayarı varsa oradan, yoksa destek ekibinden isteyin.
Mail göndermiyorsam PTR gerekli mi?
Web sitesi yayını için zorunlu değildir. Yine de RFC 1912, internete açık her hostun bir adı olmasını önerir ve bazı servisler loglarda ve erişim kontrollerinde ters DNS kullanır. Sunucu hiç mail göndermiyorsa sağlayıcının varsayılan PTR'ı genelde sorun çıkarmaz.
PTR ile HELO adı farklıysa ne olur?
Bu durum tek başına mutlaka ret sebebi değildir, ancak birçok filtre tutarsızlığı olumsuz sinyal olarak değerlendirir. En sağlıklısı PTR, A/AAAA kaydı ve HELO adını aynı FQDN'de birleştirmektir.
PTR değişikliği ne kadar sürede görünür?
Sağlayıcı kaydı yazdıktan sonra görünme süresi, eski kaydın TTL'ine ve çözümleyicilerin önbelleğine bağlıdır. dig @1.1.1.1 -x IP +short ile farklı çözümleyicilerden kontrol edin.
IPv6 adresim için de PTR gerekir mi?
Sunucunuz IPv6 üzerinden mail gönderiyorsa evet. Google, IPv6 ile gönderen sunucuların da PTR ve eşleşen AAAA kaydına sahip olmasını bekler. IPv6 PTR tanımlayamıyorsanız mail yazılımınızı yalnızca IPv4 kullanacak şekilde sınırlayın.
Yazılım ve hizmet adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen projeler veya şirketlerle ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: Sunucuda IPv6 yapılandırma · Logrotate ile log yönetimi · Load average nedir? · OOM killer çözümü · Mailler neden spama düşer? · SPF kaydı nedir? · Mail kara liste kontrolü · SMTP portları 25, 465, 587 · DNS yayılma süresi ve TTL