{"id":2031,"date":"2025-11-18T15:23:07","date_gmt":"2025-11-18T12:23:07","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/ipv6-ile-e%e2%80%91posta-teslimi-nasil-rayina-oturur-ptr-helo-spf-ve-rbllerle-saha-rehberi\/"},"modified":"2025-11-18T15:23:07","modified_gmt":"2025-11-18T12:23:07","slug":"ipv6-ile-e%e2%80%91posta-teslimi-nasil-rayina-oturur-ptr-helo-spf-ve-rbllerle-saha-rehberi","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/ipv6-ile-e%e2%80%91posta-teslimi-nasil-rayina-oturur-ptr-helo-spf-ve-rbllerle-saha-rehberi\/","title":{"rendered":"IPv6 ile E\u2011posta Teslimi Nas\u0131l Ray\u0131na Oturur? PTR, HELO, SPF ve RBL\u2019lerle Saha Rehberi"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Giris_Gece_Yarisi_Acilan_Kuyruklar_Ne_Anlatir\"><span class=\"toc_number toc_depth_1\">1<\/span> Giri\u015f: Gece Yar\u0131s\u0131 A\u00e7\u0131lan Kuyruklar Ne Anlat\u0131r?<\/a><\/li><li><a href=\"#HELO_ve_PTR_IPv6ta_Isimlerin_Dansi_Ne_Zaman_Tutuluyor\"><span class=\"toc_number toc_depth_1\">2<\/span> HELO ve PTR: IPv6\u2019ta \u0130simlerin Dans\u0131 Ne Zaman Tutuluyor?<\/a><ul><li><a href=\"#FCrDNS_Uclu_Tokalasma_Neden_Hala_Altin_Kural\"><span class=\"toc_number toc_depth_2\">2.1<\/span> FCrDNS: \u00dc\u00e7l\u00fc Tokala\u015fma Neden H\u00e2l\u00e2 Alt\u0131n Kural?<\/a><\/li><li><a href=\"#ip6arpa_Nibble_Zonu_Ilk_Kez_Yazarken_Ter_Dokturen_Format\"><span class=\"toc_number toc_depth_2\">2.2<\/span> ip6.arpa Nibble Zonu: \u0130lk Kez Yazarken Ter D\u00f6kt\u00fcren Format<\/a><\/li><\/ul><\/li><li><a href=\"#SPF_ip6_ile_Izin_Ver_HELO_Alanini_da_Unutma\"><span class=\"toc_number toc_depth_1\">3<\/span> SPF: ip6: ile \u0130zin Ver, HELO Alan\u0131n\u0131 da Unutma<\/a><ul><li><a href=\"#SPFin_IPv6_Tarafi_ip6_ve_Lookup_Sinirlarini_Nazikce_Yonetmek\"><span class=\"toc_number toc_depth_2\">3.1<\/span> SPF\u2019in IPv6 Taraf\u0131: ip6: ve Lookup S\u0131n\u0131rlar\u0131n\u0131 Nazik\u00e7e Y\u00f6netmek<\/a><\/li><li><a href=\"#HELO_SPF_Bos_MAIL_FROMlarda_Sessizce_Devreye_Giren_Kurtarici\"><span class=\"toc_number toc_depth_2\">3.2<\/span> HELO SPF: Bo\u015f MAIL FROM\u2019larda Sessizce Devreye Giren Kurtar\u0131c\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#RBLler_ve_IPv6_Isinma_Blockliste_Dusmeden_Guven_Insa_Etmek\"><span class=\"toc_number toc_depth_1\">4<\/span> RBL\u2019ler ve IPv6 Is\u0131nma: Blocklist\u2019e D\u00fc\u015fmeden G\u00fcven \u0130n\u015fa Etmek<\/a><ul><li><a href=\"#IPv6da_RBL_Sakincalari_Generic_PTR_ve_Dinamik_Bloklar\"><span class=\"toc_number toc_depth_2\">4.1<\/span> IPv6\u2019da RBL Sak\u0131ncalar\u0131: Generic PTR ve Dinamik Bloklar<\/a><\/li><li><a href=\"#Gmail_Rehberi_ve_Gercek_Hayat_Donup_Donup_Bakilan_Notlar\"><span class=\"toc_number toc_depth_2\">4.2<\/span> Gmail Rehberi ve Ger\u00e7ek Hayat: D\u00f6n\u00fcp D\u00f6n\u00fcp Bak\u0131lan Notlar<\/a><\/li><\/ul><\/li><li><a href=\"#Gozlemlenebilirlik_Kuyrugun_Nabzi_Hata_Kodlarinin_Ritimleri_ve_CLI_Testleri\"><span class=\"toc_number toc_depth_1\">5<\/span> G\u00f6zlemlenebilirlik: Kuyru\u011fun Nabz\u0131, Hata Kodlar\u0131n\u0131n Ritimleri ve CLI Testleri<\/a><ul><li><a href=\"#Metrikler_Oranlara_Bak_Ritimleri_Dinle\"><span class=\"toc_number toc_depth_2\">5.1<\/span> Metrikler: Oranlara Bak, Ritimleri Dinle<\/a><\/li><li><a href=\"#CICD_ve_GitOps_MTA_Konfigurasyonlarini_Dagilmadan_Tasimak\"><span class=\"toc_number toc_depth_2\">5.2<\/span> CI\/CD ve GitOps: MTA Konfig\u00fcrasyonlar\u0131n\u0131 Da\u011f\u0131lmadan Ta\u015f\u0131mak<\/a><\/li><\/ul><\/li><li><a href=\"#Sik_Gorulen_Tuzaklar_Kriz_Ani_Notlari_ve_Kok_Neden_Dersleri\"><span class=\"toc_number toc_depth_1\">6<\/span> S\u0131k G\u00f6r\u00fclen Tuzaklar: Kriz An\u0131 Notlar\u0131 ve K\u00f6k Neden Dersleri<\/a><ul><li><a href=\"#Vaka_1_PTR_Generice_Donunce_Gmail_Tersledi\"><span class=\"toc_number toc_depth_2\">6.1<\/span> Vaka 1: PTR Generic\u2019e D\u00f6n\u00fcnce, Gmail Tersledi<\/a><\/li><li><a href=\"#Vaka_2_SPF_PermError_Lookup_Sinirini_Astik\"><span class=\"toc_number toc_depth_2\">6.2<\/span> Vaka 2: SPF PermError, Lookup S\u0131n\u0131r\u0131n\u0131 A\u015ft\u0131k<\/a><\/li><li><a href=\"#Vaka_3_AAAA_Acinca_Inbound_Davranisi_Degisti\"><span class=\"toc_number toc_depth_2\">6.3<\/span> Vaka 3: AAAA A\u00e7\u0131nca Inbound Davran\u0131\u015f\u0131 De\u011fi\u015fti<\/a><\/li><li><a href=\"#Vaka_4_RBLe_Hafifce_Dokunduk_Isinma_Plani_Yoktu\"><span class=\"toc_number toc_depth_2\">6.4<\/span> Vaka 4: RBL\u2019e Hafif\u00e7e Dokunduk, Is\u0131nma Plan\u0131 Yoktu<\/a><\/li><\/ul><\/li><li><a href=\"#Uctan_Uca_Akis_Kucuk_ama_Etkili_Runbook_Cumleleri\"><span class=\"toc_number toc_depth_1\">7<\/span> U\u00e7tan Uca Ak\u0131\u015f: K\u00fc\u00e7\u00fck ama Etkili Runbook C\u00fcmleleri<\/a><ul><li><a href=\"#Gonderim_Oncesi_Kontrol_5_Dakikalik_Yesil_Isik_Turu\"><span class=\"toc_number toc_depth_2\">7.1<\/span> G\u00f6nderim \u00d6ncesi Kontrol: 5 Dakikal\u0131k \u201cYe\u015fil I\u015f\u0131k\u201d Turu<\/a><\/li><\/ul><\/li><li><a href=\"#Kapanis_Geceyi_Kisaltan_Aliskanliklar\"><span class=\"toc_number toc_depth_1\">8<\/span> Kapan\u0131\u015f: Geceyi K\u0131saltan Al\u0131\u015fkanl\u0131klar<\/a><\/li><\/ul><\/div>\n<h2 id=\"section-1\"><span id=\"Giris_Gece_Yarisi_Acilan_Kuyruklar_Ne_Anlatir\">Giri\u015f: Gece Yar\u0131s\u0131 A\u00e7\u0131lan Kuyruklar Ne Anlat\u0131r?<\/span><\/h2>\n<p>Hi\u00e7 gece yar\u0131s\u0131 aniden e\u2011postalar\u0131n kuyrukta birikmeye ba\u015flad\u0131\u011f\u0131n\u0131, metriklerin ok gibi f\u0131rlad\u0131\u011f\u0131n\u0131 ve ekip sohbetinde \u201cGmail yine 4xx d\u00f6n\u00fcyor\u201d c\u00fcmlesinin dola\u015ft\u0131\u011f\u0131n\u0131 g\u00f6rd\u00fcn\u00fcz m\u00fc? Benim g\u00f6rd\u00fc\u011f\u00fcm ilk an, bir IPv6 ge\u00e7i\u015finde oldu. IPv4\u2019te y\u0131llard\u0131r problemsiz akan g\u00f6nderimler, outbound trafi\u011fi dual\u2011stack\u2019e ald\u0131\u011f\u0131m\u0131z gece birden t\u00f6kezledi. Loglarda kibar ama sert bir dille \u201cTemporary rate limit, try again later\u201d ve \u201cReverse DNS required\u201d uyar\u0131lar\u0131 ak\u0131yordu. O an anlad\u0131m: IPv6 ile e\u2011posta teslim edilebilirli\u011finde kurallar ayn\u0131 gibi g\u00f6r\u00fcnse de, yorumlar daha kat\u0131, e\u015fi\u011fi daha ince.<\/p>\n<p>Bu yaz\u0131da sahada edindi\u011fim hikayelerle, IPv6 taraf\u0131nda sorunsuz g\u00f6nderim i\u00e7in PTR, HELO\/EHLO, SPF ve RBL\u2019leri nas\u0131l tatl\u0131 tatl\u0131 ray\u0131na oturtaca\u011f\u0131n\u0131z\u0131 anlataca\u011f\u0131m. Teknik detay\u0131 ka\u00e7\u0131rmadan, ama ekip arkada\u015f\u0131n\u0131za anlat\u0131r gibi. Mesela HELO isminle PTR\u2019\u0131n\u0131z\u0131n tokala\u015fmas\u0131ndan, SPF\u2019de <strong>ip6:<\/strong> mekanizmas\u0131na; RBL\u2019lerde IPv6 \u0131s\u0131nma rit\u00fcellerinden, Postfix\/Exim ayarlar\u0131na ve \u00f6l\u00e7\u00fclebilir metriklere kadar uzanaca\u011f\u0131z. Arada bir iki kriz an\u0131 post\u2011mortem\u2019i, birka\u00e7 CLI \u00e7\u0131kt\u0131s\u0131 ve uygulamaya d\u00f6n\u00fck runbook c\u00fcmleleri bulacaks\u0131n\u0131z. Ama\u00e7 net: Gece 02:00\u2019de kuyruk \u015fi\u015fti\u011finde, hangi ta\u015f\u0131 \u00e7ekerseniz duvar\u0131n y\u0131k\u0131lmayaca\u011f\u0131n\u0131 bilmek.<\/p>\n<h2 id=\"section-2\"><span id=\"HELO_ve_PTR_IPv6ta_Isimlerin_Dansi_Ne_Zaman_Tutuluyor\">HELO ve PTR: IPv6\u2019ta \u0130simlerin Dans\u0131 Ne Zaman Tutuluyor?<\/span><\/h2>\n<h3><span id=\"FCrDNS_Uclu_Tokalasma_Neden_Hala_Altin_Kural\">FCrDNS: \u00dc\u00e7l\u00fc Tokala\u015fma Neden H\u00e2l\u00e2 Alt\u0131n Kural?<\/span><\/h3>\n<p>\u0130lk ders, isim ve adres uyumu. IPv6 ile outbound yaparken, al\u0131c\u0131lar\u0131n bir k\u0131sm\u0131 h\u00e2l\u00e2 \u201cforward\u2011confirmed reverse DNS\u201d (FCrDNS) ar\u0131yor. Yani g\u00f6nderdi\u011finiz IP\u2019nin PTR\u2019\u0131 bir host ismine d\u00f6nmeli, o host ismi de forward\u2019da ayn\u0131 IP\u2019ye \u00e7\u00f6z\u00fclmeli. Bu bir standart zorunlulu\u011fu de\u011fil, ama pratikte reputation kap\u0131s\u0131n\u0131n anahtar\u0131. PTR\u2019\u0131n \u201cip6-2a01-&#8230;\u201d gibi ISP taraf\u0131ndan otomatik verilmi\u015f generic bir ada i\u015faret etmesi, hele hele forward\u2019da ayn\u0131 IP\u2019yi g\u00f6stermemesi, gri listeye davetiye \u00e7\u0131kar\u0131yor.<\/p>\n<p>Bir gece, 2a01:xxxx ile giden mail node\u2019umuzun PTR\u2019\u0131 fark\u0131nda olmadan generic\u2019e d\u00f6nm\u00fc\u015f. Loglarda beliren sat\u0131r, hat\u0131rlad\u0131\u011f\u0131m haliyle \u015f\u00f6yleydi:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">postfix\/smtp[28411]: 2A3B44017F: to=&lt;user@gmail.com&gt;, relay=gmail-smtp-in.l.google.com[2a00:1450:4025:401::1a]:25,\n    delay=12, delays=0.1\/0.01\/5\/6.9, dsn=4.7.0, status=deferred (host ... said: 421-4.7.0 IP not meeting IPv6 sending guidelines)\n<\/code><\/pre>\n<p>\u0130\u015fin k\u00f6k\u00fc PTR\u2019d\u0131. H\u0131zl\u0131 kontrol i\u00e7in birka\u00e7 komutu refleks haline getirdik:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">$ dig -x 2a01:4f8:1c1c:abcd::25 +short\nmail.example.com.\n\n$ dig AAAA mail.example.com +short\n2a01:4f8:1c1c:abcd::25\n\n$ host 2a01:4f8:1c1c:abcd::25\n25.0.0.0.d.c.b.a.c.1.c.1.c.8.f.4.0.1.0.a.2.ip6.arpa domain name pointer mail.example.com.\n<\/code><\/pre>\n<p>HELO\/EHLO\u2019da ise yal\u0131n, FQDN bir isim sunmak kritik. \u201cEHLO [2a01:&#8230;]\u201d gibi address\u2011literal\u2019lar, baz\u0131 al\u0131c\u0131larca ters ka\u015f. Postfix\u2019te bunu a\u00e7\u0131k\u00e7a tan\u0131mlamay\u0131 seviyorum:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\"># \/etc\/postfix\/main.cf\nmyhostname = mail.example.com\nsmtp_helo_name = mail.example.com\n<\/code><\/pre>\n<p>FCrDNS \u00fc\u00e7l\u00fcs\u00fc (PTR \u2192 isim, isim \u2192 IPv6) tamamland\u0131\u011f\u0131nda, HELO ismiyle birlikte genel itibarda bir nefes al\u0131yorsunuz. Buradaki k\u00fc\u00e7\u00fck incelik: Ayn\u0131 host ismini IPv4 ve IPv6 forward\u2019lar\u0131nda birlikte g\u00f6sterebilirsiniz, sorun yok. Ama outbound ak\u0131\u015fta hangi IP\u2019nin ger\u00e7ekten kullan\u0131ld\u0131\u011f\u0131n\u0131 netle\u015ftirin. Postfix\u2019te ba\u011flanma IP\u2019sini sabitlemek gerekti\u011finde, IPv6 i\u00e7in \u015funu hat\u0131rlat\u0131yorum:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\"># belirli bir IPv6 ile \u00e7\u0131k\nsmtp_bind_address6 = 2a01:4f8:1c1c:abcd::25\n<\/code><\/pre>\n<h3><span id=\"ip6arpa_Nibble_Zonu_Ilk_Kez_Yazarken_Ter_Dokturen_Format\">ip6.arpa Nibble Zonu: \u0130lk Kez Yazarken Ter D\u00f6kt\u00fcren Format<\/span><\/h3>\n<p>Reverse DNS\u2019i kendi DNS\u2019inizde y\u00f6netiyorsan\u0131z, IPv6 PTR kayd\u0131 \u201cnibble\u201d format\u0131nda yaz\u0131l\u0131yor. \u0130lk kez yazan herkes gibi ben de bir kez noktalar\u0131 yanl\u0131\u015f yerlere koydum. Bir \u00f6rnek, BIND zonu \u00fczerinden akl\u0131m\u0131zda kals\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">$ORIGIN d.c.b.a.c.1.c.1.c.8.f.4.0.1.0.a.2.ip6.arpa.\n5.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR mail.example.com.\n<\/code><\/pre>\n<p>Bir\u00e7ok sa\u011flay\u0131c\u0131 PTR\u2019i kendi paneli veya API\u2019si \u00fczerinden y\u00f6netmenizi ister. Otomasyon i\u00e7in API entegrasyonu yazmak, hatay\u0131 gece ya\u015famaktan iyidir. IaC taraf\u0131nda PowerDNS gibi bir altyap\u0131n\u0131z varsa, Terraform ile PTR y\u00f6netimi ciddi nefes ald\u0131r\u0131r. K\u00fc\u00e7\u00fck bir \u00f6rnek \u015funa benzer:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">resource &quot;powerdns_record&quot; &quot;outbound_v6_ptr&quot; {\n  zone   = &quot;d.c.b.a.c.1.c.1.c.8.f.4.0.1.0.a.2.ip6.arpa.&quot;\n  name   = &quot;5.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0&quot;\n  type   = &quot;PTR&quot;\n  ttl    = 300\n  records = [&quot;mail.example.com.&quot;]\n}\n<\/code><\/pre>\n<p>B\u00f6ylece Git\u2019e bir commit, CI\u2019da bir plan\/g\u00f6zden ge\u00e7irme, sonra apply. \u0130nsan hatas\u0131 minimum, tekrar \u00fcretilebilirlik maksimum. Panelde fareyle PTR yazmaya g\u00f6re \u00e7ok daha g\u00fcvenli.<\/p>\n<h2 id=\"section-3\"><span id=\"SPF_ip6_ile_Izin_Ver_HELO_Alanini_da_Unutma\">SPF: ip6: ile \u0130zin Ver, HELO Alan\u0131n\u0131 da Unutma<\/span><\/h2>\n<h3><span id=\"SPFin_IPv6_Tarafi_ip6_ve_Lookup_Sinirlarini_Nazikce_Yonetmek\">SPF\u2019in IPv6 Taraf\u0131: ip6: ve Lookup S\u0131n\u0131rlar\u0131n\u0131 Nazik\u00e7e Y\u00f6netmek<\/span><\/h3>\n<p>SPF, IPv6 i\u00e7in ayr\u0131 bir d\u00fcnyad\u0131r demek fazla olur ama \u201cip6:\u201d mekanizmas\u0131yla yetki vermeyi net yazmak gerekiyor. G\u00f6nderen domain\u2019in SPF\u2019inde, outbound yapan IPv6 blo\u011funu veya tekil adresleri a\u00e7\u0131k\u00e7a tan\u0131mlay\u0131n. \u0130lk akla gelen \u00f6rnek:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">example.com.  300 IN TXT &quot;v=spf1 ip4:192.0.2.50 ip6:2a01:4f8:1c1c:abcd::25 include:_spf.example.net -all&quot;\n<\/code><\/pre>\n<p>Lookup say\u0131s\u0131n\u0131 abartmadan yapmak laz\u0131m. SPF de\u011ferlendirmesinde 10 DNS lookup s\u0131n\u0131r\u0131n\u0131 unutan \u00e7ok ekip g\u00f6rd\u00fcm. \u201cinclude\u201d zincirleri tatl\u0131 tatl\u0131 \u00e7o\u011fal\u0131r, sonra SPF PermError olur, bir anda 550\u2019lere d\u00f6nersiniz. Politikay\u0131 sade tutun. E\u011fer partner servisleri \u00e7oksa, <strong>flattening<\/strong> yakla\u015f\u0131m\u0131yla i\u015fin suyunu \u00e7\u0131karmadan, d\u00f6nemsel olarak ip listelerini derleyen bir otomasyon yaz\u0131n. Biz CI i\u00e7inde g\u00fcnl\u00fck bir job ile partner SPF\u2019leri \u00e7ekip, minimal bir flatten \u00e7\u0131kt\u0131s\u0131 \u00fcrettik; staging\u2019de test edip prod\u2019a yollad\u0131k.<\/p>\n<p>SPF ayarlar\u0131n\u0131 yaparken, <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc7208\" target=\"_blank\" rel=\"noopener nofollow\">SPF teknik tan\u0131m\u0131ndaki kurallar\u0131<\/a> d\u00f6n\u00fcp bir kez daha taramak iyi gelir. \u00d6zellikle \u201cmx\u201d, \u201ca\u201d, \u201cinclude\u201d gibi mekanizmalar\u0131n <em>lookup<\/em> etkisini g\u00f6z \u00f6n\u00fcnde bulundurun. IPv6 bloklar\u0131yla \u00e7al\u0131\u015f\u0131rken, tek tek ip6: eklemek yerine, ger\u00e7ekten sahip oldu\u011funuz ve PTR\u2019\u0131n\u0131 da y\u00f6netti\u011finiz bir aral\u0131\u011f\u0131 tan\u0131mlamak hem temizlik hem y\u00f6netilebilirlik sa\u011flar.<\/p>\n<h3><span id=\"HELO_SPF_Bos_MAIL_FROMlarda_Sessizce_Devreye_Giren_Kurtarici\">HELO SPF: Bo\u015f MAIL FROM\u2019larda Sessizce Devreye Giren Kurtar\u0131c\u0131<\/span><\/h3>\n<p>Bir ayr\u0131nt\u0131 var ki, ihmal edilince gece mola verdirir: Bounces s\u0131ras\u0131nda veya baz\u0131 ak\u0131\u015flarda MAIL FROM bo\u015f olabilir. Bu durumda bir\u00e7ok al\u0131c\u0131 HELO\/EHLO alan ad\u0131 \u00fczerinden SPF kontrol\u00fc yapar. HELO isminiz i\u00e7in de ayr\u0131 bir SPF yay\u0131mlamak bu y\u00fczden ar\u0131za \u00f6nleyicidir:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">mail.example.com. 300 IN TXT &quot;v=spf1 ip6:2a01:4f8:1c1c:abcd::25 -all&quot;\n<\/code><\/pre>\n<p>Bu k\u00fc\u00e7\u00fck kay\u0131t, g\u00f6r\u00fcnenden daha fazla yarar sa\u011flar. Bir g\u00f6nderim zincirinde beklenmedik bir s\u0131f\u0131r g\u00f6nderen ak\u0131\u015f\u0131 g\u00f6r\u00fcrseniz, HELO SPF\u2019in akt\u0131\u011f\u0131n\u0131 log\u2019da yakalay\u0131p do\u011frulam\u0131\u015f olursunuz. SPF yan\u0131nda DKIM\/DMARC da itibar\u0131n dostu; ama IPv6 ba\u015fl\u0131\u011f\u0131nda esas kazananlar PTR, HELO ve SPF \u00fc\u00e7l\u00fcs\u00fc. Yine de e\u2011posta y\u00f6nlendirme ve itibar konular\u0131 \u00e7etrefildir; bu ba\u015fl\u0131kla yak\u0131ndan ili\u015fkili \u201c<a href=\"https:\/\/www.dchost.com\/blog\/e%e2%80%91posta-yonlendirmede-spf-dmarc-neden-kiriliyor-srs-ve-arc-ile-nasil-tatli-tatli-onarirsin\/\" target=\"_blank\" rel=\"noopener\">e\u2011posta y\u00f6nlendirmede SPF\/DMARC neden k\u0131r\u0131l\u0131yor, SRS ve ARC ile nas\u0131l onar\u0131l\u0131r<\/a>\u201d yaz\u0131s\u0131na d\u00f6n\u00fcp bakmak faydal\u0131d\u0131r.<\/p>\n<h2 id=\"section-4\"><span id=\"RBLler_ve_IPv6_Isinma_Blockliste_Dusmeden_Guven_Insa_Etmek\">RBL\u2019ler ve IPv6 Is\u0131nma: Blocklist\u2019e D\u00fc\u015fmeden G\u00fcven \u0130n\u015fa Etmek<\/span><\/h2>\n<h3><span id=\"IPv6da_RBL_Sakincalari_Generic_PTR_ve_Dinamik_Bloklar\">IPv6\u2019da RBL Sak\u0131ncalar\u0131: Generic PTR ve Dinamik Bloklar<\/span><\/h3>\n<p>RBL\u2019ler (Realtime Blackhole List) IPv6\u2019da daha hassas davranabiliyor. Generic PTR\u2019l\u0131, geni\u015f \/64\u2019lerden geli\u015fig\u00fczel g\u00f6nderim yapan bir kayna\u011f\u0131n, politika temelli listelere (PBL) tak\u0131lmas\u0131 \u015fa\u015f\u0131rt\u0131c\u0131 de\u011fil. Hele ilk g\u00f6nderimler bir anda y\u00fcksek hacimliyse, throttling\u2019ler pe\u015fi s\u0131ra gelir. Spamhaus gibi kurallar koyan yap\u0131lar, IPv6 g\u00f6nderenlerin en az\u0131ndan \u201cstatik, PTR\u2019\u0131 d\u00fczg\u00fcn, hacmi kontroll\u00fc\u201d olmas\u0131n\u0131 bekler. \u00d6zellikle politika ayr\u0131nt\u0131lar\u0131n\u0131 anlamak i\u00e7in <a href=\"https:\/\/www.spamhaus.org\/faq\/section\/Spamhaus%20Policy\/155\" target=\"_blank\" rel=\"noopener nofollow\">Spamhaus\u2019un IPv6 politikalar\u0131na dair a\u00e7\u0131klamalar\u0131na<\/a> bir g\u00f6z atman\u0131z\u0131 \u00f6neririm.<\/p>\n<p>RBL sorgusunu IPv6 i\u00e7in de \u201cnibble\u201d y\u00f6ntemiyle yapars\u0131n\u0131z. H\u0131zl\u0131 bir test pratikte \u015f\u00f6yle g\u00f6r\u00fcn\u00fcr:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">$ dig +short 5.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.d.c.b.a.c.1.c.1.c.8.f.4.0.1.0.a.2.ip6.arpa.zen.spamhaus.org A\n$ echo $?\n0  # listede de\u011filse bo\u015f d\u00f6ner, baz\u0131 ara\u00e7lar \u00e7\u0131k\u0131\u015f koduyla yorumlar\n<\/code><\/pre>\n<p>Operasyonel olarak as\u0131l mesele, delisting kovalamaktan \u00e7ok hi\u00e7 d\u00fc\u015fmemek. Bunun re\u00e7etesi de \u0131s\u0131nma, sab\u0131r ve tutarl\u0131 kimlik. Outbound concurrency ve h\u0131z limitleriyle ba\u015flar. Postfix\u2019te hedef bazl\u0131 temkinli ayarlar ilk g\u00fcnlerde fark yarat\u0131r:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\"># \/etc\/postfix\/main.cf (\u00f6rnek, ak\u0131\u015fa g\u00f6re tune edilir)\ndefault_destination_concurrency_limit = 10\nsmtp_destination_rate_delay = 1s\nsmtp_tls_security_level = may\nsmtp_tls_loglevel = 1\n<\/code><\/pre>\n<p>Hedef bazl\u0131 ayarlamak istiyorsan\u0131z \u201ctransport maps\u201d ile domain \u00f6zelinde ince ayar yap\u0131p, Gmail, Microsoft ve Yahoo gibi b\u00fcy\u00fck al\u0131c\u0131lara a\u015famal\u0131 \u0131s\u0131nma uygulay\u0131n. Burada pratikte i\u015fleyen ritim, g\u00fcnl\u00fck hacmi kademeli art\u0131rmak ve geri d\u00f6n\u00fc\u015fleri (4xx\/5xx oranlar\u0131) g\u00f6zlemek. 5xx art\u0131yorsa frene bas\u0131n, 4xx uzad\u0131k\u00e7a retry\u2019lar\u0131 sakin zamana yay\u0131n.<\/p>\n<h3><span id=\"Gmail_Rehberi_ve_Gercek_Hayat_Donup_Donup_Bakilan_Notlar\">Gmail Rehberi ve Ger\u00e7ek Hayat: D\u00f6n\u00fcp D\u00f6n\u00fcp Bak\u0131lan Notlar<\/span><\/h3>\n<p>Bir\u00e7ok operasyon i\u00e7in \u00e7\u0131pa d\u00f6k\u00fcman, al\u0131c\u0131lar\u0131n g\u00f6nderici rehberleri. \u00d6zellikle Gmail\u2019in kurallar\u0131 net ve didaktik. IPv6 taraf\u0131nda da <a href=\"https:\/\/support.google.com\/mail\/answer\/81126?hl=tr\" target=\"_blank\" rel=\"noopener nofollow\">Gmail g\u00f6nderim y\u00f6nergeleri<\/a>nde PTR, ge\u00e7erli HELO, TLS ve geri bildirim oranlar\u0131 a\u00e7\u0131k\u00e7a anlat\u0131l\u0131yor. Bizim bir vaka notumuzda, 421\/4.7.0 t\u0131rmand\u0131\u011f\u0131nda yapt\u0131\u011f\u0131m\u0131z ilk \u00fc\u00e7 hareket \u015funlard\u0131: PTR\/HELO\u2019yu tekrar do\u011frula, SPF\u2019te ip6 mekanizmas\u0131n\u0131 host baz\u0131nda netle\u015ftir, concurrency\u2019yi yar\u0131ya indir. \u0130lgin\u00e7 bi\u00e7imde, s\u0131rf concurrency d\u00fc\u015f\u00fcrmek bile saatler i\u00e7inde defer oran\u0131n\u0131 %60\u2019tan %15\u2019e \u00e7ekmi\u015fti; geri kalan\u0131 ise itibar\u0131n kendi kendini tamir etmesi i\u00e7in gereken zamand\u0131.<\/p>\n<p>RBL\u2019e d\u00fc\u015ferseniz pani\u011fe kap\u0131lmadan, \u00f6nce <em>root\u2011cause<\/em> do\u011frulamas\u0131 yap\u0131n. Log\u2019da artan \u201cspammy\u201d pattern var m\u0131? \u0130\u00e7erik mi, oran m\u0131, kimlik mi? Bounce \u00f6rneklerini k\u00fcmelendirin. Sonra delisting s\u00fcrecinde temiz bir \u00f6zetle \u201cne oldu, ne yapt\u0131k, tekrar olmamas\u0131 i\u00e7in ne devrede\u201dyi payla\u015f\u0131n. Bu a\u00e7\u0131dan \u201c<a href=\"https:\/\/www.dchost.com\/blog\/e-posta-itibarini-kurtarma-rehberi-blacklist-delisting-postmaster-araclari-ve-guvenli-ip-isitma-nasil-kurtarici-olur\/\" target=\"_blank\" rel=\"noopener\">itibar kurtarma ve delisting rehberinde<\/a>\u201d anlatt\u0131\u011f\u0131m yakla\u015f\u0131m, IPv6\u2019da da birebir \u00e7al\u0131\u015f\u0131yor.<\/p>\n<h2 id=\"section-5\"><span id=\"Gozlemlenebilirlik_Kuyrugun_Nabzi_Hata_Kodlarinin_Ritimleri_ve_CLI_Testleri\">G\u00f6zlemlenebilirlik: Kuyru\u011fun Nabz\u0131, Hata Kodlar\u0131n\u0131n Ritimleri ve CLI Testleri<\/span><\/h2>\n<h3><span id=\"Metrikler_Oranlara_Bak_Ritimleri_Dinle\">Metrikler: Oranlara Bak, Ritimleri Dinle<\/span><\/h3>\n<p>\u0130\u015fin s\u0131rr\u0131, sadece konfig\u00fcrasyon de\u011fil. G\u00f6zlemlenebilirlik olmadan teslim edilebilirlik y\u00f6netmek, lambay\u0131 kapat\u0131p kablo toplamaya benziyor. Benim olmazsa olmazlar\u0131m: toplam g\u00f6nderim say\u0131s\u0131, 2xx\/4xx\/5xx oranlar\u0131, deferred queue uzunlu\u011fu, hedef bazl\u0131 latency ve TLS ba\u015far\u0131 oran\u0131. Postfix i\u00e7in Prometheus exporter kullan\u0131yorsan\u0131z, \u201csmtp_status_code_count\u201d, \u201cpostfix_queue_deferred\u201d gibi metrikler \u00e7ok de\u011ferli. Bir \u00fcretim grafi\u011finde 4xx oran\u0131 k\u00fc\u00e7\u00fck dalgalar halinde artar, concurrency d\u00fc\u015f\u00fcr\u00fcrs\u00fcn\u00fcz, dalga s\u00f6n\u00fcmlenir; i\u015fte o anda do\u011fru aynaya bak\u0131yorsunuzdur.<\/p>\n<p>CLI testleri de hayat kurtar\u0131r. \u00d6nce \u00e7\u0131plak bir EHLO turu atar\u0131m, sonra TLS\u2019le bakar\u0131m, ard\u0131ndan sahte bir mail ile test ederim. \u015eu \u00fc\u00e7l\u00fc benim cep kitimde:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">$ nc -6 gmail-smtp-in.l.google.com 25\n220 mx.google.com ESMTP ...\nEHLO mail.example.com\n250-mx.google.com at your service\n...\nQUIT\n\n$ openssl s_client -starttls smtp -crlf -connect gmail-smtp-in.l.google.com:25 -servername gmail-smtp-in.l.google.com\n... verify return:1\n...\n\n$ swaks --to user@example.net --server mx.example.net --interface 2a01:4f8:1c1c:abcd::25 --ehlo mail.example.com --tls\n=== Trying mx.example.net:25...\n... 250 2.0.0 Ok: queued\n<\/code><\/pre>\n<p>Bir gece ya\u015fad\u0131\u011f\u0131m\u0131z \u201cHELO vs SNI\u201d \u015fa\u015fk\u0131nl\u0131\u011f\u0131n\u0131 hat\u0131rl\u0131yorum. MTA\u2011STS ve TLS raporlar\u0131n\u0131 da aktif etti\u011fimiz i\u00e7in, al\u0131c\u0131lar\u0131n TLS ba\u015far\u0131s\u0131zl\u0131klar\u0131n\u0131 periyodik raporlardan g\u00f6rd\u00fck. Konuyu geni\u015fletmek isteyenler i\u00e7in, <a href=\"https:\/\/www.dchost.com\/blog\/e%e2%80%91postada-mta%e2%80%91sts-tls%e2%80%91rpt-ve-dane-teslim-edilebilirligi-nasil-tatli-tatli-yukseltirsin\/\" target=\"_blank\" rel=\"noopener\">MTA\u2011STS, TLS\u2011RPT ve DANE ile teslim edilebilirli\u011fi art\u0131rma<\/a> yaz\u0131s\u0131nda bu i\u015fin \u015fifreleri var. IPv6\u2019da da TLS davran\u0131\u015f\u0131 ayn\u0131, ama g\u00f6zlemlenebilirlikte raporlar\u0131 ger\u00e7ekten okumak fark yarat\u0131yor.<\/p>\n<h3><span id=\"CICD_ve_GitOps_MTA_Konfigurasyonlarini_Dagilmadan_Tasimak\">CI\/CD ve GitOps: MTA Konfig\u00fcrasyonlar\u0131n\u0131 Da\u011f\u0131lmadan Ta\u015f\u0131mak<\/span><\/h3>\n<p>Bir kez can\u0131n\u0131z PTR y\u00fcz\u00fcnden yand\u0131ysa, ikinci kez DNS\u2019e k\u00f6rlemesine g\u00fcvenmezsiniz. Biz, outbound MTA konfig\u00fcrasyonlar\u0131n\u0131 Git repo\u2019da tutup, staging\u2019de sanal bir al\u0131c\u0131 cluster\u2019\u0131na entegrasyon testleri \u00e7al\u0131\u015ft\u0131r\u0131yoruz. Pipeline\u2019da \u201cpostfix check\u201d, sintaks do\u011frulama, test konteyner\u2019\u0131nda a\u00e7\u0131l\u0131\u015f ve ard\u0131ndan <em>swaks<\/em> ile bir dizi hedefe IPv6 \u00fczerinden g\u00f6nderim denemesi var. Ba\u015far\u0131s\u0131z bir ad\u0131m, prod\u2019a gidi\u015fi kesiyor. PTR de\u011fi\u015fiklikleri ise sa\u011flay\u0131c\u0131 API\u2019lerine yaz\u0131lm\u0131\u015f Terraform mod\u00fclleriyle planlan\u0131p uygulan\u0131yor. Panelde anl\u0131k kayd\u0131rma yerine, izlenebilir ve geri al\u0131nabilir bir <em>apply<\/em>. Krizde \u201cKim neyi ne zaman de\u011fi\u015ftirdi?\u201d sorusuna cevab\u0131m\u0131z hep haz\u0131r.<\/p>\n<h2 id=\"section-6\"><span id=\"Sik_Gorulen_Tuzaklar_Kriz_Ani_Notlari_ve_Kok_Neden_Dersleri\">S\u0131k G\u00f6r\u00fclen Tuzaklar: Kriz An\u0131 Notlar\u0131 ve K\u00f6k Neden Dersleri<\/span><\/h2>\n<h3><span id=\"Vaka_1_PTR_Generice_Donunce_Gmail_Tersledi\">Vaka 1: PTR Generic\u2019e D\u00f6n\u00fcnce, Gmail Tersledi<\/span><\/h3>\n<p>Olay zaman\u0131 02:13. Pager \u00e7ald\u0131. Deferred kuyruk 30K\u2019y\u0131 ge\u00e7ti, 10 dakikada 3 katlam\u0131\u015f. Loglarda 421\/4.7.0 ve \u201cReverse DNS required\u201d benzeri notlar. \u0130lk refleks: \u201cdig -x\u201d ve \u201cdig AAAA\u201d. PTR generic\u2019e d\u00f6nm\u00fc\u015f; sa\u011flay\u0131c\u0131 taraf\u0131nda reverse y\u00f6netiminde bir de\u011fi\u015fiklik yap\u0131lm\u0131\u015f. K\u00f6k neden: PTR otomasyonunda API anahtar\u0131 rotasyonu sonras\u0131 apply \u00e7al\u0131\u015fmam\u0131\u015f. D\u00fczeltme: Terraform state temizlenip yeni anahtar ile yeniden apply, 5 dakika i\u00e7inde PTR geri geldi. HELO zaten sabitti. Concurrency yar\u0131ya d\u00fc\u015f\u00fcr\u00fcld\u00fc, retry da\u011f\u0131t\u0131ld\u0131. Metrikler 45 dakika i\u00e7inde normale d\u00f6nd\u00fc. Ders: Reverse\u2019i panelden de\u011fil IaC ile y\u00f6net; anahtar rotasyonlar\u0131n\u0131 pipeline\u2019a test olarak ekle.<\/p>\n<h3><span id=\"Vaka_2_SPF_PermError_Lookup_Sinirini_Astik\">Vaka 2: SPF PermError, Lookup S\u0131n\u0131r\u0131n\u0131 A\u015ft\u0131k<\/span><\/h3>\n<p>Bir kampanya g\u00fcn\u00fc, %5 civar\u0131 5xx art\u0131\u015f\u0131 oldu. Neden ilk anda g\u00f6r\u00fcnm\u00fcyordu; i\u00e7erik score\u2019lar\u0131 normal, IP\u2019ler temiz. Bir al\u0131c\u0131da 550 5.7.23 benzeri bir sat\u0131r g\u00f6rd\u00fck; SPF de\u011ferlendirmesi bozulmu\u015f. \u201cdig txt\u201d ile SPF\u2019e bakt\u0131\u011f\u0131m\u0131zda include zinciri \u201cmatru\u015fka\u201d gibi. Lookup say\u0131s\u0131 10\u2019un \u00fcst\u00fcne \u00e7\u0131km\u0131\u015f, baz\u0131 de\u011ferlendirmelerde PermError. H\u0131zl\u0131 \u00e7\u00f6z\u00fcm: Bir flatten script\u2019i devreye al\u0131p, partner SPF\u2019leri \u00e7ekip tek TXT\u2019e minimal ip6\/ip4 listesi yazd\u0131k, -all ile bitirdik. 1 saat i\u00e7inde bounce normalle\u015fti. Ders: SPF \u015fi\u015fkinliklerini grafikte takip et; include zincirini g\u00fcvenli bi\u00e7imde d\u00fczle.<\/p>\n<h3><span id=\"Vaka_3_AAAA_Acinca_Inbound_Davranisi_Degisti\">Vaka 3: AAAA A\u00e7\u0131nca Inbound Davran\u0131\u015f\u0131 De\u011fi\u015fti<\/span><\/h3>\n<p>Bu yaz\u0131n\u0131n oda\u011f\u0131 outbound, ama k\u00fc\u00e7\u00fck bir parantez: MX\u2019leriniz i\u00e7in AAAA yay\u0131mlad\u0131\u011f\u0131n\u0131zda baz\u0131 g\u00f6nderenler inbound i\u00e7in de IPv6 tercih eder. Firewall\u2019da 25\/tcp v6 yolunu a\u00e7may\u0131 unutmu\u015flard\u0131; e\u015fleme hatalar\u0131 ba\u015flad\u0131. Olay\u0131 netle\u015ftirince \u00e7\u00f6z\u00fcm basitti: G\u00fcvenlik grubuna 25 v6 a\u00e7\u0131ld\u0131, failover SMTP devreye al\u0131nd\u0131. Ders: AAAA yaymak bir bayrak kald\u0131rmakt\u0131r; inbound ak\u0131\u015f\u0131 da kontrol et.<\/p>\n<h3><span id=\"Vaka_4_RBLe_Hafifce_Dokunduk_Isinma_Plani_Yoktu\">Vaka 4: RBL\u2019e Hafif\u00e7e Dokunduk, Is\u0131nma Plan\u0131 Yoktu<\/span><\/h3>\n<p>Yeni bir \/64\u2019den outbound\u2019a ge\u00e7tik. \u0130lk g\u00fcn \u201cHadi y\u00fck\u00fc ta\u015f\u0131yal\u0131m\u201d diye abartt\u0131k. Spam oran\u0131 s\u0131f\u0131rd\u0131 ama hacim y\u00fcksekti. Bir RBL politikas\u0131 bizi kenara not etti; do\u011frudan kara de\u011fil, gri alana. Gmail yava\u015f, Microsoft temkinli; 4xx uzad\u0131. Plan: Concurrency\u2019i d\u00fc\u015f\u00fcrd\u00fck, domain baz\u0131nda da\u011f\u0131t\u0131m\u0131 par\u00e7alad\u0131k, g\u00fcnl\u00fck hacmi kademeli art\u0131rd\u0131k. 3 g\u00fcn i\u00e7inde itibar toparland\u0131. Ders: IPv6\u2019da \u0131s\u0131nma sadece spam\u2019c\u0131lara de\u011fil herkese laz\u0131m; hacim grafiklerini sab\u0131rla b\u00fcy\u00fct.<\/p>\n<h2 id=\"section-7\"><span id=\"Uctan_Uca_Akis_Kucuk_ama_Etkili_Runbook_Cumleleri\">U\u00e7tan Uca Ak\u0131\u015f: K\u00fc\u00e7\u00fck ama Etkili Runbook C\u00fcmleleri<\/span><\/h2>\n<h3><span id=\"Gonderim_Oncesi_Kontrol_5_Dakikalik_Yesil_Isik_Turu\">G\u00f6nderim \u00d6ncesi Kontrol: 5 Dakikal\u0131k \u201cYe\u015fil I\u015f\u0131k\u201d Turu<\/span><\/h3>\n<p>Yeni bir IPv6 ile outbound\u2019a \u00e7\u0131karken, kendime hep ayn\u0131 sorular\u0131 sorar\u0131m. PTR do\u011fru mu, FCrDNS tamam m\u0131, HELO sabit ve FQDN mi, SPF\u2019te ip6 a\u00e7\u0131k m\u0131, HELO alan\u0131 i\u00e7in SPF var m\u0131? MTA\u2019da TLS en az\u0131ndan \u201cmay\u201d modunda m\u0131, sertifika zinciri sa\u011flam m\u0131? Kuyruk grafikleri bo\u015f mu, hat\u0131rl\u0131 al\u0131c\u0131lar i\u00e7in IPv6 \u00fczerinden SMTP testleri ge\u00e7iyor mu? Bu turu otomatikle\u015ftirmek m\u00fcmk\u00fcn: \u201cdig -x\u201d, \u201cdig AAAA\u201d, \u201cswaks\u201d, \u201copenssl s_client\u201d ve RBL h\u0131zl\u0131 sorgu script\u2019i ile birka\u00e7 dakikada tabloyu g\u00f6r\u00fcrs\u00fcn\u00fcz. \u0130\u00e7erik taraf\u0131nda da kampanya ba\u015f\u0131 i\u00e7erik testlerini, k\u00fc\u00e7\u00fck bir seeding listesine tatl\u0131 bir rodaj g\u00f6nderimiyle do\u011frulamak ak\u0131ll\u0131ca.<\/p>\n<p>DNS ta\u015f\u0131malar\u0131nda ise ayr\u0131 bir dikkat gerek. Panel de\u011fi\u015ftirirken PTR ve TXT kay\u0131tlar\u0131n\u0131 atlamak kolay. Bu y\u00fczden <a href=\"https:\/\/www.dchost.com\/blog\/pleskten-cpanele-ve-tersi-kesintisiz-gecis-dns-e%e2%80%91posta-ve-ssl-icin-adim-adim-tasima-plani\/\" target=\"_blank\" rel=\"noopener\">DNS ve e\u2011posta\u2019y\u0131 kapsayan kesintisiz ta\u015f\u0131ma plan\u0131<\/a> gibi bir yol haritas\u0131n\u0131 elde tutmak, PTR ve SPF\u2019i g\u00f6zden ka\u00e7\u0131rman\u0131z\u0131 engeller. \u00c7o\u011fu kriz, bir g\u00f6\u00e7te unutulan k\u00fc\u00e7\u00fck bir DNS kayd\u0131n\u0131n bedelidir.<\/p>\n<p>RBL ve itibar konular\u0131nda takibi s\u00fcrd\u00fcrmek, delisting\u2019i ola\u011fan bir bak\u0131m i\u015fi gibi ele almak yerine, nedenini s\u00f6k\u00fcp atmakla ba\u015flar. IPv6\u2019da da ayn\u0131s\u0131. Gerekirse \u0131s\u0131nma plan\u0131n\u0131 g\u00fcncelleyin, geri bildirim d\u00f6ng\u00fclerini s\u0131kla\u015ft\u0131r\u0131n. MTA\u2011STS ve TLS\u2011RPT\u2019yi aktif tutun; al\u0131c\u0131lar\u0131n ne g\u00f6rd\u00fc\u011f\u00fcn\u00fc raporlardan \u00f6\u011frenmek, sorun \u00e7\u0131kmadan k\u00f6\u015fe d\u00f6nmektir.<\/p>\n<h2 id=\"section-8\"><span id=\"Kapanis_Geceyi_Kisaltan_Aliskanliklar\">Kapan\u0131\u015f: Geceyi K\u0131saltan Al\u0131\u015fkanl\u0131klar<\/span><\/h2>\n<p>IPv6 ile e\u2011posta teslim edilebilirli\u011fi, \u201czaten IPv4\u2019te \u00e7al\u0131\u015f\u0131yordu\u201d rahatl\u0131\u011f\u0131yla ge\u00e7i\u015ftirilecek bir konu de\u011fil. PTR ile HELO\u2019nun el s\u0131k\u0131\u015ft\u0131\u011f\u0131, SPF\u2019in ip6 ile yolu a\u00e7t\u0131\u011f\u0131 ve RBL\u2019lerin sayg\u0131 duydu\u011fu bir d\u00fczene ihtiyac\u0131n\u0131z var. Benim sahada \u00f6\u011frendi\u011fim, k\u00fc\u00e7\u00fck al\u0131\u015fkanl\u0131klar\u0131n krizi ba\u015flamadan bitirdi\u011fi. Reverse\u2019i IaC ile y\u00f6netin, HELO\u2019yu sabitleyin, SPF\u2019i sade ve \u00f6l\u00e7\u00fcl\u00fc tutun, \u0131s\u0131nmay\u0131 planlay\u0131n, metrikleri her g\u00fcn okuyun. K\u00fc\u00e7\u00fck CLI turlar\u0131, b\u00fcy\u00fck geceleri kurtar\u0131r.<\/p>\n<p>Operasyonel aksiyonlar\u0131 bir runbook\u2019ta toplay\u0131n: PTR\/FCrDNS do\u011frulama ad\u0131mlar\u0131, HELO\/SMTP testleri, SPF flatten script\u2019inin kullan\u0131m notlar\u0131, RBL h\u0131zl\u0131 kontrol komutlar\u0131, concurrency tuning rehberi ve rollback plan\u0131. Bir kriz sonras\u0131 post\u2011mortem\u2019i mutlaka yaz\u0131n; k\u00f6k nedeni yaln\u0131z b\u0131rakmay\u0131n, otomasyonla \u00f6n\u00fcne set \u00e7ekin. Ekip i\u00e7inde mentorluk edin; yeni arkada\u015f\u0131n\u0131za \u201cBu <em>dig -x<\/em> \u00e7\u0131kt\u0131lar\u0131n\u0131 her sabah bir bak, seni sevindirir\u201d c\u00fcmlesini hediye edin. Ve unutmay\u0131n, g\u00fcvenli g\u00f6nderim sadece i\u00e7erikten ibaret de\u011fil; kimli\u011finizi d\u00fczg\u00fcn tan\u0131tt\u0131\u011f\u0131n\u0131z, \u00f6l\u00e7t\u00fc\u011f\u00fcn\u00fcz ve sab\u0131rla \u0131s\u0131tt\u0131\u011f\u0131n\u0131z s\u00fcrece, IPv6 da tatl\u0131 tatl\u0131 akacakt\u0131r.<\/p>\n<p>Son bir not: SPF\/DMARC y\u00f6nlendirme senaryolar\u0131, MTA\u2011STS\/TLS\u2011RPT ve itibar onar\u0131m\u0131 gibi yan ba\u015fl\u0131klar, bu rehberin do\u011fal uzant\u0131lar\u0131. Dilerseniz <a href=\"https:\/\/www.dchost.com\/blog\/e%e2%80%91postada-mta%e2%80%91sts-tls%e2%80%91rpt-ve-dane-teslim-edilebilirligi-nasil-tatli-tatli-yukseltirsin\/\" target=\"_blank\" rel=\"noopener\">TLS ve MTA\u2011STS ile teslim edilebilirli\u011fi y\u00fckseltme<\/a>, <a href=\"https:\/\/www.dchost.com\/blog\/e%e2%80%91posta-yonlendirmede-spf-dmarc-neden-kiriliyor-srs-ve-arc-ile-nasil-tatli-tatli-onarirsin\/\" target=\"_blank\" rel=\"noopener\">SRS\/ARC ile SPF\/DMARC onarma<\/a> ve <a href=\"https:\/\/www.dchost.com\/blog\/e-posta-itibarini-kurtarma-rehberi-blacklist-delisting-postmaster-araclari-ve-guvenli-ip-isitma-nasil-kurtarici-olur\/\" target=\"_blank\" rel=\"noopener\">itibar kurtarma ve delisting<\/a> yaz\u0131lar\u0131yla resmi tamamlayabilirsiniz. Par\u00e7alar\u0131 birle\u015ftirince, geceniz k\u0131sa, e\u2011postalar\u0131n\u0131z uzun \u00f6m\u00fcrl\u00fc olur.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Giri\u015f: Gece Yar\u0131s\u0131 A\u00e7\u0131lan Kuyruklar Ne Anlat\u0131r?2 HELO ve PTR: IPv6\u2019ta \u0130simlerin Dans\u0131 Ne Zaman Tutuluyor?2.1 FCrDNS: \u00dc\u00e7l\u00fc Tokala\u015fma Neden H\u00e2l\u00e2 Alt\u0131n Kural?2.2 ip6.arpa Nibble Zonu: \u0130lk Kez Yazarken Ter D\u00f6kt\u00fcren Format3 SPF: ip6: ile \u0130zin Ver, HELO Alan\u0131n\u0131 da Unutma3.1 SPF\u2019in IPv6 Taraf\u0131: ip6: ve Lookup S\u0131n\u0131rlar\u0131n\u0131 Nazik\u00e7e Y\u00f6netmek3.2 HELO SPF: Bo\u015f MAIL [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2071,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-2031","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/2031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=2031"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/2031\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/2071"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=2031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=2031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=2031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}