Tek kullanımlık, yanlış yazılmış ve posta sunucusu olmayan kayıt e-postalarını yakalayın
Kayıt formunuza her adres için erken bir kontrol kazandırın: sözdizimi, bilinen tek kullanımlık/geçici alan adları, alan adının bir posta sunucusu olup olmadığı, olası yazım hataları ve rol adresleri — gerekçeleriyle birlikte accept, review veya reject kararı olarak döner. POST /v1/email/validate uç noktasını formunuzun kendi JavaScript'inden çağırın ya da listeleri arka ucunuzdan veya kontrol panelinden toplu olarak kontrol edin.
İstek ve kimlik doğrulama
X-Api-Key başlığında origin'e kilitli yayınlanabilir bir anahtarla POST /v1/email/validate uç noktasına { "email": "user@example.com" } biçiminde bir JSON gövdesi gönderin — GET /v1/geo ile aynı anahtar türü ve izin verilen origin modeli; bu sayede ziyaretçi yazarken veya formu gönderirken doğrudan kayıt formundan güvenle çağrılabilir. Sunucu tarafında gizli anahtarınız POST /v1/email/batch'i (istek başına en fazla 100 adres), 100.000 adrese kadar eşzamansız liste işlerini (API veya kontrol panelindeki Email lists sayfası; CSV girişi ve CSV çıkışı) ve e-posta kontrolünü kaydolan IP'nin ağ göstergeleriyle tek bir puanda birleştiren POST /v1/signup/check'i kullanılabilir kılar.
Önce kararı, sonra gerekçeleri okuyun
verdict en ağır sonuçtur: geçersiz sözdizimi, var olmayan bir alan adı, posta sunucusu olmayan bir alan adı veya tek kullanımlık bir alan adı için reject; şüpheli bir yazım hatası, info@ gibi bir rol adresi, yalnızca örtük posta sunucusu olan bir alan adı veya tamamlanamayan bir DNS sorgusu için review; aksi halde accept. reasons karşılanan her koşulu listeler, böylece formunuz belirli bir mesaj gösterebilir — didYouMean doluysa hata yerine düzeltmeyi önerin.
Ne zaman çağrılmalı
Her tuş vuruşunda değil, alandan çıkıldığında veya gönderimde çağırın — henüz tamamlanmamış bir adresi her karakterde kontrol etmek, yararlı bir sinyal eklemeden istek sayısını artırır ve ziyaretçi hâlâ yazarken bir hata mesajının yanıp sönmesine yol açabilir. Her çağrı bir istek sayılır.
İstek başarısız olursa
Açık başarısızlık ilkesini uygulayın: ağ isteği hata verirse veya zaman aşımına uğrarsa, istemci tarafındaki bir kesinti yüzünden her ziyaretçiyi engellemek yerine kaydın devam etmesine izin verin. Sunucu tarafında başarısız bir DNS sorgusu asla hata veya reject olarak değil, dns_unavailable gerekçesiyle (review kararı) raporlanır. Başarısız bir kontrolün ziyaretçiye girdisini kaybettirmemesi için yazdıklarını koruyun.
Tek kullanımlık alan adları nasıl tespit edilir
Bilinen tek kullanımlık/geçici alan adları, topluluk tarafından sürdürülen üç açık kaynaklı listeden (veri kaynaklarına bakın) birleştirilir, birkaç saatte bir yenilenir ve hatalı bir kaynak girdisinin büyük bir sağlayıcıyı asla işaretleyememesi için bir izin listesiyle desteklenir. Listelenen bir alan adının alt alan adları da eşleşir. Henüz hiçbir listede yer almayan yeni tek kullanımlık alan adları çoğunlukla posta sunucuları üzerinden yakalanır: tek kullanımlık hizmetler birçok alan adını aynı birkaç posta ana makinesine yönlendirir ve posta sunucusunun listelenen alan adlarına hizmet verdiği bilinen bir alan adı disposableSource: mx_host ile işaretlenir. Yeni bir posta sunucusundaki çok yeni bir sağlayıcı yine de işaretlenmeyebilir.
Kullanım ve kota
Kontrol edilen her adres, planınızın paylaşılan aylık kotasından bir istek olarak düşülür — tekli kontrol, toplu istekteki her adres, liste işindeki farklı her adres — diğer trafiğinizle birlikte ve aynı dakika başına hız sınırıyla. Ayrı bir e-posta planı veya fiyatı yoktur. Dakika başına hız sınırı öğeleri değil HTTP çağrılarını sayar: en fazla 100 IP veya e-posta adresi içeren bir toplu istek tek bir istek sayılır; her öğe ise aylık istek kotasına yine ayrı ayrı sayılır.
Bunun doğrulamadığı şeyler
Her kontrol alan adı veya adres düzeyindedir. Watch-IP alıcının posta sunucusuyla asla iletişim kurmaz, bu nedenle bir sonuç posta kutusunun var olduğunu, postanın oraya ulaşacağını veya kaydolan kişiye ait olduğunu kanıtlamaz. accept kararı, çalıştığı doğrulanmış bir adres değil, “sorun bulunamadı” anlamına gelir — bunun için bir onay e-postası kullanın.
Yanıt alanları
- syntaxValid
- Adresin sözdizimi açısından geçerli olup olmadığı.
- isDisposable
- Alan adının bilinen bir tek kullanımlık/geçici sağlayıcıyla doğrudan, bir üst alan adı üzerinden veya posta sunucusu üzerinden eşleşip eşleşmediği. syntaxValid false olduğunda her zaman false.
- disposableSource
- list, parent_domain veya mx_host — isDisposable'ın neden true olduğu; aksi halde null.
- mx
- Alan adının posta sunucusu durumu (found, implicit, none, null_mx, no_domain veya unknown) ve birincil MX ana makinesi.
- didYouMean
- gmial.com → gmail.com gibi olası bir yazım hatası düzeltmesi veya null.
- isRoleAccount / isFreeProvider
- Rol adresi (admin@, info@, noreply@…) ve bireysel posta kutusu sağlayıcısı işaretleri. Ücretsiz sağlayıcı yalnızca bilgi amaçlıdır.
- normalizedEmail / canonicalEmail
- Küçük harfe çevrilmiş adres ve yinelenen hesapları fark etmek için +etiketler (ve Gmail noktaları) çıkarılmış hâli.
- verdict / reasons
- accept, review veya reject ile karşılanan her gerekçe kodu — tam liste için referansa bakın.
Karara göre hareket edin
Kayıt formu JavaScript
async function checkEmail(email) {
const response = await fetch('https://api.watch-ip.com/v1/email/validate', {
method: 'POST',
headers: { 'X-Api-Key': 'YOUR_PUBLISHABLE_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({ email }),
});
if (!response.ok) return { state: 'unknown' }; // açık başarısızlık — ağ hatası yüzünden kaydı engellemeyin
const result = await response.json();
if (result.didYouMean) return { state: 'suggest', suggestion: result.didYouMean };
if (result.verdict === 'reject') return { state: 'reject', reasons: result.reasons };
return { state: 'ok' }; // accept veya review: kaydı geçirin ve arka ucunuzda işaretleyin
}Her gerekçe için ayrı bir mesaj gösterin — invalid_syntax, disposable_domain ve no_mail_server ziyaretçiden farklı düzeltici işlemler gerektirir — ve didYouMean'i tek tıklamalı düzeltme olarak sunun.
Sık sorulan sorular
Posta kutusunun var olduğunu doğruluyor mu?
Hayır. Sözdizimini, alan adının listelerini ve DNS posta sunucusu kayıtlarını ve adresin yapısını kontrol eder. Posta sunucusuyla asla iletişim kurmaz veya tek tek posta kutusunun gerçek olduğunu doğrulamaz — no_mail_server nedeniyle verilen reject kararı alan adının tamamıyla ilgilidir.
accept, e-postanın çalıştığının kanıtı mıdır?
Hayır. accept, kontrollerin hiçbirinin sorun bulmadığı anlamına gelir; adresin kesinlikle posta alacağı veya kaydolan kişiye ait olduğu anlamına gelmez. Buna ihtiyacınız olduğunda bir onay e-postası kullanın.
Kullanıcılar tarayıcı doğrulamasını atlayabilir mi?
Evet. Bu dahil, tarayıcı tarafındaki her kontrol JavaScript devre dışı bırakılarak veya kayıt uç noktanız doğrudan çağrılarak atlatılabilir. Önemli olan her kararı arka ucunuzda uygulayın — POST /v1/signup/check tam da bunun için tasarlandı.
Mevcut bir listeyi temizleyebilir miyim?
Evet. Kontrol panelindeki Email lists sayfasına bir CSV yükleyin veya gizli anahtarınızla POST /v1/email/jobs uç noktasına 100.000'e kadar adres gönderin, ardından her satır için karar ve gerekçeleri içeren bir sonuç CSV'si indirin. Yinelenen adresler bir kez ücretlendirilir; yüklemeler ve sonuçlar 7 gün sonra silinir.
İstekler nasıl sayılır?
Kontrol edilen adres başına bir istek; planınızın paylaşılan aylık kotasından düşülür. Bir liste işindeki yinelenen adresler bir kez sayılır; bir kayıt kontrolü bir istek sayılır.
İlgili sayfalar
- E-posta kontrolü API referansıTekli, toplu, liste işi ve kayıt kontrolü e-posta uç noktaları için alanlar, kararlar ve gerekçe kodları.
- Kayıt kötüye kullanımı önlemeE-posta ve IP sinyallerini bir kayıt kararında birleştirin: kabul, inceleme veya ret.
- Ziyaretçi konum tespitiYayınlanabilir bir anahtarla tarayıcıdan GET /v1/geo'yu çağırın.
- Tek kullanımlık e-posta ile doğrulamaBir tek kullanımlık alan adı kontrolünün neden posta kutusu veya teslim edilebilirlik doğrulaması olmadığı.