DKIM (DomainKeys Identified Mail), gönderdiğiniz her maile alan adınıza ait bir dijital imza ekler. Alıcı sunucu bu imzayı DNS'te yayımladığınız açık anahtarla doğrular. İmza geçerliyse mailin gerçekten sizin alan adınızdan çıktığı ve yolda değiştirilmediği anlaşılır. Standart RFC 6376 (DKIM) ile tanımlanır.

DKIM Nasıl Çalışır?

DKIM Nasıl Çalışır? Posta sunucunuz bir anahtar çifti üretir, Her giden mailin başlıkları ve gövdesi gizli anahtarla imzalanır; imza..., Alıcı, başlıktaki d= (alan adı) ve s=...
  • Posta sunucunuz bir anahtar çifti üretir: gizli anahtar sunucuda kalır, açık anahtar DNS'e yazılır.
  • Her giden mailin başlıkları ve gövdesi gizli anahtarla imzalanır; imza DKIM-Signature başlığına eklenir.
  • Alıcı, başlıktaki d= (alan adı) ve s= (selector) değerlerinden selector._domainkey.alanadiniz.com adresini bulur ve açık anahtarı alır.
  • İmza doğrulanırsa sonuç dkim=pass olur.
text
DKIM-Signature: v=1; a=rsa-sha256; d=alanadiniz.com; s=default;
    h=from:to:subject:date; bh=...; b=...

DNS'teki DKIM Kaydı

text
default._domainkey.alanadiniz.com.  IN  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."
ParçaAnlamı
defaultSelector: aynı alan adında birden fazla anahtar kullanmayı sağlar
_domainkeyDKIM kayıtlarının bulunduğu sabit ad
v=DKIM1Kayıt sürümü
k=rsaAnahtar türü (rsa ya da ed25519)
p=Açık anahtar. Boş bırakılırsa anahtar iptal edilmiş sayılır

Anahtar Uzunluğu

RFC 8301'e göre imzalayanlar en az 1024 bit RSA anahtarı kullanmak zorundadır ve 2048 bit kullanmaları önerilir; 1024 bitten kısa anahtarlarla atılan imzalar geçersiz sayılır ve rsa-sha1 algoritması kullanılmamalıdır. Google da kişisel Gmail hesaplarına gönderimde en az 1024 bit ister, 2048 bit önerir (Google e-posta gönderici yönergeleri). RFC 8463 daha kısa anahtarlı Ed25519 imzalarını tanımlar; tüm alıcılar desteklemediği için Ed25519 kullanılacaksa farklı bir selector ile RSA imzasıyla birlikte atılır.

Platforma Göre DKIM Kurulumu

Platforma Göre DKIM Kurulumu: cPanel > E-posta > E-posta Teslim Edilebilirliği (Email Deliverability)..., Alan adınızın yanında DKIM durumunu görün. DNS sunucuda yönetiliyorsa...

cPanel

  • cPanel > E-posta > E-posta Teslim Edilebilirliği (Email Deliverability) ekranını açın.
  • Alan adınızın yanında DKIM durumunu görün. DNS sunucuda yönetiliyorsa cPanel kaydı kendisi ekleyebilir.
  • Alan adınızın DNS'i başka bir yerdeyse (ör. alan adı firması veya Cloudflare) ekranda gösterilen ad ve değeri oraya TXT kaydı olarak ekleyin.

Plesk

  • Alan adının Posta ayarlarında DKIM ile giden postaları imzalama seçeneğini açın.
  • DNS Plesk'te değilse oluşturulan TXT kaydını DNS sağlayıcınıza kopyalayın.

Google Workspace

  • Yönetici konsolunda Uygulamalar > Google Workspace > Gmail > E-postanın kimliğini doğrula ekranına gidin.
  • Alan adını seçip yeni kayıt oluşturun (2048 bit önerilir) ve verilen TXT kaydını DNS'e ekleyin.
  • Kayıt yayıldıktan sonra aynı ekranda kimlik doğrulamayı başlatın.

Microsoft 365

Microsoft 365, alan adınız için selector1._domainkey ve selector2._domainkey adlı iki CNAME kaydı ister. Kayıtların değerleri Microsoft Defender portalındaki e-posta kimlik doğrulama ayarlarında (DKIM sekmesi) gösterilir. CNAME'leri ekledikten sonra aynı ekrandan imzalamayı etkinleştirin.

Bülten ve pazarlama servisleri

Toplu gönderim servisleri kendi alan adlarıyla imza atıyorsa DMARC hizalaması sağlanmaz. Servisin "alan adı doğrulama" ya da "custom domain authentication" ayarından kendi alan adınız için DKIM kaydı oluşturun.

Doğrulama

bash
dig +short TXT default._domainkey.alanadiniz.com

Ardından Gmail'e bir test maili atıp "Orijinali göster" ekranında DKIM: PASS ve imzalayan alan adının sizin alan adınız olduğunu görün.

Sık Karşılaşılan Sorunlar

Sık Karşılaşılan Sorunlar: dkim=none, dkim=fail (body hash), dkim=fail (no key), dkim=pass ama DMARC fail
BelirtiOlası nedenÇözüm
dkim=noneSunucu imza atmıyorPanelde DKIM'i etkinleştirin
dkim=fail (body hash)Mail yolda değiştirilmiş (imza, alt bilgi ekleyen ağ geçidi)İmzalamayı son değişiklikten sonra yapın
dkim=fail (no key)DNS kaydı yok, selector yanlış ya da yayılmamışSelector adını ve kaydı kontrol edin
dkim=pass ama DMARC failİmza başka bir alan adına ait (d= sizin değil)Servisin kendi alan adınızla imza atmasını sağlayın

Anahtar Yenileme (Rotasyon)

Gizli anahtarın sızma riskine karşı anahtarları belirli aralıklarla değiştirmek iyi bir uygulamadır. Yeni selector ile yeni anahtarı DNS'e ekleyin, sunucuyu yeni selector ile imzalamaya geçirin, eski maillerin doğrulanması için eski kaydı bir süre daha bırakın, sonra p= değerini boşaltarak eski anahtarı iptal edin.

Sık Sorulan Sorular

DKIM mailin içeriğini şifreler mi?

Hayır. DKIM yalnızca imza ekler; içerik okunabilir kalır. Aktarım sırasındaki şifreleme TLS ile sağlanır.

Birden fazla DKIM kaydım olabilir mi?

Evet. Her selector ayrı bir kayıttır; hosting sunucunuz, Google Workspace ve bülten servisiniz farklı selector'larla aynı alan adı için imza atabilir.

İlgili içerikler: Mailler neden spam'e düşer · SPF kaydı · DKIM · DMARC · Toplu gönderici kuralları · Kara liste kontrolü