Hizmetler Hosting & Sunucu Araçlar Blog Ara Kurumsal EnglishEN
Teklif Alın

Neden E-posta Formatını Doğrulamak Gerekir?

Bir web sitesindeki iletişim formu, üyelik ekranı veya e-bülten kaydı, kullanıcıdan e-posta adresi ister. Bu adres yanlış yazılmışsa -örneğin bir harf eksikse ya da @ işareti unutulmuşsa- gönderilen doğrulama e-postası, sipariş bilgisi veya şifre sıfırlama bağlantısı hiçbir zaman ulaşmaz. Kullanıcı da genellikle bunun farkına varmaz, çünkü form "başarılı" mesajı göstermiştir. Bu yüzden veriyi kaydetmeden önce e-posta adresinin en azından sözdizimsel olarak geçerli olup olmadığını kontrol etmek, formların ve kayıt akışlarının temel bir parçasıdır.

Bu kontrol yalnızca son kullanıcıya yönelik formlarla sınırlı değildir. Bir e-bülten listesi veya müşteri veri tabanı zamanla dışa aktarılan dosyalardan, eski sistemlerden ya da manuel girişlerden biriken kayıtlarla dolar. Bu listeyi toplu bir e-posta gönderimi öncesinde gözden geçirmek, en azından format açısından bozuk olan adresleri ayıklamak için kullanışlı bir ilk adımdır -tabii bunun mailbox doğrulamasının yerini tutmadığını akılda tutarak.

RFC 5322 Nedir?

RFC 5322, İnternet mesajlarının (e-posta dahil) biçimini tanımlayan resmi standart belgedir. Bir e-posta adresinin hangi karakterleri içerebileceğini, yerel kısım ile domain kısmının nasıl ayrılacağını ve hangi durumların geçersiz sayılacağını tarif eder. Ancak tam RFC 5322 grameri son derece karmaşıktır; tırnaklı yerel kısımlar ("john doe"@example.com gibi), yorum blokları ve daha birçok nadir kullanılan istisna içerir. Bu yüzden neredeyse tüm gerçek dünya uygulamaları -form doğrulayıcılar, e-posta istemcileri, backend kütüphaneleri- tam grameri değil, pratikte işe yarayan basitleştirilmiş bir alt kümesini uygular.

Geçerli Bir E-posta Adresinin Sözdizim Kuralları

