İletişim formu “mesaj gönderildi” diyor ama hiçbir şey ulaşmıyor
Bu, WooCommerce sipariş e-postalarından farklı bir sorundur: burada söz konusu olan, ziyaretçiye başarı onayı gösteren ama e-postanın sunucudan hiç ayrılmadığı bir iletişim veya teklif formudur (Contact Form 7, WPForms, Gravity Forms…). Onay, sunucu tarafında gönderim gerçekten başarılı olsun ya da olmasın istemci tarafında gösterilir; bu da durumu basit bir kayıp e-postadan daha aldatıcı hâle getirir.
Nasıl ilerliyorum
-
Yeniden üretme ve ağın kontrolü
Bir test gönderisi yapıyorum ve tarayıcının ağ araçlarında gönderim isteğinin sunucuya gerçekten ulaşıp ulaşmadığını, ya da gönderilmeden önce engellenip engellenmediğini kontrol ediyorum.
-
reCAPTCHA veya hCaptcha kontrolü
Site anahtarı ile gizli anahtarın gerçekten eşleştiğini ve sağlayıcıda yapılandırılan alan adı ile sitenin gerçek alan adı arasında bir uyumsuzluk olmadığını kontrol ediyorum.
-
Sunucu tarafındaki gönderimin test edilmesi
Engelin gönderim fonksiyonunun kendisinden mi, genellikle PHP’nin mail() fonksiyonuyla sınırlı olan wp_mail()’den mi, yoksa form tarafındaki daha önceki bir adımdan mı kaynaklandığını anlamak için wp_mail()’i doğrudan test ediyorum.
-
Bir JavaScript çakışmasının aranması
İstek hiç gitmiyorsa, formun Ajax gönderim işleyicisini bozan bir eklenti arıyorum; genellikle bir başka eklentinin yinelenen veya çakışan bir betik yüklemesi sebep olur.
-
Kimlik doğrulamalı bir SMTP röle kurulumu
Engel gönderim tarafındaysa, sunucunun yerel mail() fonksiyonundan daha güvenilir olan phpmailer_init kancası üzerinden kimlik doğrulamalı bir SMTP röle yapılandırıyorum.
Düzenli olarak ele aldığım durumlar
- “Mesajınız gönderildi” onayı görünüyor, ama gelen kutusuna hiçbir zaman bir şey ulaşmıyor
- Form çalışıyor gibi görünüyor, ama gönderime dair hiçbir iz hiçbir yerde görünmüyor
- Gönder butonu takılı kalıyor veya tıklamaya hiç tepki vermiyor
- Form önceden iyi çalışıyordu, sonra hiçbir ayar değişmeden gönderimi durdurdu
- Bazı mesajlar ulaşıyor, bazıları ulaşmıyor, görünür bir mantık olmadan
Onay bazen neden yalan söylüyor
Bir iletişim formu, işlemsel e-postalarla aynı zayıf noktaya dayanır: wp_mail(), varsayılan olarak alıcı posta sunucuları tarafından genellikle iyi karşılanmayan PHP’nin mail() fonksiyonunu kullanır. Ama burada tuzak daha aldatıcıdır, çünkü eklenti, sunucu tarafındaki gönderimin gerçekten başarılı olduğuna dair güvenilir bir onay beklemeden, JavaScript çalışır çalışmaz istemci tarafında bir başarı mesajı gösterir.
Yanlış yapılandırılmış bir reCAPTCHA veya hCaptcha anahtarı, yer değiştirmiş site anahtarı ve gizli anahtar, ya da bir alan adı uyumsuzluğu, gönderimin kendisini sessizce engelleyebilir: ziyaretçi ne bir hata ne de görünür bir engelleme görür. Başka bir eklentinin neden olduğu bir JavaScript çakışması da, formun Ajax gönderim işleyicisini bozabilir; form “çalışıyor” gibi görünür ama sunucuya hiçbir şey göndermez.
İlgili sayfalar
-
Özel WooCommerce eklentisi geliştirme
Bir formun basit bir e-posta gönderiminin ötesinde bir iş aracına bağlanması gerektiğinde.
-
Acil müdahale
Sessiz kalan bir teklif formu, bozuk kaldığı her gün potansiyel müşteri kaybettirir.
-
WooCommerce’de ele aldığım tüm konular
WooCommerce’de düzenli olarak ele aldığım diğer arızalar ve geliştirmeler.
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.