Bu sayfadaWordPress varsayılan olarak e-posta gönderimini nasıl yapar
Bir WordPress sitesi, sahibinin düşündüğünden daha fazla e-posta gönderir. İletişim formu bildirimi. Parola sıfırlama e-postası. Yeni kullanıcı karşılama e-postası, yorum moderasyonu uyarısı ve bir mağazada WooCommerce'in sunduğu her sipariş onayı, fatura ve gönderim güncellemesi. Bunların çoğunu kimse özel olarak tasarlamaz ve bir müşteri sipariş e-postasının hiç gelmediğini yazana kadar kimse kontrol etmez.
Bu e-postalardan biri spam klasörüne düştüğünde, metni değiştirmeden önce iletinin sunucudan nasıl çıktığına bakın. WordPress'te bu bölüm varsayılan olarak teslim edilebilirlik açısından mümkün olan en kötü seçeneğe ayarlıdır.
WordPress varsayılan olarak e-posta gönderimini nasıl yapar
WordPress ve WooCommerce ile form eklentileri dahil, e-posta gönderen neredeyse tüm eklentiler tek bir işlevi kullanır: wp_mail(). Bu işlev iletiyi PHPMailer'a aktarır. PHPMailer da varsayılan olarak iletiyi PHP'nin mail() işlevine, o da barındırma sunucusunda bulunan e-posta programına iletir. Bir e-posta sağlayıcısında oturum açılmaz, imza eklenmez ve DNS kayıtlarınızda bu sunucunun alan adınız adına gönderim yapabileceğini belirten hiçbir şey yoktur.
Seçilen gönderen adresi, wordpress@ ifadesinin ardından sitenizin alan adı gelecek şekilde oluşturulur (WordPress baştaki www. bölümünü kaldırır). Bu adresi hiç değiştirmediyseniz müşterileriniz From satırında bunu görür ve birçok sitede bu posta kutusu hiç oluşturulmamıştır.
Paylaşımlı barındırmada ileti daha sonra, çok sayıda başka sitenin de paylaştığı bir IP adresi üzerinden barındırma sağlayıcısının sunucusundan gönderilir. Bu sitelerden biri satın alınmış bir listeye gönderim yaparsa veya saldırıya uğrayıp spam göndermeye başlarsa IP adresinin itibarı bozulur. Sizin parola sıfırlama iletileriniz de onların iletileriyle aynı adresten gönderilir.
Bu nedenle varsayılan bir WordPress kurulumu, SPF kaydı alan adınızla hizalanmayan e-postalar gönderir. Geri dönüş adresi genellikle barındırma sağlayıcısının kendi sunucu adında kalır. Bunun yerine sizin adresiniz kullanılırsa SPF doğrudan başarısız olur. Alan adınız için DKIM imzası da bulunmadığından DMARC başarısız olur. Gmail ve Yahoo, gönderen kurallarını Şubat 2024'te belirledi. Microsoft, Mayıs 2025'te Outlook.com'a günde 5.000'den fazla ileti gönderen alan adları için aynısını yaptı. Kasım 2025'ten bu yana Gmail, kurallarını ihlal eden e-postaların daha büyük bir bölümünü spam klasörüne taşımak yerine reddediyor.
Gerçek bir e-posta hizmeti üzerinden gönderin
En önemli düzeltme, mail() kullanmayı bırakmaktır. Bir SMTP eklentisi yükleyin (WP Mail SMTP, FluentSMTP ve Post SMTP yaygın seçeneklerdir ve her birinin ücretsiz sürümü vardır) ve bunu e-postaları düzgün şekilde gönderen bir hizmete bağlayın: Google Workspace veya Microsoft 365 gibi kendi posta kutusu sağlayıcınız ya da Amazon SES, Brevo, SendGrid veya Mailgun gibi işlemsel e-posta hizmetleri.
Eklenti, wp_mail() altındaki taşıma mekanizmasını değiştirir. Böylece her eklentiden gelen her e-posta, eklentilerin kendisine dokunmadan yeni yöntemle gönderilir. Eklentide sağlayıcının API seçeneği varsa parolayla düz SMTP yerine bunu kullanın. WP Mail SMTP, API yönteminin barındırma sağlayıcınız SMTP portlarını engellediğinde bile çalıştığını belirtiyor.
Çoğu kişi sonraki adımı atlar. Alan adını bu sağlayıcıda doğrulayın: her sağlayıcı, yayınlamanız için DNS kayıtları verir. Bunlar genellikle DKIM için iki veya üç CNAME kaydı ile bir SPF include kaydı ya da özel bir dönüş yolu alan adıdır. Bu kayıtlar DNS'inize eklenene kadar sağlayıcı imzada kendi adını kullanır ve DMARC, barındırma sunucusunda olduğu gibi burada da başarısız olur.
İletişim formlarındaki From adresi
Contact Form 7 ve WPForms dahil olmak üzere form eklentileri, aldığınız bildirimin From satırında ne yer alacağını seçmenize olanak tanır. Birçok yapılandırma, Reply düğmesine basıldığında yanıtın ziyaretçiye gitmesi için buraya ziyaretçinin adresini yazar. Bu akıllıca görünebilir, ancak DMARC tam olarak bunu önlemek için geliştirilmiştir.
Anna adlı bir ziyaretçinin anna@yahoo.com adresinden yazdığını varsayalım. Siteniz artık Yahoo tarafından hiçbir zaman yetkilendirilmemiş bir sunucu üzerinden yahoo.com kaynaklı olduğunu iddia eden bir ileti gönderir. yahoo.com, p=reject değerine sahip bir DMARC politikası yayımlar. Bu nedenle, politikayı uygulayan bir alıcı bildirimi sahte olduğu gerekçesiyle reddeder. Gmail kullanan bir ziyaretçide politika daha yumuşaktır ve ileti daha sık spam klasörüne düşer. WPForms, belgelerinde tam olarak bu konuda uyarıda bulunur.From sizsiniz, Reply-To ziyaretçidir
Bunun yerine şu şekilde yapılandırın:
- From: kendi alan adınızdaki bir adres, örneğin
forms@yourdomain.com. Bu, SMTP eklentinizin kimlik doğrulaması için kullandığı alan adıyla aynı olmalıdır. - Reply-To: form alanından alınan ziyaretçi adresi. Reply düğmesine bastığınızda yanıt yine Anna'ya gider.
- To: gerçekten okuduğunuz posta kutusu.
Contact Form 7'de bunu Mail sekmesinden ayarlayabilirsiniz: From alanına kendi adresinizi yazın ve Additional headers bölümüne Reply-To: [your-email] ekleyin. Diğer form eklentilerinin bildirim ayarlarında bir Reply-To alanı bulunur.
WooCommerce e-postaları
WooCommerce kendi gönderici ayarlarına sahiptir: WooCommerce, ardından Settings, ardından Emails menüsüne gidin. Email Sender Options bölümünde bir "From" adı ve "From" adresi bulunur. Varsayılan olarak bu adres, sitenin yönetici e-posta adresidir. Mağazayı kuran kişi burada bir Gmail adresi kullandıysa her sipariş onayı gmail.com'dan geliyormuş gibi gönderilir ve yukarıdaki iletişim formuyla aynı nedenle DMARC kontrolünden geçemez. Buraya kimliği doğrulanmış alan adınızdan bir adres girin. Mağaza adı, gönderici adı için uygundur. (Size gönderilen sipariş bildirimlerinde WooCommerce müşteriyi zaten Reply-To alanına ekler. Doğru yöntem budur.)
Mağaza e-postalarında, iletişim formlarında görülmeyen iki sorun ortaya çıkar.
Birincisi gönderim hacmidir. Bir kampanya veya bülten eklentisi müşterilere sipariş onaylarıyla aynı kanal üzerinden e-posta gönderirse pazarlama ve işlem e-postaları tek bir itibar altında birleşir. Bülten şikâyet alırsa makbuzlar da bundan etkilenir. İki tür e-postayı farklı hizmetler üzerinden göndermek bunları birbirinden ayırır. Pazarlama için ayrı bir alt alan adı kullanmak da biraz yardımcı olur, ancak alıcı sistemler ana alan adının itibarına yine de belirli bir ağırlık verir.
İkincisi abonelikten çıkma konusudur. Sipariş onayları ve parola sıfırlama e-postaları işlemseldir, dolayısıyla Gmail ve Yahoo'nun tek tıklamayla abonelikten çıkma kuralı bunlar için geçerli değildir. Geçmişte alışveriş yapmış müşterilere gönderilen inceleme isteği, terk edilmiş sepet hatırlatıcısı veya "bunları da beğenebilirsiniz" e-postası pazarlama amaçlıdır. Bunları yüksek hacimde gönderiyorsanız kural tümüyle geçerlidir. Bu da tek tıklama seçeneği sunan bir List-Unsubscribe üstbilgisinin bulunması gerektiği anlamına gelir. Bu e-postaları gönderen eklentinin söz konusu üstbilgiyi ekleyip eklemediğini kontrol edin. Aşağıdaki test, her iki durumda da sonucu gösterir.
DNS tarafı, basit ifadelerle
Hangi hizmet üzerinden gönderim yaparsanız yapın, e-postalara güvenilebilmesi için alan adınızın DNS kayıtlarında üç şey bulunmalıdır. Ayrıntılı açıklamayı SPF, DKIM ve DMARC açıklaması sayfasında bulabilirsiniz. WordPress sitesi için bunların anlamı şöyledir.
- SPF. Alan adınız adına kimlerin gönderim yapabileceğini listeleyen tek bir TXT kaydıdır. Birçok gönderim hizmeti, kendi geri dönüş alan adı üzerinden hizalama sağladığı için burada değişiklik yapılmasını gerektirmez. Kullandığınız hizmet bir
include:eklemenizi istiyorsa ve alan adında posta kutusu sağlayıcınıza ait bir kayıt zaten varsa, bunu o kayda ekleyin. İkinci bir kayıt oluşturmayın. İki SPF kaydı hatadır ve her ikisinin de çalışmasını engeller. Sonucu SPF denetleyicisi ile kontrol edin. - DKIM. Gönderim hizmetinizin size verdiği kayıtlardır. Bu kayıtlar etkinleştirildiğinde hizmet, her iletiyi alan adınızla imzalar. DMARC bu imzayı arar.
- DMARC.
_dmarc.yourdomain.comadresindeki bir TXT kaydıdır.v=DMARC1; p=none; rua=mailto:ile ve takip ettiğiniz bir adresle başlayın, ardından raporlar size ait hiçbir gönderimin başarısız olmadığını gösterdiğinde politikayı sıkılaştırın. DMARC denetleyicisi mevcut kaydınızı okur.
Barındırma sunucusunun kendi başına bir şeyler göndermeye devam ediyor olabileceğini unutmayın. Örneğin bir cron görevi veya wp_mail() yerine doğrudan mail() çağıran eski bir eklenti bunu yapabilir. Bu iletiler SMTP eklentisini atlar ve DMARC raporlarında beklemediğiniz bir kaynak olarak görünür.
Test mesajını değil, gerçek e-postaları test etme
Her SMTP eklentisinde bir "send test email" düğmesi vardır ve bu düğmenin kanıtladığı tek şey bağlantının çalıştığıdır. WooCommerce'in oluşturduğu sipariş onayını, Reply-To başlığıyla birlikte form bildirimini veya WordPress'in bağlantı eklediği parola sıfırlama e-postasını göstermez.
Bu yüzden WordPress'in gerçek e-postaları göndermesini sağlıyorum. Ana sayfadan aldığınız test adresi tek bir mesaj kabul eder, bu nedenle kontrol etmek istediğiniz her e-posta için yeni bir adres alın. Formu test etmek için adresi kısa süreliğine bildirim alıcısı olarak girin ve formu gönderin. WooCommerce için bu adresi müşteri e-postası olarak kullanarak bir test siparişi verin. Parola sıfırlama için bir test kullanıcısına bu adresi atayın ve sıfırlama isteğinde bulunun. Her mesaj için SPF, DKIM ve DMARC ile bunların hizalamasını, 21 engelleme listesini, içeriği, bağlantıları ve toplu gönderici kurallarını içeren ayrı bir rapor oluşturulur. Gmail, Outlook, Yahoo ve diğer sağlayıcılarda hangi klasöre düştüğünü görmek için aynı mesajın konu satırında bir işaretle birlikte bir gelen kutusu listesine gönderilmesi gerekir. Bir form veya mağaza siparişi bunu yapamaz, bu nedenle bu bölümü kendiniz gönderdiğiniz e-postalar için kullanın.
Test siparişlerini elle oluşturmak istemiyorsanız ücretsiz WordPress eklentisi, bu mesajları sitenizin kendi wp_mail() işlevi üzerinden, müşterilerinizin e-postalarının izlediği yoldan gönderir ve sonucu yönetim panelinde gösterir. Ayrıca site daha önce görmediği türde bir e-posta göndermeye başladığında bunu algılar.
E-posta hâlâ spam'e gidiyorsa
Kimlik doğrulama kontrolleri başarılıysa, From adresi alan adınıza aitse ve e-posta hâlâ spam'e gidiyorsa gönderim yaptığınız altyapının itibarına bakın. Hâlâ mail() kullanıyorsanız, paylaşımlı barındırma IP'sinin bir engelleme listesinde olması yaygın bir nedendir. Engelleme listesi denetleyicisi bunu gösterir. İçeriğin etkisi çoğu kişinin beklediğinden daha azdır. Tek bağlantı ve üç satır metin içeren bir form bildirimi nadiren tek başına bir filtreyi tetikler. Yoğun bir HTML şablonu, büyük bir görsel ve bağlantı kısaltıcı içeren bir WooCommerce e-postası ise tetikleyebilir.
Bir iletiyi kontrol edin, raporda gösterilen sorunları düzeltin ve yeni bir adrese tekrar gönderin.