Tüm sistemler operasyonel
Connect365
Teknik· 25 Mart 2026

Yazılımdan E-Posta Gönderimi: SMTP Relay Kurulumu

Yazılımdan E-Posta Gönderimi: SMTP Relay Kurulumu

Bir web uygulaması, CRM sistemi veya muhasebe yazılımı geliştirdiğinizde e-posta göndermek kaçınılmaz bir gereksinim haline gelir. Ancak uygulamanızın doğrudan kendi sunucunuzdan posta göndermesi; SPF/DKIM hataları, IP itibar sorunları ve spam filtrelerine takılma gibi ciddi tuzaklara yol açar. Bu noktada devreye giren SMTP Relay (SMTP yönlendirme), hem teknik karmaşıklığı azaltır hem de e-postalarınızın güvenilir biçimde alıcıya ulaşmasını sağlar.

TL;DR: Uygulamanızdan e-posta göndermek için kendi IP'nizden doğrudan bağlantı yerine, kimlik doğrulamalı bir SMTP Relay servisi kullanın. Bu yaklaşım SPF/DKIM imzalamasını otomatikleştirir, IP itibarını korur ve teslimat oranını artırır. Kurulum yalnızca birkaç sunucu değişkeni ayarlamak kadar basittir.

SMTP Relay Nedir?

SMTP (Simple Mail Transfer Protocol), RFC 5321 ile tanımlanmış e-posta iletim standardıdır. "Relay" kavramı ise bir SMTP sunucusunun, kendisine gelen mesajı doğrudan son alıcıya teslim etmek yerine başka bir SMTP sunucusuna iletmesini ifade eder.

Uygulamanız bir SMTP Relay kullandığında şu süreç işler:

  1. Uygulamanız, kimlik bilgileriyle (kullanıcı adı + parola veya API anahtarı) relay sunucusuna bağlanır.
  2. Relay sunucusu mesajı teslim almadan önce kimlik doğrulaması yapar (SMTP AUTH, RFC 4954).
  3. Relay sunucusu mesajı kendi IP adresi ve itibarıyla alıcının posta sunucusuna iletir.
  4. Alıcı sunucu SPF, DKIM ve DMARC denetimlerini relay sunucusunun kimlik bilgileriyle yapar — sizin uygulama IP'nizle değil.

Böylece uygulamanızın IP adresinin internetteki "posta itibarı" hiç sorgulanmaz. Teslimata ilişkin tüm ağırlık, relay sağlayıcısının kurumsal IP bloklarına yüklenir.

Neden Kendi Sunucunuzdan Gönderimi Tercih Etmemelisiniz?

Yeni bir sunucudan veya paylaşımlı hosting IP'sinden doğrudan posta göndermek çeşitli riskler barındırır:

SMTP Relay Kurulumu: Adım Adım

Aşağıdaki adımlar, herhangi bir SMTP Relay sağlayıcısıyla uyumludur. Örneklerde Connect365 SMTP hizmeti kullanılmaktadır; ancak kavramlar sağlayıcıdan bağımsızdır.

SMTP Relay Kurulum Parametreleri
Parametre Tipik Değer Açıklama
SMTP Sunucusu (Host) smtp.connect365.com.tr Relay sağlayıcısının gönderim sunucusu adresi
Port (TLS) 587 STARTTLS şifrelemesi için standart port (RFC 6409)
Port (SSL) 465 TLS doğrudan bağlantı (SMTPS), eski sistemlerle uyumluluk
Şifreleme STARTTLS / TLS Plain text bağlantı asla kullanılmamalı
Kimlik Doğrulama SMTP AUTH LOGIN Kullanıcı adı + parola veya API anahtarı
Gönderen Domain sizinalan.com SPF ve DKIM kaydının eklendiği domain

Adım 1: DNS Kayıtlarını Yapılandırın

SMTP Relay çalışmadan önce gönderen domaininizin DNS bölgesine iki kritik kayıt eklenmesi gerekir:

SPF (Sender Policy Framework, RFC 7208): Hangi sunucuların sizin adınıza posta gönderebileceğini belirtir. Relay sağlayıcınız size hazır bir TXT kaydı verir; örnek:

v=spf1 include:spf.connect365.com.tr ~all

DKIM (DomainKeys Identified Mail, RFC 6376): Her mesaja kriptografik imza ekler. Sağlayıcınız bir public key verir; bunu DNS'e TXT kaydı olarak eklersiniz. İmzalama relay tarafında otomatik yapılır.

