SPF, DKIM, DMARC: adım adım kurulum
Teklif ve fatura mailleriniz spama düşüyorsa SPF, DKIM ve DMARC kayıtlarını bu sırayla kurun. Microsoft 365 ve Google Workspace için adımlar.
Teklif mailini gönderdiniz, müşteri dönmedi. “İlgilenmiyor” diye düşünüyorsunuz. Oysa mail spam klasörüne düşmüş ya da hiç ulaşmamış olabilir. Sebep, eksik ya da yanlış SPF, DKIM ve DMARC kayıtları olabilir.
Bu üç kayıt, alan adınızdan çıkan mailin gerçekten sizden geldiğini alıcının sunucusuna kanıtlar. Üçü de DNS kaydıdır. Google, doğrulaması olmayan mailin spam olarak işaretlenebileceğini ya da 5.7.26 hatasıyla reddedilebileceğini yazıyor.
Aşağıda kurulumu sırayla anlatıyoruz. Nedenleri ve genel kontrol listesi için mailler neden spama düşüyor yazımıza bakın. Bu yazı yalnız kuruluma odaklanıyor.
Başlamadan önce neye ihtiyacınız var?
Üç şey gerekir:
- DNS erişimi. Alan adınızın DNS kayıtlarını yönettiğiniz panele girebilmelisiniz. Çoğunlukla alan adını aldığınız firmadır.
- Yönetici yetkisi. Mail hizmetinizin (Microsoft 365 ya da Google Workspace) yönetim paneline girebilmelisiniz. DKIM’i oradan açacaksınız.
- Gönderen listesi. Alan adınız adına mail gönderen her yer: mail hizmetiniz, muhasebe programınız, e-ticaret siteniz, bülten aracınız, site iletişim formunuz, yazıcı ya da tarayıcı. Listede olmayan bir gönderen SPF kaydına da girmez. Sonra o gönderenin mailleri takılır.
Bu listeyi bir kâğıda yazın. Her adımda ona bakacaksınız.
1. Adım: SPF kaydını ekleyin
SPF, alan adınız adına hangi sunucuların mail gönderebileceğini listeleyen tek bir TXT kaydıdır. RFC 7208’e göre bir alan adının birden fazla SPF kaydı olmamalı. Microsoft’a göre birden fazla kayıt permerror hatasına yol açar. Yeni bir hizmet eklerken ikinci kayıt açmayın; var olan kaydı düzenleyin.
Kayıt, alan adınızın kökünde TXT türünde durur. Yalnız kendi mail hizmetinizden gönderiyorsanız şunlar yeter:
| Mail hizmeti | SPF kaydı |
|---|---|
| Microsoft 365 | v=spf1 include:spf.protection.outlook.com -all |
| Google Workspace | v=spf1 include:_spf.google.com ~all |
Başka gönderenler de varsa her biri için bir include: ekleyin. Değerini o hizmetin belgesinden alın. Google’ın belgesinde Microsoft 365 ile birlikte kullanım için şu örnek var:
v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all
Dikkat edecekleriniz:
- Sondaki kural.
-all, listede olmayan kaynağın mailinin reddedilmesini ister.~all, kabul edilip işaretlenmesini ister. Microsoft-all, Google~allöneriyor. Gönderen listenizden emin değilseniz~allile başlayıp DMARC raporlarına bakın. Bu bizim önerimiz. - 10 sorgu sınırı. RFC 7208’e göre SPF değerlendirmesi en fazla 10 DNS sorgusu yapabilir; aşarsa
permerrorverir. Microsoft’a göre herinclude:en az bir sorgu sayılır, iç içe olanlar daha fazlasını.ip4:veip6:değerleri sayılmaz. - Sık yazım hataları. Microsoft’un listesinden: alan adının sonuna nokta koymak,
include:yerineinclude=yazmak, iki nokta üst üsteden sonra boşluk bırakmak. - Alt alan adları. Her alt alan adının kendi SPF kaydı gerekir. Kök alan adındaki kayıt
bulten.ornekfirma.com.triçin geçerli değildir. - Süre. Google, SPF değişikliğinin devreye girmesinin 48 saate kadar sürebileceğini yazıyor.
Mail göndermediğiniz alan adlarınız varsa Microsoft şu kaydı öneriyor: v=spf1 -all.
2. Adım: DKIM’i açın
DKIM, giden her maile bir dijital imza ekler. Alıcı, imzayı DNS’teki açık anahtarla doğrular. Mailin yolda değişmediğini ve alan adınızdan çıktığını gösterir. Burada iki ayrı iş var: DNS’e anahtarı eklemek ve hizmetin panelinde imzalamayı açmak.
Microsoft 365
Microsoft’a göre özel alan adlarında DKIM için iki CNAME kaydı eklenir: selector1._domainkey ve selector2._domainkey.
- Microsoft Defender portalında e-posta kimlik doğrulama ayarlarındaki DKIM sekmesini açın. Adres: security.microsoft.com/authentication
- Alan adınızın satırını seçin. Gerekli iki CNAME değerini orada görürsünüz.
- Bu iki kaydı DNS panelinize ekleyin. Değerleri portaldan kopyalayın. Microsoft belgesindeki değerler yalnız örnektir; her kuruluş için farklıdır.
- Microsoft’un kayıtları tanıması birkaç dakika, bazen daha uzun sürer. Sonra “Bu alan adı için DKIM imzası ekle” anahtarını açın.
Microsoft’un belgesine göre imzalamayı siz açmadıkça özel alan adınızdan giden mailler kendiliğinden o alan adıyla imzalanmaz.
Google Workspace
- Yönetici konsolunda Gmail ayarlarından “Authenticate email” bölümünü açın ve alan adınızı seçin.
- “Generate New Record” deyin. Anahtar uzunluğu olarak 2048’i seçin; alan adı sağlayıcınız desteklemiyorsa 1024. Google 2048’i öneriyor.
- Size gösterilen host adını (
google._domainkey) ve TXT değerini DNS’e ekleyin. Henüz “Start authentication” demeyin. - Google, kaydın çalışmasının 48 saate kadar sürebileceğini yazıyor. Sonra “Start authentication” ile imzalamayı açın.
- Gmail’i yeni açtıysanız Google, anahtar üretmeden önce 24 ile 72 saat beklemenizi söylüyor.
Başka bir hizmetten (bülten aracı, muhasebe programı) mail gönderiyorsanız DKIM’i o hizmetin kendi panelinde, sizin alan adınızla imzalayacak şekilde açın. Bunu yapmazsanız mail DKIM’den geçse bile DMARC’ta sorun çıkar. Aşağıda anlatıyoruz.
3. Adım: DMARC kaydını p=none ile ekleyin
DMARC, SPF ve DKIM’den geçemeyen mailin ne olacağını alıcıya söyler. Ayrıca size rapor gönderir. RFC 7489’a göre politika, _dmarc adlı bir alt alan adında TXT kaydı olarak durur.
Başlangıç kaydı:
_dmarc TXT v=DMARC1; p=none; rua=mailto:[email protected]
- Adres.
rua=kısmına raporların gideceği adresi yazın. Microsoft, raporlar için bir çalışanın kişisel kutusu yerine ayrı bir posta kutusu ya da grup öneriyor. - p=none ne yapar? RFC 7489’a göre bu politika, teslimatta özel bir işlem istemez. Yalnız rapor toplar.
- Dış adrese rapor. Rapor adresi başka bir alan adındaysa, o alan adında ek bir yetkilendirme TXT kaydı gerekir. Yoksa alıcılar raporu o adrese göndermez.
DMARC’ın geçmesi için yalnız SPF ya da DKIM’in geçmesi yetmez. Microsoft’a göre, doğrulanan alan adı mailin “Kimden” adresindeki alan adıyla eşleşmelidir. Bir hizmet kendi alan adıyla imzalıyorsa DMARC’tan geçemez. Çözüm, o hizmette DKIM’i sizin alan adınızla imzalayacak şekilde açmaktır.
4. Adım: Sonucu test edin
Kayıtları ekledikten sonra gerçek bir mailin sonucuna bakın:
- Alan adınızdan, kendi Gmail adresiniz dışında bir Gmail adresine mail gönderin. Google, DKIM’i kendinize göndererek doğrulayamayacağınızı yazıyor.
- Maili alıcı tarafında açın. Gmail’de “Orijinali göster”e tıklayın.
Authentication-Resultssatırında SPF, DKIM ve DMARC sonuçlarını arayın. Üçü depassise Gmail tarafında kayıtlarınız doğru çalışıyor.- Gönderen listenizdeki her hizmetten birer test maili atın. Bir hizmet
failverirse eksik olan o hizmetin SPF ya da DKIM ayarıdır.
Bir kayıt fail diyorsa kayıtları tahminle değiştirmeyin. Başlıktaki satır hangi kontrolün bozulduğunu söyler.
5. Adım: Raporlara bakıp politikayı sıkılaştırın
p=none ile başlamak mailleri korumaz; yalnız görünürlük sağlar. Microsoft’un önerdiği yol şu:
p=noneile başlayın ve raporları izleyin. Raporlar, alan adınız adına hangi IP adreslerinden mail gönderildiğini ve bunların geçip geçmediğini gösterir.- Gerçek gönderenlerinizin hepsi geçtiğinde
p=quarantine’e geçin. Microsoft,pct=değerini kademeli artırmayı da öneriyor: 10, 25, 50, 75, 100. - Sorun çıkmıyorsa
p=reject’e geçin.
Microsoft, bunu yavaş yapmayı öneriyor. Raporlar, meşru mailin nerede engellendiğini gösterir. Her aşamada ne kadar bekleyeceğinize dair Microsoft belgesinde kesin bir süre yok. Gönderim hacminize ve gönderen sayınıza göre değişir.
Bülten ve kampanya gibi doğrudan kontrol etmediğiniz hizmetler için Microsoft, ana alan adı yerine alt alan adı kullanmayı öneriyor. Örneğin bulten.ornekfirma.com.tr. Böylece o hizmetteki bir sorun, çalışanlarınızın maillerini etkilemez.
Kayıtlar tamam, mail yine spama düşüyorsa?
Kimlik doğrulama tek şart değil. Google’ın kurallarına göre kişisel Gmail adreslerine mail gönderen herkesin SPF ya da DKIM kurması gerekir. Günde 5.000’den fazla mail gönderenler üçünü birden kurmalı. Spam şikâyet oranı da 0,3’ün altında kalmalı; Google, 0,10’un altını öneriyor. Pazarlama mailleri ayrıca one-click unsubscribe desteklemeli ve gövdede görünür bir çıkış bağlantısı taşımalı.
Ayrıntıyı mailler neden spama düşüyor yazısında anlattık.
Bu işi sizin yerinize yapabiliriz
Kayıtlar tek tek basit görünür. Zor olan, alan adınız adına kimlerin mail gönderdiğini bulmak ve kendi mailinizi engellemeden politikayı sıkılaştırmaktır. SPF, DKIM ve DMARC kurulumunu e-posta güvenliği hizmetimiz kapsamında yapıyoruz. İstanbul’da yerinde, Türkiye genelinde uzaktan çalışıyoruz.
Mailleriniz neden ulaşmıyor, önce ona birlikte bakalım. Keşif görüşmesi için bize yazın.
Sık sorulan sorular
SPF, DKIM ve DMARC'ı hangi sırayla kurmalıyım?
Önce SPF, sonra DKIM, en son DMARC. DMARC, ilk ikisinin sonucuna bakar. Microsoft da DMARC'tan önce SPF'yi ve DKIM imzalamasını kurmanızı istiyor.
SPF kaydında ~all mı, -all mı yazmalıyım?
Microsoft ile Google farklı öneriyor. Microsoft 365 için -all, Google Workspace için ~all öneriliyor. Hangi hizmeti kullanıyorsanız onun belgesindeki değeri yazın. Mail gönderen hizmetlerin hepsini kayda eklediğinizden emin olmadan -all kullanmayın.
Kayıtları ekledim, ne kadar sürede çalışır?
Google, hem SPF değişikliğinin hem DKIM anahtarının devreye girmesinin 48 saate kadar sürebileceğini yazıyor. Microsoft, DKIM CNAME kayıtlarının tanınmasının birkaç dakikadan uzun sürebileceğini yazıyor. Kesin bir süre veremeyiz.
DMARC'ı doğrudan p=reject ile açabilir miyim?
Açabilirsiniz ama önermiyoruz. Microsoft, p=none ile başlayıp raporları izlemeyi, sonra quarantine ve reject'e geçmeyi öneriyor. Doğrudan reject, tanımadığınız bir gönderen yüzünden kendi mailinizin reddedilmesine yol açabilir.
Bu kayıtları nerede ekliyorum?
Alan adınızın DNS kayıtlarını yönettiğiniz yerde, çoğunlukla alan adını aldığınız firmanın panelinde. Microsoft 365'te SPF ve DMARC kaydı için bir panel ayarı yoktur; kaydı DNS tarafında siz eklersiniz.
Her şeyi kurdum ama mail yine spama düşüyor. Neden?
Kimlik doğrulama tek neden değildir. Google, spam şikâyet oranının düşük kalmasını ve toplu gönderimde abonelikten çıkış bağlantısını (one-click unsubscribe) da istiyor. Spama düşen bir mailin başlığındaki Authentication-Results satırı hangi kontrolün başarısız olduğunu gösterir.