Yıllardır kullanıcı kaydı, parola sıfırlama, WooCommerce sipariş bildirimleri ve “bu adres neden geri dönüyor” araştırmalarını yazıyor, ayıklıyor, izliyorum. WordPress’te e-posta doğrulaması, siz canınızı yakana kadar fark etmediğiniz şeylerden biridir. Kural hep sessizce şuydu: yalnızca ASCII; aksi takdirde is_email() size hayır der ve geri kalan yığın da aynı şeyi söyler.

Bu kural nihayet kımıldıyor. Pazarlama yazısında değil, yol haritası slaydında değil; çekirdek trunk dalında, gerçek bir değişiklik kaydı, gerçek bir yeni sınıf ve gerçek bir test çağrısıyla. Çok dilli bir mağaza, A–Z aralığına sığmayan isimlere sahip kullanıcılar için bir üyelik sitesi ya da kullanıcı verisine dokunan herhangi bir eklenti işletiyorsanız, bu WordPress 7.1 yayınlanmadan önce dikkatle okumak isteyeceğiniz türden bir altyapı değişikliği.

Çerçeve de önemli. WordPress bu yıl yirmi üç yaşında ve sıkıcı, yavaş yanan yükseltmeler — kalıcı bağlantılar, yönlendirmeler, revizyonlar, yönetişim ve şimdi e-posta alanında Unicode — açık webi hâlâ ayakta tutan şey. Bu yükseltme de tam olarak o sınıftan.

Asıl yeni olan ne

10 Haziran 2026’da Dennis Snell, Make WordPress Core üzerinde duyurdu: Unicode e-posta adresi desteğinin ilk aşaması, uzun süredir açık olan #31992 numaralı kayda karşılık, [62482] numaralı değişiklikle trunk dalına alındı. Yazının başlığı “Call for Testing: Unicode email addresses” ve yazı tam olarak bunu istiyor: WordPress 7.1’den önce yeni davranışı zorlayın.

Birlikte gelen üç somut değişiklik var:

  • is_email() ve sanitize_email() artık grå@grå.org gibi ASCII dışı adresleri kabul ediyor; davranışları WHATWG e-posta şartnamesine hizalandı.
  • Yeni bir sınıf, WP_Email_Address, bir e-posta adresine yapısal bir bakış sağlıyor — yerel kısım, alan adı kısmı, Punycode çözümü — böylece eklenti kodunuz düzenli ifadelerle tahmin yürütmeyi bırakabilir. WP_Email_Address::from_string() üretici metodu, get_ascii_address() ve get_unicode_address() yardımcılarına sahip bir nesne döndürüyor.
  • İki yeni süzgeç, wp_is_unicode_email ve wp_sanitize_unicode_email, eski ASCII-yalnızca davranışını koruması gereken bir sitenin yeni mantığı kısa devre yaptırmasına izin veriyor.

Tek katı ön koşul: Unicode e-posta desteği, site veritabanı karakter setinin utf8mb4 olmasını gerektiriyor. Bu yıllardır WordPress varsayılanı, ancak 2010’ların başından devralınan kurulumlar hâlâ utf8 veya daha kötüsünde olabilir. Veritabanınız utf8mb4 değilse, yeni kod yoldan çekiliyor.

Bu birden bire gelmiyor. Mayıs ayında agulbra, özgün öneriyi Make Core’da yayımladı; RFC 6530’u standartlaşma şemsiyesi olarak gösterdi ve büyük sağlayıcıların UTF-8 adreslerini yıllardır fiilî bir norm olarak ele aldığını belirtti. Haziran birleştirmesi, o önerinin daha dar, ihtiyatlı bir dilimi: kullanıcı hesapları için e-posta adresleri; kullanıcı adları değil, kalıcı bağlantı parçaları değil, antispambot() değil. Onlar sonraya kaldı. Haziran 2026 geliştirici bülteni de daha geniş öneriyi “geri bildirim aşamasında” olarak işaretledi — dolayısıyla planınızı fiilen birleştirilen şey üzerine kurun, dilek listesinin tamamı üzerine değil.

WordPress ve WooCommerce insanları için neden önemli

Yalnızca İngilizce konuşan müşterilere İngilizce tanıtım siteleri kuruyorsanız, bunu bir yıl boyunca aklınızdan çıkarabilirsiniz. Geri kalan herkes için — ki ciddi WordPress ve WooCommerce işlerinin büyük çoğunluğu burada — e-posta alanı kullanıcı kaydının, sipariş kaydının, aboneliğin, faturanın, parola sıfırlamanın ve her işlem bildiriminin omurgasıdır. Kod tabanınız bir kapıda is_email() çağırıyorsa, o kapı az sonra daha fazla trafiği içeri almaya başlayacak.