DMARC (RFC 7489): SPF ve DKIM başarısız olduğunda alıcı sunucuya ne yapması gerektiğini söyler. Başlangıç için izleme modunda bir politika yeterlidir:

v=DMARC1; p=none; rua=mailto:dmarc@sizinalan.com

Adım 2: Uygulama Yapılandırması

Popüler programlama dillerinde SMTP Relay bağlantısı kurmak birkaç satır kodla mümkündür. Aşağıda Python ve PHP için örnek yapılandırmalar verilmiştir.

Python (smtplib):

import smtplib, ssl
from email.mime.text import MIMEText

msg = MIMEText("Merhaba!", "plain", "utf-8")
msg["Subject"] = "Test"
msg["From"]    = "gonderici@sizinalan.com"
msg["To"]      = "alici@hedef.com"

ctx = ssl.create_default_context()
with smtplib.SMTP("smtp.connect365.com.tr", 587) as s:
    s.ehlo()
    s.starttls(context=ctx)
    s.login("API_KULLANICI_ADI", "API_PAROLASI")
    s.sendmail(msg["From"], [msg["To"]], msg.as_string())

PHP (PHPMailer):

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host       = 'smtp.connect365.com.tr';
$mail->SMTPAuth   = true;
$mail->Username   = 'API_KULLANICI_ADI';
$mail->Password   = 'API_PAROLASI';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port       = 587;
$mail->CharSet    = 'UTF-8';
$mail->setFrom('gonderici@sizinalan.com', 'Gonderici Adı');
$mail->addAddress('alici@hedef.com');
$mail->Subject = 'Test';
$mail->Body    = 'Merhaba!';
$mail->send();

Adım 3: Bağlantıyı Test Edin

Terminalde OpenSSL ile hızlı bir bağlantı testi yapabilirsiniz:

openssl s_client -starttls smtp -connect smtp.connect365.com.tr:587

Sunucu "220" ve ardından "250" kodları ile yanıt veriyorsa bağlantı başarılıdır. SMTP durum kodları RFC 5321, Bölüm 4.2'de tanımlanmıştır.

Güvenlik ve Uyumluluk Gereksinimleri

Türkiye'den ticari e-posta gönderimi yapan her yazılım veya platform, yalnızca teknik değil yasal gereksinimlere de uymakla yükümlüdür.

6563 Sayılı Elektronik Ticaretin Düzenlenmesi Hakkında Kanun (ETK): Ticari elektronik iletilerin önceden onay (opt-in) alınmadan gönderilmesini yasaklar. İlk onay kaydı, tarih, saat ve IP bilgisiyle birlikte tutulmalıdır. Kanun'un 6. maddesi, rıza olmaksızın gönderilen her ileti için idari para cezası öngörür.

6698 Sayılı Kişisel Verilerin Korunması Kanunu (KVKK): Alıcı e-posta adresi kişisel veri niteliği taşır. KVKK'nın 4. maddesi kapsamında bu veriler yalnızca rıza gösterilen amaçla işlenebilir; 12. madde ise teknik güvenlik tedbirlerini zorunlu kılar.

BTK Ticari Elektronik İletiler Hakkında Yönetmelik (2015 tarihli, 2022 yılında güncellendi): Her ticari iletide gönderen kimliği, açık adres ve abonelikten çıkma bağlantısı bulunması zorunludur. İletiyi alan kişi kolayca vazgeçme talebinde bulunabilmeli ve bu talep en geç üç iş günü içinde yerine getirilmelidir.

Teslimat Oranını Artıran İpuçları

Sık Sorulan Sorular

SMTP Relay ile doğrudan SMTP arasındaki fark nedir?

Doğrudan SMTP'de uygulamanız, alıcının posta sunucusuna doğrudan bağlanır; IP itibarı ve DNS yapılandırması tamamen size aittir. SMTP Relay'de ise mesaj bir aracı sunucu üzerinden iletilir; kimlik doğrulama, IP itibarı ve imzalama bu aracı tarafından yönetilir. Bu, teknik sorumluluğu önemli ölçüde azaltır.

Hangi port kullanılmalı: 25, 465 yoksa 587?

Port 25, sunucular arası doğrudan iletim için tasarlanmıştır; bulut ortamlarında sıklıkla engellenir ve kimlik doğrulama gerektirmez. Port 587, RFC 6409 ile tanımlanmış "mail submission" (posta gönderim) portudur; STARTTLS ile şifreleme yapılır ve uygulamalar için önerilen seçenektir. Port 465, geçmişte SMTPS için kullanılmıştır; bazı sağlayıcılar desteklemeye devam eder ancak 587 tercih edilmelidir.

