Email Deliverability: E-postaların Spam'e Düşmemesi İçin Rehber
z
zafer ak
Yazar
08 November 2025
2 dakika okuma
2 görüntülenme
Email deliverability iyileştirme. SPF, DKIM, DMARC konfigürasyonu ve Laravel mail best practices.
Email Deliverability Nedir?
Email deliverability, gönderdiğiniz e-postaların alıcının inbox'ına ulaşma oranıdır. Spam filtrelerine takılmamak için teknik ve içerik optimizasyonu gerekir.
DNS Kayıtları
SPF (Sender Policy Framework)
; Hangi sunucuların sizin adınıza mail gönderebileceğini belirtir
TXT @ "v=spf1 include:_spf.google.com include:sendgrid.net ~all"
DKIM (DomainKeys Identified Mail)
; E-postayı dijital olarak imzalar
TXT default._domainkey "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3..."
DMARC (Domain-based Message Authentication)
; SPF ve DKIM'in nasıl uygulanacağını belirtir
TXT _dmarc "v=DMARC1; p=quarantine; rua=mailto:[email protected]"
Laravel Mail Konfigürasyonu
# .env - Transactional email servisi kullanın
MAIL_MAILER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your-sendgrid-api-key
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="Example App"
Email Service Providers
- SendGrid: 100/gün ücretsiz, güvenilir
- Mailgun: Developer-friendly
- Amazon SES: En ucuz, $0.10/1000 email
- Postmark: Transactional email odaklı
- Resend: Modern, developer-first
Email Best Practices
Teknik
- SPF, DKIM, DMARC kayıtlarını ekleyin
- Dedicated IP kullanın (yüksek hacim)
- Bounce handling yapın
- Unsubscribe link ekleyin
İçerik
- Spam tetikleyici kelimelerden kaçının
- Text ve HTML versiyonu gönderin
- Image-to-text oranını dengeleyin
- Kısa, açık subject line
Laravel Mailable
class WelcomeEmail extends Mailable
{
use Queueable, SerializesModels;
public function __construct(
public User $user
) {}
public function envelope(): Envelope
{
return new Envelope(
subject: 'Hoş Geldiniz!',
);
}
public function content(): Content
{
return new Content(
view: 'emails.welcome',
);
}
}
// Gönderim
Mail::to($user)->queue(new WelcomeEmail($user));
Bounce ve Complaint Handling
// Webhook ile bounce işleme
Route::post('/webhooks/sendgrid', function (Request $request) {
foreach ($request->all() as $event) {
if ($event['event'] === 'bounce') {
User::where('email', $event['email'])
->update(['email_verified' => false]);
}
}
});
Test Araçları
- mail-tester.com: Spam score kontrolü
- MXToolbox: DNS kayıt kontrolü
- Mailtrap: Development test
Sonuç
Email deliverability, e-posta pazarlama ve transactional email'ler için kritiktir. DNS kayıtları ve güvenilir ESP kullanımı şart.