En sert düştüğü yerler şunlar:

  • Özel kayıt akışları. Kendi kaydolma formunuzu yazdıysanız ve doğrulama için is_email()‘ı yeniden kullandıysanız, daha önce reddettiğiniz adresleri kabul etmeye başlayacaksınız. Tasarım niyeti budur. Sonraki tüketicilerinizin — CRM’inizin, e-posta gönderim sağlayıcınızın, faturalama servisinizin — gerçekten kabul ettiğinden emin olun. Çoğu kabul etmiyor.
  • WooCommerce ödeme akışı ve müşteri kayıtları. Fatura e-postası Woo’da müşteri kimliğidir. Çekirdek bir kez müşteri@şirket.tr adresini kabul ettiğinde, asıl soru Stripe, PayPal, vergi motorunuz ve fatura PDF kütüphanenizin bundan sağ çıkıp çıkmayacağıdır. Sadece form gönderimini değil, boru hattının tamamını test edin.
  • Günlükler ve arama. Bir yerde “e-posta”yı düz metin olarak bir dosyaya veya üçüncü taraf hizmete yazıyorsanız, az sonra o hedefe ASCII dışı yazmaya başlayacaksınız. Günlük taşıyıcınızın, hata izleyicinizin ve destek gelen kutusu araçlarınızın Unicode’u doğru gösterdiğini doğrulayın. Bu, kişisel olarak daha önce yandığım bir nokta.
  • Eklenti yazarları. E-postaları düzenli ifadeyle ayrıştırmayı bırakın. WP_Email_Address::from_string() artık güvenli temel araçtır. get_ascii_address() yardımcısı, SMTP zarfında Unicode’u gerçekten kaldıramayan eski sistemler için kaçış kapınızdır.

Barındırma ve DevOps ekipleri için bir not: Unicode e-postanın asıl ilginçleştiği katman SMTP’nin kendisi. Unicode yerel kısma sahip bir adrese e-posta göndermek, uçtan uca SMTPUTF8 desteği gerektirir. Birçok işlem sağlayıcısı bu desteğe sahip, birkaçı değil, bazıları ise alan adı başına açıkça etkinleştirilmesini istiyor. Bir adresi veritabanınıza kabul etmek bir karardır. Buna bir parola sıfırlama postasını başarıyla teslim etmek bambaşka bir karardır.

Ben olsam ne yapardım (ve ne yapmazdım)

Bu ay, bu sırayla şunları yapardım:

  • Trunk’ı bir Playground’a veya hazırlık ortamına çekin ve yığınınızın açtığı her kayıt, ödeme, parola sıfırlama ve yönetici kullanıcı oluşturma yolundan bir Unicode adresi (duyurudaki kanonik test örneği grå@grå.org) geçirin. Nerede çalıştığını, nerede kırıldığını ve nerede sessizce bozduğunu not edin.
  • Gönderdiğiniz her eklentide ham e-posta düzenli ifade doğrulaması yapan kodu tarayın. WordPress 7.1 ve sonrasında çalışacak kod yollarında bunu WP_Email_Address ile değiştirin ve eski sürümler için bir geri dönüş bırakın. Eski kodu henüz söküp atmayın.
  • E-posta sağlayıcınızla ve ödeme sağlayıcınızla konuşun. Bir Unicode adrese teslim edemeyeceksiniz; kabul etmek yalnızca yavaş yanan bir destek talebidir. Yazılı bir yanıt alın.
  • Gerçekten yalnızca ASCII kalmak zorunda olan bir site işletiyorsanız — düzenlemeye tabi bir B2B portalı, eski bir ERP entegrasyonu, özel bir uyumluluk gerekliliği — wp_is_unicode_email ve wp_sanitize_unicode_email süzgeçlerini kullanarak devre dışı bırakmayı şimdi yazın. Bir kullanıcı hata bildirmeden önce, 7.1 inmeden önce yapın.
  • Bir test raporu gönderin. Kamuya açık bir test çağrısının bütün anlamı, sürüm dalı kapanmadan önce çekirdeğin gerçek sinyal almasıdır. Öneri açıkça bunun 7.1 için iyileştirildiğini söylüyor.

Yapmayacağım şey: bugün üretimde herhangi bir şeyi, bunun değişmeden ineceği varsayımıyla yeniden yazmak. Bu trunk’ta, yayın değil. Trunk değişir. Denetimi kurun, hazırlık ortamı testlerini yazın, ihtiyacınız varsa devre dışı bırakmayı yazın ve gerçek kodu itmek için 7.1 sürüm adayını bekleyin.

WordPress’in e-posta alanında Unicode’a, kayıt açıldıktan on bir yıl sonra kavuşması gösterişli bir hikâye değil — ve bütün mesele de bu. Sessiz ve dikkatli yükseltmeler, platformu diller ve on yıllar boyunca güvenilir kılan şey. Önümüzdeki haftalarda bunu müşteri projelerinde test edeceğiz; 7.1 sizin yerinize karar vermeden önce sizin de aynısını yapmanızı öneririm.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Close Search Window