SPF kaydım zaten var; DKIM de şart mı?

SPF ve DKIM birbirini tamamlar; ikisi birden olmadan DMARC tam koruma sağlayamaz. Gmail ve diğer büyük sağlayıcılar, DKIM imzası olmayan mesajları spam olarak değerlendirebilir ya da "gönderen kimliği doğrulanamadı" uyarısı gösterebilir. DKIM, relay sağlayıcısı tarafından otomatik eklenir; yalnızca DNS'e public key kaydını girmeniz yeterlidir.

Uygulamam test ortamında gerçek posta göndermemeli; ne yapmalıyım?

Test ortamlarında Mailhog veya Mailpit gibi yerel SMTP stub araçları kullanın; bu araçlar gerçek iletim yapmadan mesajları yakalar ve web arayüzünde gösterir. Alternatif olarak relay kimlik bilgilerinizi ortam değişkenlerine (environment variables) taşıyın ve test ortamında bu değişkenleri boş bırakın ya da stub sunucusuna yönlendirin.

Kaç e-posta gönderebilirim? Limit var mı?

Limit, relay sağlayıcısının planına ve gönderim altyapısına göre değişir. Teknik olarak SMTP'de yerleşik bir sınır yoktur; ancak sağlayıcılar hız sınırı (rate limit) uygular. Bunun yanı sıra alıcı sunucular da bağlantı başına mesaj sayısını ve dakikadaki bağlantıyı kısıtlayabilir. Yüksek hacimli gönderimler için sağlayıcının toplu gönderim API'sini kullanmak SMTP bağlantısından daha verimlidir.

SMTP kimlik bilgilerimi nasıl güvende tutarım?

Kimlik bilgilerini kaynak koduna veya sürüm kontrol sistemine (Git) asla gömmeyeceğiniz, bir .env dosyası ya da ortam değişkeni aracılığıyla çalışma zamanında yükleyeceğiniz teknik standart haline gelmiştir. Sunucu tarafında kimlik bilgilerini şifreli secret yönetim araçlarıyla (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault vb.) saklayabilirsiniz. KVKK'nın 12. maddesi de bu tür teknik önlemleri yasal zorunluluk haline getirmektedir.

E-postalarım spam klasörüne düşüyor; nasıl çözebilirim?

Önce SPF, DKIM ve DMARC kayıtlarınızı mail-tester.com veya Google Postmaster Tools ile kontrol edin. Ardından gönderim IP'nizin kara listede olup olmadığını MXToolbox Blacklist Check ile doğrulayın. İçerikte aşırı büyük harf, ünlem işareti ve şüpheli bağlantılar varsa düzeltin. Listenizde aktif olmayan alıcı oranı yüksekse önce bir temizlik kampanyası gönderin.

Ticari e-posta göndermek için mutlaka opt-in listesi mi gerekiyor?

Türkiye'de 6563 sayılı ETK'ya göre evet, ticari elektronik ileti (reklam, tanıtım, kampanya vb.) göndermeden önce alıcının açık onayı alınmalıdır. Bu onay kayıtlarını tarihi, kaynağı ve içeriğiyle birlikte saklamak zorunludur. İstisnalar mevcuttur: hâlihazırda ticari ilişki içinde olan müşterilere belirli koşullarla ve sınırlı süreyle önceden onay aranmaksızın gönderilebilir; ancak her durumda vazgeçme hakkı tanınmalıdır.

Gönderim günlükleri (log) ne kadar süre saklanmalı?

6563 sayılı ETK'nın 9. maddesi kapsamında çıkarılan yönetmelik, ticari elektronik iletiye ilişkin kayıtların (onay tarihi, gönderim zamanı, alıcı bilgisi) üç yıl süreyle saklanmasını zorunlu kılar. BTK denetimlerinde bu kayıtlar talep edilebilir.

Relay sağlayıcısı değiştirirsem ne yapmalıyım?

Yeni sağlayıcının SPF ve DKIM kayıtlarını DNS'e ekleyin, eski sağlayıcıya ait include: referansını SPF kaydından çıkarın ve eski DKIM selector'ını silin. Geçiş sırasında her iki sağlayıcının SPF kaydını birlikte tutup DNS TTL süresi geçtikten sonra eskisini kaldırabilirsiniz. Uygulama yapılandırmasında yalnızca host, port ve kimlik bilgilerini güncelleyin.

Kaynaklar ve İleri Okuma

Kurumsal e-postaya ₺99'a geçin

Reklamsız, KVKK uyumlu; kurulum ve geçiş ücretsiz, mailleri biz taşırız.

📞 0312 434 35 34