MX ve SMTP rehberi
MX kayıtları e-postayı nasıl yönlendirir, XGM MX ve SMTP her posta sunucusu için DNS'te ve SMTP üzerinden neyi kontrol eder, hatalar nasıl düzeltilir.
MX kayıtları ne işe yarar
Biri anna@example.com adresine bir ileti gönderdiğinde, gönderen posta sunucusu example.com alan adının MX kayıtlarını sorgular. Her kayıt bir posta sunucusunu ve bir öncelik değerini adlandırır. Gönderen, önce en düşük değere sahip sunucuyu dener ve ona bağlanamazsa bir sonrakine geçer.
RFC 5321 §5.1 bu süreci, bir geri dönüş davranışıyla birlikte anlatır: bir alan adının hiç MX kaydı yoksa gönderenler teslimatı alan adının kendi A veya AAAA adresine yapmayı dener. Bu geri dönüş bugün çok nadiren gerçek bir posta sunucusuna ulaşır; eksik bir MX kaydının, web sitesi olan alan adları için bile bir sorun olmasının nedeni tam olarak budur.
MX ve SMTP nasıl kullanılır
- MX ve SMTP aracını açın ve bir e-posta adresinde
@işaretinden sonra gelen kısmı girin, örneğinexample.com. - XGM, MX kayıtlarını getirir ve bunları öncelik değerine göre sıralar.
- En fazla beş MX sunucusu için A, AAAA ve CNAME kayıtlarını çözer; böylece her hedefin kullanılabilir bir posta sunucusu adı olduğunu kontrol eder.
- İlk üç sunucu için XGM sunucusu 25 numaralı portta bir SMTP oturumu açar: banner, EHLO, sertifikasıyla birlikte STARTTLS, ters DNS ve bir relay testi.
- Bulguları okuyun, ardından alan adının SPF, DMARC veya kara liste durumunu kontrol etmek için Sıradakini çalıştır ile devam edin.
Zaman aşımı bildirimleri hem sunucuyu hem de beklenen süreyi adlandırır: XGM her sunucuya 6 saniye tanır. Sizin kendi postanızı yanıtlayan ama XGM'ye yanıt vermeyen bir sunucu XGM ağını engelliyor olabilir; bu yüzden herhangi bir şeyi değiştirmeden önce zaman aşımını, dışarıdaki bir hesaptan göndereceğiniz bir iletiyle teyit edin.
MX kayıtlarını okumak
example.com. 3600 IN MX 10 mx1.example.com.
example.com. 3600 IN MX 20 mx2.example.com.
mx1.example.com. 3600 IN A 192.0.2.25
mx2.example.com. 3600 IN A 198.51.100.25| Kurulum | Kayıtlar | Davranış |
|---|---|---|
| Birincil ve yedek | 10 mx1, 20 mx2 | mx2 yalnızca mx1'e ulaşılamadığında kullanılır |
| Yük paylaşımı | 10 mx1, 10 mx2 | Gönderenler eşit değerler arasından kendileri seçer |
| Barındırılan sağlayıcı | Bir veya birkaç sağlayıcı sunucu adı | Yedekliliği adların arkasında sağlayıcı yürütür |
| Null MX | 0 . | Alan adı hiç posta kabul etmez (RFC 7505) |
Öncelik değerleri görecelidir; yalnızca sıraları önemlidir. 10 ve 20 değerleri, 1 ve 2 ile tam olarak aynı şekilde davranır. Barındırılan posta kutusu sağlayıcıları hangi kayıtları yayımlamanız gerektiğini size tam olarak söyler; onların kayıtlarını önceki sağlayıcıdan kalan eskilerle karıştırmak ise postanızı iki sistem arasında böler.
Bulgular ne anlama gelir
| Bulgu | Önem derecesi | Düzeltme |
|---|---|---|
| MX kaydı yok (alan adının bir A kaydı var) | Uyarı | Posta sağlayıcınızın MX kayıtlarını yayımlayın; A kaydına geri dönüş nadiren işe yarar. |
| MX kaydı yok (A kaydı da yok) | Kritik | Alan adına posta teslim edilemez; MX kayıtları ya da bir null MX yayımlayın. |
| MX bir IP adresini işaret ediyor | Kritik | A/AAAA kaydı olan bir sunucu adı kullanın (RFC 5321 §5.1). |
| Sunucu bir CNAME | Uyarı | MX kaydını kanonik sunucu adına yöneltin (RFC 2181 §10.3). |
| Sunucunun A veya AAAA kaydı yok | Kritik | Adres kayıtlarını ekleyin ya da sunucu adını düzeltin. |
| Sunucu adı çözülemedi | Uyarı | Geçici bir sorgu hatası ya da bozuk delegasyon; yeniden kontrol edin. |
| Null MX | Bilgi | Hiç posta almayan alan adları için doğru olan budur. |
| Yalnızca bir MX sunucusu | Bilgi | Büyük sağlayıcılarda sorun değil; kendi barındırdığınız kurulumlar çoğu zaman ikinci bir sunucu ekler. |
| n posta sunucusu doğru şekilde çözülüyor | Geçti | MX hedefleri kullanılabilir sunucu adlarıdır. |
SMTP testi
DNS yalnızca postanın nereye gitmesi gerektiğini söyler. SMTP testi ise gönderen bir sunucunun oraya vardığında neyle karşılaştığını kontrol eder. XGM, giden trafik koruması üzerinden her posta sunucusuna 25 numaralı porttan bağlanır, karşılama banner'ını okur ve desteklenen uzantıları öğrenmek için EHLO gönderir. Sunucu STARTTLS sunuyorsa XGM bağlantıyı yükseltir, sertifikayı sunucu adına karşı doğrular ve kullanılan TLS sürümü ile şifre takımını kaydeder.
Relay testi, sunucudan xgm-relay-test@example.org adresinden xgm-relay-test@example.net adresine giden bir iletiyi kabul etmesini ister; bu ikisi, kimseye ait olmayan ayrılmış örnek alan adlarıdır. Bir posta sunucusu bunu reddetmek zorundadır, çünkü adreslerin ikisi de kendisine ait değildir; RCPT TO komutuna 2xx kodlu bir yanıt veriyorsa o sunucu bir open relay'dir ve spam gönderenler onu er ya da geç bulur. XGM hemen ardından RSET ve QUIT gönderir, bu yüzden hiçbir zaman ileti gönderilmez (DATA komutu hiç verilmez).
| Bulgu | Önem derecesi | Düzeltme |
|---|---|---|
| 25 numaralı portta hiçbir posta sunucusu yanıt vermedi | Kritik | Güvenlik duvarlarını ve MTA'nın 25 numaralı portu dinlediğini kontrol edin. |
| Sunucu STARTTLS sunmuyor | Kritik | MX sunucu adını kapsayan bir sertifikayla TLS'i etkinleştirin (RFC 3207). |
| Sertifikaya güvenilmiyor | Uyarı | MX sunucu adını kapsayan, herkese açık bir CA'dan alınmış sertifika kullanın. |
| TLS 1.0 veya 1.1 anlaşması yapıldı | Uyarı | TLS 1.2 ve 1.3'ü etkinleştirin (RFC 8996). |
| Open relay | Kritik | Relay'e yalnızca kimliği doğrulanmış kullanıcılar ve kendi ağlarınız için izin verin. |
| Ters DNS kaydı yok veya PTR geri çözülmüyor | Uyarı | IP bloğunun sahibinden, sunucu adıyla eşleşen bir PTR kaydı ayarlamasını isteyin. |
| 25 numaralı portta AUTH sunuluyor | Bilgi | İstemci oturumlarını bunun yerine 587 veya 465 numaralı portta sunun. |
465 (örtük TLS) ve 587 (gönderim) numaralı portlar posta istemcileri içindir, sunucudan sunucuya teslimat için değil. XGM yalnızca bunların bir TCP bağlantısı kabul edip etmediğini test eder ve sonucu tabloda gösterir. Geçerli bir sertifikaya sahip güvenli bir MX, MTA-STS politikasını zorunlu kılmadan önce ihtiyaç duyduğunuz temeldir.
Sık yapılan MX hataları
Eski sağlayıcıdan kalan kayıtlar
Bir geçişin ardından, daha yüksek öncelik değerine sahip eski MX kayıtları bazen "yedek olsun" diye bırakılır. Yeni sağlayıcıya bir an için ulaşamayan gönderenler o zaman postayı eskisine teslim eder ve orada iletileri artık kimse okumaz. Geçiş tamamlandığında eski MX kayıtlarını kaldırın.
Her şeyi kabul eden bir yedek MX
Hangi posta kutularının var olduğunu bilmeden her adres için posta kabul eden ikincil bir posta sunucusu, spam gönderenler için bir hedef haline gelir; onlar birincil sunucunun filtrelemesinden kaçınmak için yedeği bilerek kullanır. Ya yedeği aynı alıcı kontrolleri ve filtrelerle yapılandırın ya da yedek MX yerine gönderenin yeniden deneme kuyruğuna güvenin.
Park edilmiş alan adlarında null MX'i unutmak
Yalnızca web sitesi için kullanılan ya da savunma amacıyla elde tutulan alan adları bir null MX, v=spf1 -all içeren bir SPF kaydı ve p=reject içeren bir DMARC kaydı yayımlamalıdır. Null MX, gönderenlerin teslimatı günlerce yeniden denemesini engeller; diğer ikisi de kimliğe bürünmeyi durdurur.
example.org. IN MX 0 .
example.org. IN TXT "v=spf1 -all"
_dmarc.example.org. IN TXT "v=DMARC1; p=reject;"Alt alan adları için MX kayıtları
MX kayıtları miras alınmaz. alerts@status.example.com adresine giden bir ileti, example.com alan adının değil, status.example.com alan adının MX kayıtlarıyla yönlendirilir. Alt alan adının MX kaydı yok ama A kaydı varsa gönderenler o adrese geri döner; bu adres de genellikle posta kabul etmeyen bir web sunucusudur.
Her alt alan adı için posta alması gerekip gerekmediğine ayrı ayrı karar verin. Bildirimlerde gönderen adresi olarak kullanılan alt alan adlarının çoğu zaman geri dönen iletileri ve yanıtları da alması gerekir; bu yüzden onlara posta sağlayıcınızı işaret eden MX kayıtları verin. Yalnızca web sitesi barındıran alt alan adları bir null MX yayımlayabilir; bu da onlara gönderilen postanın günlerce gönderen kuyruklarında beklemesini önler.
Ana alan adının yanı sıra posta gönderen her alt alan adını da MX ve SMTP ile kontrol edin. news.example.com adıyla gönderim yapan ve bu ad için çalışan bir MX kaydı bulunmayan bir bülten platformu, abonelerin gönderdiği her yanıtı kaybeder.
MX'in ötesi: posta kurulumunun geri kalanı
MX kayıtları postanın size ulaşmasını sağlar. Sizden çıkan postanın güvenilir sayılıp sayılmayacağı SPF, DKIM ve DMARC'a; şifreli ulaşıp ulaşmayacağı ise MX sunucularındaki TLS'e ve isteğe bağlı olarak bunun MTA-STS ile zorunlu kılınmasına bağlıdır. Bir alan adının MX kayıtları kusursuz olabilir ve giden postası yine de reddedilebilir.
- SPF rehberi: alan adı için hangi sunucular gönderim yapabilir.
- DMARC rehberi: alıcılar kimliği doğrulanmamış postayla ne yapar.
- MTA-STS rehberi: MX sunucularınıza teslim edilen posta için TLS zorunlu kılmak.
- Teslim edilebilirlik kontrol listesi: gelen kutusuna ulaşmayı etkileyen her şey.
SSS
MX öncelik numarası ne anlama gelir?
Gönderenler önce en düşük numarayı dener. Eşit numaralar yükü paylaşır. Değerlerin kendisi değil, yalnızca sıraları önemlidir.
Bir MX kaydı bir IP adresini işaret edebilir mi?
Hayır. MX hedefleri, A veya AAAA kaydı bulunan sunucu adları olmalıdır. Bir MX kaydındaki IP adresi geçersizdir ve gönderenlerin çoğu oraya teslimat yapmaz.
Bir MX sunucusu CNAME olabilir mi?
Olmamalıdır. RFC 2181, MX hedeflerinin takma ad olmaması gerektiğini söyler. Gönderenlerin birçoğu takma adı yine de izler, ancak bazıları izlemez; bu yüzden MX kaydını kanonik ada yöneltin.
Null MX nedir?
RFC 7505'te tanımlanan, öncelik değeri 0 ve hedefi . olan bir MX kaydıdır. Gönderenlere alan adının hiç posta kabul etmediğini söyler; onlar da hemen bir geri dönüş iletisi üretir.
İki MX kaydına ihtiyacım var mı?
Sunucu adları yedekli altyapıyla desteklenen büyük barındırma sağlayıcılarında gerekmez. Kendi barındırdığınız posta genellikle ikinci bir MX kullanır; o da birincisi kadar iyi filtrelemelidir.
MX değişiklikleri ne kadar sürer?
Eski kayıtların TTL süresi kadar. Gönderen sunucular başarısız teslimatları ayrıca yeniden dener; bu yüzden değişiklik sırasındaki posta genellikle kaybolmaz, yalnızca gecikir.
SMTP testi e-posta gönderir mi?
Hayır. Bağlanır, banner'ı okur, STARTTLS ile bağlantıyı yükseltir ve relay davranışını MAIL FROM ile RCPT TO kullanarak test eder; ardından DATA komutundan önce oturumu sıfırlayıp kapatır, yani hiçbir ileti aktarılmaz.