Bir e-posta kampanyası gönderdiğinizde, her mesajın hedef gelen kutusuna ulaşıp ulaşmadığını nereden biliyorsunuz? Mail kuyruğu (message queue) sisteminde takılı kalan, geri dönen ya da sessizce kaybolan e-postalar; hem itibarınızı hem de müşteri ilişkilerinizi ciddi biçimde zedeler. Bu yazıda, teslim edilemeyen e-postaları izlemenin teknik temellerini, pratik araçlarını ve Türk mevzuatı çerçevesinde dikkat edilmesi gereken noktaları ele alıyoruz.
Bir e-posta gönderildiğinde, SMTP sunucusu (Simple Mail Transfer Protocol — RFC 5321) mesajı doğrudan alıcının gelen kutusuna iletmez. Önce yerel bir kuyruğa alır; ardından alıcı sunucuya bağlanmayı dener. Bu süreç milisaniyeler içinde tamamlanabileceği gibi, sunucu yoğunluğuna ya da ağ sorunlarına bağlı olarak dakikalar hatta saatler sürebilir.
Kuyruk yönetimi; toplu e-posta göndericileri, kurumsal şirketler ve e-posta pazarlama platformları için kritik bir operasyonel süreçtir. Yönetilmeyen kuyruklar şu sorunlara yol açar:
E-posta teslim hataları iki ana kategoriye ayrılır. Bu ayrımı anlamak, kuyruk yönetimi stratejinizin temelini oluşturur.
| Tür | SMTP Durum Kodu (RFC 3463) | Örnek Sebep | Önerilen Aksiyon |
|---|---|---|---|
| Hard Bounce | 5xx (kalıcı hata) | Adres mevcut değil (550), domain yok (550 5.1.2) | Listeyi derhal temizle; adresi bir daha deneme |
| Soft Bounce | 4xx (geçici hata) | Posta kutusu dolu (452), sunucu meşgul (421) | Exponential back-off ile yeniden dene (RFC 5321 §4.5.4.1) |
| Blok / Reddedilen | 5xx (politika reddi) | IP kara listede (550 5.7.1), içerik filtresi (550 5.7.0) | IP itibarını kontrol et; içerik ve kimlik doğrulamayı gözden geçir |
| DSN Gecikmesi | — | Alıcı sunucu geçici olarak ulaşılamaz | Max-retry süresini (genellikle 4-5 gün) belirle; süre aşımında NDR gönder |
RFC 3463, SMTP durum kodlarının genişletilmiş söz dizimini tanımlar. "5.1.1" kodu "bilinmeyen kullanıcı" anlamına gelirken "4.2.2" "posta kutusu dolu" demektir. Popüler açık kaynak MTA (Mail Transfer Agent) yazılımları bu kodları otomatik olarak log'a kaydeder.
Postfix, Linux sunucularda en yaygın kullanılan MTA'lardan biridir. Kuyruk durumunu görmek için aşağıdaki komutlar kullanılır:
mailq veya postqueue -p: Bekleyen mesajları listeler.postsuper -d ALL: Tüm kuyruk içeriğini siler (dikkatli kullanın).postcat -q <queue_id>: Belirli bir mesajın içeriğini gösterir.Postfix'in /var/log/mail.log (Debian/Ubuntu) veya /var/log/maillog (RHEL/CentOS) dosyası, her teslim denemesinin zaman damgasını, SMTP yanıt kodunu ve gönderici/alıcı bilgisini kaydeder. Bu log'ların düzenli olarak ayrıştırılması (parsing), teslim sorunlarını erken tespit etmenin en güvenilir yoludur.
Exim, cPanel barındırma ortamlarında yaygın olarak kullanılır. Temel komutlar:
exim -bp: Kuyrukta bekleyen mesajları gösterir.exim -Mvh <message_id>: Mesaj başlıklarını görüntüler.exiqsumm: Kuyruk özetini (alıcı domain bazında) gösterir.RFC 3461 ve RFC 3464 ile standartlaştırılan DSN, alıcı sunucunun gönderene teslim durumu bildirimi (başarı, gecikme veya başarısızlık) göndermesini tanımlar. DSN mesajları, "multipart/report" MIME türünde gelir ve üç bölümden oluşur: insan tarafından okunabilir açıklama, makine tarafından okunabilir durum raporu ve orijinal mesaj başlıkları. Modern e-posta pazarlama platformları bu bildirimleri otomatik olarak işler ve bounce listelerini günceller.
Amazon SES, SendGrid, Mailgun ve benzeri bulut tabanlı SMTP servisleri, her teslim olayı için webhook (HTTP callback) gönderir. Bu webhook'lar aracılığıyla bounce, complaint (şikayet) ve delivery (teslim) olayları anlık olarak uygulamanıza iletilebilir. Amazon SES, bounce ve complaint bildirimlerini SNS (Simple Notification Service) üzerinden iletir; bu olayların işlenmesi AWS'nin kendi dokümantasyonunda detaylı biçimde anlatılmaktadır.
Sektörde genel kabul görmüş eşik değerlerine göre hard bounce oranının %2'nin altında tutulması tavsiye edilir; ancak bu değer gönderici geçmişine ve ISP politikalarına göre farklılık gösterir. Google ve Yahoo, 2024 yılı başından itibaren toplu gönderim yapan hesaplar için spam complaint oranının %0,10'un altında tutulması, SPF/DKIM/DMARC kayıtlarının eksiksiz yapılandırılması ve kolay abonelik iptali (one-click unsubscribe, RFC 8058) gibi zorunluluklar getirmiştir.
DMARC (Domain-based Message Authentication, Reporting and Conformance — RFC 7489), domain sahteciliğine (spoofing) karşı koruma sağlamanın yanı sıra toplu raporlar üretir. Bu raporlar, hangi IP'lerin sizin adınıza mail gönderdiğini ve kimlik doğrulama başarı oranlarını gösterir; böylece kuyruk izlemeyi tamamlayan bir denetim katmanı oluşturur.
Türkiye'de e-posta pazarlaması iki temel yasal düzenlemeye tabidir:
BTK'nın (Bilgi Teknolojileri ve İletişim Kurumu) İleti Yönetim Sistemi (İYS — iys.org.tr) üzerinden onay kayıtlarının tutulması gerekmektedir. İYS API'si aracılığıyla abonelik durumları senkronize edilebilir; hard bounce alan adreslerin İYS'den de çıkarılması iyi uygulama olarak kabul edilir.
Aşağıdaki adımlar, hem küçük ölçekli bir Postfix kurulumu hem de bulut SMTP servisi kullananlar için geçerli temel bir bounce yönetim döngüsü oluşturur:
mail.log dosyasını veya SMTP servisinin webhook/API çıktısını merkezi bir log yönetim sistemine (örn. Elasticsearch, Graylog) aktar.Hard bounce, adresin kalıcı olarak mevcut olmadığını belirten 5xx SMTP hata kodlarına karşılık gelir (örn. 550 "No such user"). Soft bounce ise geçici sorunları ifade eden 4xx kodlarıdır (örn. 452 "Mailbox full"). Hard bounce alan adreslerin listeden çıkarılması zorunluyken, soft bounce alanlar belirli bir süre yeniden denenebilir.
Öncelikle listenizin kalitesini gözden geçirin: double opt-in (çift onay) uyguluyor musunuz, listeniz ne kadar süredir güncellendi? Ardından tüm hard bounce adreslerini listeden çıkarın. E-posta kimlik doğrulama kayıtlarınızı (SPF, DKIM, DMARC) kontrol edin ve IP itibarınızı Spamhaus, MXToolbox gibi araçlarla değerlendirin.
Alıcı sunucunun geçici olarak ulaşılamaz olması (ağ sorunu, aşırı yük), alıcı domain'in MX kaydının çözümlenememesi veya Postfix'in konfigürasyonundaki retry (yeniden deneme) aralıkları temel nedenlerdir. postqueue -p komutu ile kuyruk içeriğini, mail.log ile de hata mesajlarını inceleyebilirsiniz.
DSN (Delivery Status Notification), RFC 3461 ve RFC 3464 ile tanımlanmış bir standarttır. Alıcı sunucu, mesajın teslim durumunu (başarılı, gecikmeli veya başarısız) gönderene otomatik olarak bildirir. Bu bildirimler "multipart/report" MIME formatında gelir ve teslim sorunlarını programatik olarak işlemenizi sağlar.
6698 sayılı KVKK'nın veri minimizasyonu ilkesi uyarınca, artık geçerli olmayan ve iletişim amacına hizmet etmeyen adresler tutulmamalıdır. Ancak yasal yükümlülüklerinizi (örn. bir şikayet durumunda ispat yükümlülüğü) karşılamak amacıyla suppression list biçiminde sınırlı süreyle saklayabilirsiniz. Hukuki danışman görüşü almanız tavsiye edilir.
İYS, 6563 sayılı ETK kapsamında ticari ileti onaylarının kayıt altına alındığı resmi platformdur. Hard bounce alan, dolayısıyla mevcut olmadığı doğrulanan e-posta adreslerini İYS kaydından da çıkarmanız; gereksiz onay kaydı tutulmasını ve olası uyumsuzlukları önler.
Evet. Eksik ya da hatalı SPF/DKIM/DMARC yapılandırması, alıcı sunucuların mesajları reddetmesine veya spam olarak işaretlemesine neden olur; bu durum bounce ve şikayet oranlarını artırır. Google ve Yahoo'nun 2024'te güncellenen toplu gönderici politikası, bu kayıtların eksiksiz olmasını zorunlu kılmaktadır.
Soft bounce alan bir mesaj için yeniden deneme aralıklarının kademeli olarak artırılması yöntemidir. Örneğin ilk denemede 5 dakika, ikincisinde 10 dakika, üçüncüsünde 20 dakika beklenebilir. RFC 5321 §4.5.4.1 bu yaklaşımı önerir; aşırı yüklenmiş sunuculara anlık baskı yapmaktan kaçınılmış olur.
Amazon SES, Mailgun ve SendGrid gibi servisler hard bounce alan adresleri kendi suppression listelerine ekler ve o adrese tekrar gönderimi engeller. Ancak bu listeleri kendi veritabanınızla senkronize etmek ve kampanyalarınızdan önce çakıştırma yapmak sizin sorumluluğunuzdadır. Servislerin sağladığı webhook veya SNS bildirimleri bu senkronizasyonu kolaylaştırır.
Temel metrikler şunlardır: hard bounce oranı (gönderilen mesaj başına), soft bounce oranı, toplam teslim oranı (delivery rate), şikayet (complaint) oranı ve suppression listesinin büyüme hızı. Bu metriklerin haftalık veya kampanya bazında raporlanması, liste hijyenini (temizliğini) korumak için gereklidir.
Reklamsız, KVKK uyumlu; kurulum ve geçiş ücretsiz, mailleri biz taşırız.