Pratikte kullanılan basitleştirilmiş kural setinde, bir adresin geçerli sayılması için aşağıdaki koşulların tümünü sağlaması gerekir:

  • Adreste tam olarak bir tane @ işareti bulunmalı; hiç olmaması ya da birden fazla olması geçersizdir.
  • Yerel kısım (@ işaretinden önceki bölüm) 64 karakteri geçmemelidir.
  • Domain kısmı (@ işaretinden sonraki bölüm) en az bir nokta içermelidir (ör. .com, .net) ve 255 karakteri geçmemelidir.
  • Adres içinde art arda iki nokta (..) bulunmamalıdır.
  • Adres, yerel kısmın veya domain kısmının başında ya da sonunda nokta ile başlayıp bitmemelidir.
  • Adres yalnızca izin verilen karakter kümesini içermelidir; harf, rakam ve belirli özel karakterler (. ! # $ % & ' * + / = ? ^ _ ` { | } ~ -) dışındaki karakterler geçersiz sayılır.

Bu kurallar bir regex (düzenli ifade) ile pratik şekilde uygulanabilir. Böyle bir kontrol, kullanıcının @ unutması, iki nokta üst üste yazması veya alan adı kısmını boş bırakması gibi en yaygın hataları anında yakalar.

Örneklerle Geçerli ve Geçersiz Adresler

AdresSonuçNeden
ad.soyad@sirket.com.trGeçerliTüm sözdizim kurallarını sağlıyor
adsoyadsirket.comGeçersiz@ işareti yok
ad@sirket@sirket.comGeçersizBirden fazla @ işareti var
ad..soyad@sirket.comGeçersizArt arda iki nokta içeriyor
.adsoyad@sirket.comGeçersizNokta ile başlıyor
ad@sirketGeçersizDomain kısmında nokta yok

Format Doğru Olması, Posta Kutusunun Var Olduğu Anlamına Gelmez

Burada karıştırılmaması gereken önemli bir ayrım var: sözdizimsel doğrulama yalnızca adresin yazım kurallarına uyup uymadığını kontrol eder. Adresin gerçekten var olduğunu, aktif olduğunu veya mesaj alabildiğini göstermez. var-olmayan-biri@gercek-bir-domain.com yazımı kurallarına tamamen uygun olsa da, o kutu hiç var olmayabilir. Bir adresin gerçekten çalışıp çalışmadığını doğrulamanın tek güvenilir yolu, o adrese bir doğrulama e-postası göndermek ve kullanıcının bağlantıya tıklamasını beklemektir. Format kontrolü bunun yerine geçmez; sadece formların önündeki en yaygın ve en ucuza önlenebilir hataları eler.

En Yaygın Yazım Hataları: Tek Harflik Domain Kaymaları

Kullanıcıların e-posta girerken yaptığı hataların büyük kısmı, aslında sözdizimi açısından geçerli ama yanlış bir domain'e yazmaktan kaynaklanır. gmail.com yerine gmial.com, hotmail.com yerine hotmial.com yazmak gibi tek harflik kaymalar hem sık görülür hem de fark edilmesi zordur, çünkü form bu adresleri sözdizimsel olarak geçerli kabul eder. Bu tür hataları yakalamanın pratik bir yolu, girilen domain'i bilinen büyük sağlayıcı domain'leriyle (gmail.com, yahoo.com, hotmail.com, outlook.com, icloud.com, yandex.com gibi) karşılaştırıp yakın bir eşleşme bulunduğunda kullanıcıya "şunu mu demek istediniz" şeklinde bir öneri sunmaktır.

Doğrulama Sırasında Gizlilik

Sözdizimsel bir e-posta doğrulayıcı, yalnızca girilen metni kurallara göre analiz eder; adrese herhangi bir sorgu göndermez, mail sunucusuyla iletişime geçmez. Bu, kullanıcı henüz formu göndermeden önce anlık geri bildirim vermek için güvenli ve hızlı bir yöntemdir. Gerçek posta kutusu doğrulaması (mailbox verifikasyonu) ayrı bir konudur ve genellikle e-posta gönderim altyapısının kendisi tarafından, doğrulama bağlantısına tıklama akışıyla yapılır.

Bu ayrım özellikle formu tasarlayan geliştiriciler için önemlidir: sözdizim kontrolünü istemci tarafında (kullanıcı yazarken) yapmak, sunucuya gereksiz istek göndermeden anında geri bildirim sağlar. Sunucu tarafında ise aynı kontrolün tekrar yapılması gerekir, çünkü istemci tarafındaki doğrulama tarayıcı geliştirici araçlarından kolayca atlatılabilir. İki katmanlı bu yaklaşım -hızlı istemci tarafı geri bildirimi ve zorunlu sunucu tarafı kontrolü- hem kullanıcı deneyimini hem de veri bütünlüğünü korur.

Pratikte Nasıl Kontrol Edilir

Bir formda veya veri setinde e-posta adreslerini elle kontrol etmek zaman kaybıdır ve göz hatalarına açıktır. Tek bir adresi hızlıca kontrol etmek, hangi kuralın ihlal edildiğini (uzunluk, nokta hatası, eksik @ vb.) görmek ve olası bir yazım hatası için öneri almak isteyen biri için basit bir doğrulama aracı en pratik çözümdür.

Bilgi
Araç yalnızca tarayıcınızda çalışır; girdiğiniz adres hiçbir sunucuya gönderilmez ve posta kutusunun gerçekten var olup olmadığını test etmez, yalnızca formatı kontrol eder.
WhatsApp