Tam SMTP Yapılandırma Rehberi: Portlar, Kimlik Doğrulama ve E-posta Sunucusu Kurulumu

Kimlik doğrulama, kalkan ve kilit simgeli güvenli sunucu ve bağlantı noktalarını gösteren siber güvenlik illüstrasyonu

SMTP ayarlaması, mail sunucunuzu (veya e-posta istemcinizi) Simple Mail Transfer Protocol'ü kullanarak doğru şekilde mesaj göndermek için yapılandırma işlemidir. Doğru yaparsanız e-postalarınız gelen kutusuna ulaşır. Yanlış yaparsanız teslimat hatalarıyla, kimlik doğrulama sorunlarıyla veya mesajlarınızın sessizce spam klasörüne gitmesiyle karşılaşırsınız. Her seferinde başarılı olmak için ihtiyacınız olan üç şey şunlardır: doğru port, doğru şifreleme yöntemi ve çalışan kimlik doğrulama bilgileri.

SMTP Gerçekte Ne Yapar

SMTP, e-posta istemcinizin veya uygulamanızın giden mesajları bir mail sunucusuna teslim etmek için kullandığı protokoldür; sunucu bu mesajları alıcıya yönlendirir. Yalnızca gönderme tarafını işler. E-posta almak ayrı protokoller tarafından işlenir: IMAP (senkronizasyon için) veya POP3 (indirme için).

"Gönder" düğmesine bastığınızda istemciniz SMTP sunucusuna bir TCP bağlantısı açar, kimlik doğrulaması yapar, mesajı teslim eder ve bağlantıyı keser. Sunucu daha sonra aynı protokolü kullanarak bu mesajı alıcının mail sunucusuna teslim etmeye çalışır; gönderilecek yeri bulmak için hedefin MX (Mail Exchange) DNS kaydını arar.

SMTP şu şekilde tanımlanır: RFC 5321 , bu orijinal RFC 2821'in yerini aldı. Spesifikasyonu anlamak, ham SMTP konuşmalarını hata ayıklamanız veya sıfırdan bir sunucu yapılandırmanız gerektiğinde yardımcı olur.

SMTP Portları Açıklandı: 25, 465 ve 587

Herhangi bir SMTP yapılandırmasında karşılaşacağınız üç port vardır. Her birinin belirli bir rolü vardır ve yanlış olanı kullanmak, e-posta teslimat hatalarının en yaygın nedenlerinden biridir.

Port Ad Şifreleme Tipik Kullanım
25 SMTP Yok (veya STARTTLS) Sunucu-sunucu aktarması (MTA-MTA)
465 SMTPS Örtük SSL/TLS Eski istemci gönderimi (eski uygulamalar)
587 Gönderim STARTTLS (açık TLS) Kimliği doğrulanmış istemci e-posta gönderimi

Port 25 vs 587: Hangisini Kullanmalısınız?

Port 25, 1982'de tanımlanan orijinal SMTP portu. Birbirleriyle konuşan mail sunucuları için tasarlanmıştı, son kullanıcılar tarafından posta göndermek için değil. Çoğu İSS ve bulut sağlayıcısı, spam göndermesini önlemek için konut ve paylaşılan hosting IP'lerinden giden port 25'i özellikle engeller. Posta gönderen bir uygulama çalıştırıyorsanız, port 25'i kullanmaya çalışmak neredeyse kesinlikle başarısız olur.

Port 587, bir istemci veya uygulamadan e-posta göndermek için doğru seçimdir. Şu şekilde standartlaştırılmıştır: RFC 6409 adanmış "mesaj gönderimi" portu olarak. STARTTLS'yi gerektirir, bu da bağlantının şifrelenmemiş olarak başlaması ve herhangi bir kimlik bilgisi gönderilmeden önce TLS'ye yükseltilmesi anlamına gelir. Gmail, Outlook ve neredeyse her modern e-posta sağlayıcısının kullanmanızı beklediği budur.

Kimlik bilgilerini hiçbir zaman şifrelenmemiş bir bağlantı üzerinden göndermeyiniz. SMTP istemciniz STARTTLS başarısız olduğunda düz metne geri dönerse, kullanıcı adınız ve şifreniz açık metin olarak iletilecek. İstemcinizi her zaman TLS'yi gerektirmek ve şifreleme kurulamıyorsa bağlantıyı reddetmek için yapılandırın.

SMTP Port 465: SSL Mirasından Kalan Port

Port 465'in alışılmadık bir tarihi vardır. 1997'de SMTPS'ye (SSL üzerinden SMTP) kısaca atanmış, ardından 1998'de STARTTLS port 587'de tercih edilen yaklaşım haline geldiğinde bu atama iptal edilmiştir. Resmi olarak kullanımdan kaldırılmış olmasına rağmen, birçok mail sunucusu onu desteklemeye devam etti ve daha sonra IANA tarafından farklı bir amaç için yeniden kaydedildi.

Uygulamada, çoğu sağlayıcı hala örtük SSL/TLS kullanarak port 465'te bağlantıları kabul eder. Bu, TLS'nin ilk bayttan itibaren bağlantının tamamını sarması anlamına gelir; STARTTLS gibi el sıkışma sırasında yükseltme yapmak yerine. Bazı eski uygulamalar ve donanımlar (belirli ağ yazıcıları, eski CRM'ler) yalnızca port 465'i destekler, bu nedenle bu durumlarda yararlı olmaya devam eder.

  • Uygulamanız veya cihazınız özellikle örtük SSL gerektiriyorsa ve STARTTLS yapamıyorsa port 465'i kullanın.
  • Diğer her şey için port 587'yi kullanın. Bu modern standarttır.
  • İstemci gönderimi için port 25'i tamamen kullanmaktan kaçının.

SMTP Kimlik Doğrulaması: Nasıl Çalışır

SMTP kimlik doğrulaması (genellikle SMTP AUTH olarak yazılır) şu şekilde tanımlanır: RFC 4954 . Sunucunun giden posta kabul etmesinden önce istemcinin kimliğini kanıtlamasını gerektirir. Olmadan, sunucunuza ulaşabilen herkes spam göndermek için kullanabilir; bu nedenle açık aktarımlar ciddi bir güvenlik sorunu olarak kabul edilir.

SMTP yapılandırmasında göreceğiniz en yaygın kimlik doğrulama mekanizmaları şunlardır:

  • PLAIN: Kullanıcı adı ve şifreyi base64 kodlanmış olarak gönderir. Yalnızca şifrelenmiş bir bağlantı üzerinde güvenlidir (TLS önce etkin olmalıdır).
  • LOGIN: PLAIN'e benzer ancak kullanıcı adı ve şifreyi ayrı değişimler olarak gönderir. Ayrıca TLS gerektirir.
  • CRAM-MD5: Şifreyi doğrudan göndermekten kaçınan bir challenge-response mekanizması. Modern sunucularda daha az yaygındır.
  • XOAUTH2: Gmail ve diğer Google Workspace hesapları tarafından kullanılır. Şifre yerine bir OAuth 2.0 erişim belirteci sağlarsınız. "Daha az güvenli uygulama erişimi" devre dışı bırakıldığında buna ihtiyacınız olan budur.
Uygulama şifreleri vs. ana şifreniz: Gmail, Outlook ve Yahoo, OAuth'u desteklemeyen SMTP istemcileri için uygulamaya özel şifreler destekler. Hesap güvenlik ayarlarından birini oluşturun ve gerçek şifreniz yerine bunu kullanın. Ana kimlik bilgilerinizi değiştirmeden bağımsız olarak iptal edilebilir.

E-posta Sunucusu Kurulumu Adım Adım

Thunderbird gibi bir e-posta istemcisi, işlem e-postası gönderen bir web uygulaması veya kendi barındırılan bir mail sunucusu yapılandırıyor olsanız da, işlem aynı mantıksal sırayı takip eder.

E-posta İstemcileri ve Uygulamalar İçin

  1. SMTP ana bilgisayar adını sağlayıcınızdan alın. Örnekler: smtp.gmail.com , smtp.office365.com , mail.yourdomain.com .
  2. Doğru portu seçin. Varsayılan olarak 587'yi STARTTLS ile kullanın. Uygulamanız gerektirirse 465'e SSL ile geri dönün.
  3. Kimlik doğrulama bilgilerinizi girin. Bu genellikle kullanıcı adı olarak tam e-posta adresiniz artı şifreniz veya uygulama şifrenizdir.
  4. Şifreleme yöntemini ayarlayın. Bunu porta eşleştirin: 587 için STARTTLS, 465 için SSL/TLS.
  5. Bağlantıyı test edin. Çoğu e-posta istemcisinin bir "Hesap Ayarlarını Test Et" veya "Doğrula" düğmesi vardır. Kaydetmeden önce bunu kullanın.

Kendi Barındırılan Mail Sunucusu İçin (Postfix Örneği)

Postfix ile kendi sunucunuzu çalıştırıyorsanız, temel SMTP yapılandırması şurada yer alır: /etc/postfix/main.cf . Bir üçüncü taraf SMTP sağlayıcısı aracılığıyla aktaran bir sunucu için minimal çalışan bir örnek:

# /etc/postfix/main.cf - Basic relay configuration

relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes

Düzenledikten sonra şu şekilde oluşturun: /etc/postfix/sasl_passwd kimlik bilgilerinizle, çalıştırın postmap /etc/postfix/sasl_passwd bunu hashleme için, ardından Postfix'i şu şekilde yeniden yükleyin: systemctl reload postfix .

sasl_passwd'ı hemen kilitleyin. Çalıştırın chmod 600 /etc/postfix/sasl_passwd ve chmod 600 /etc/postfix/sasl_passwd.db dosyayı oluşturduktan sonra. Okunabilir kimlik bilgileri dosyaları yaygın bir sunucu yanlış yapılandırmasıdır.

Popüler Sağlayıcılar İçin Yaygın SMTP Ayarları

Sağlayıcı SMTP Ana Bilgisayarı Port Şifreleme Kimlik Doğrulama Notu
Gmail smtp.gmail.com 587 STARTTLS Uygulama şifresi veya OAuth2 kullanın
Gmail (alternatif) smtp.gmail.com 465 SSL/TLS Uygulama şifresi veya OAuth2 kullanın
Microsoft 365 smtp.office365.com 587 STARTTLS Modern Kimlik Doğrulama / uygulama şifresi
Yahoo Mail smtp.mail.yahoo.com 465 SSL/TLS Uygulama şifresi gerekli
Zoho Mail smtp.zoho.com 587 STARTTLS Kullanıcı adı olarak tam e-posta
Amazon SES email-smtp.us-east-1.amazonaws.com 587 STARTTLS IAM SMTP kimlik bilgileri

SMTP Bağlantı Sorunlarını Giderme

Çoğu SMTP hatası az sayıda kategoriye girer. Günlükleri incelemeden önce, portu sunucunuzdan veya ağınızdan gerçekten erişilebilir olup olmadığını kontrol edin. Bir güvenlik duvarı veya İSS engeli genellikle suçludur ve herhangi bir özel araç olmadan hızlı bir şekilde doğrulayabilirsiniz.

Ücretsiz bir çevrimiçi port kontrol cihazı kullanarak mail sunucunuzda bir SMTP portunun açık olup olmadığını doğrulayabilirsiniz. Mail sunucunuzun ana bilgisayar adını veya IP'sini girin, port 25, 465 veya 587'yi seçin ve testi çalıştırın. Sonuç kapalı veya zaman aşımı olarak gelirse, sorun uygulamanızın içinde bir yapılandırma hatası yerine ağ düzeyindedir (güvenlik duvarı, İSS engeli veya hizmet çalışmıyor).

Yaygın Hata Mesajları ve Anlamları

  • Bağlantı reddedildi / Bağlantı zaman aşımına uğradı: Port engelleniyor veya hizmet dinlemiyor. Güvenlik duvarı kurallarını kontrol edin ve SMTP daemon'unun çalıştığını doğrulayın.
  • 535 Kimlik Doğrulama başarısız: Yanlış kullanıcı adı veya şifre. Gmail için bu genellikle hesap şifreniz yerine bir uygulama şifresine ihtiyacınız olduğu anlamına gelir.
  • 550 5.7.1 Aktarım erişimi reddedildi: Sunucunuz bu gönderici adresi için posta aktarmak üzere yapılandırılmamış veya MAIL FROM komutu öncesinde kimlik doğrulama gerçekleşmemiş.
  • 421 Çok fazla bağlantı: Alan sunucu sizi hız sınırlaması yapıyor. Gönderme sıklığını azaltın veya gecikmeli bir sıra uygulayın.
  • TLS el sıkışması başarısız: Sertifika uyuşmazlığı veya eski TLS sürümü. Sunucunuzun SSL sertifikasının geçerli olduğunu ve TLS 1.0 veya 1.1'i kullanmaya çalışmadığınızı kontrol edin; çoğu sağlayıcı bunları devre dışı bırakmıştır.

Hızlı Tanı Kontrol Listesi

  1. SMTP portunun açık olduğunu ve gönderme ortamınızdan erişilebilir olduğunu doğrulayın.
  2. Ana bilgisayar adının doğru şekilde çözümlendiğini doğrulayın: nslookup smtp.yourdomain.com .
  3. Gönderme IP'nizin şu gibi bir araç kullanarak bir kara listeye alınmadığını kontrol edin: MXToolbox Kara Liste Kontrolü .
  4. SPF, DKIM ve DMARC DNS kayıtlarınızın doğru şekilde yayınlandığını doğrulayın. Eksik veya bozuk kayıtlar yasal postaların reddedilmesine veya spam olarak işaretlenmesine neden olur.
  5. Mail sunucusu günlüklerinizi inceleyin. Postfix için şunu kontrol edin: /var/log/mail.log . Günlükteki gerçek SMTP yanıt kodları, uzak sunucunun tam olarak neyi reddettiğini ve nedenini söyler.
SPF, DKIM ve DMARC, SMTP ayarlarınız kadar önemlidir. Mükemmel şekilde yapılandırılmış bir SMTP sunucusu bile, bu DNS kayıtları eksikse teslim edilebilirlik sorunları yaşayacaktır. SPF, alıcı sunuculara alan adınız için posta göndermelerine izin verilen IP'leri söyler. DKIM, giden mesajlara şifreleme imzası ekler. DMARC, alıcılara her iki kontrol da başarısız olduğunda ne yapacağını söyler.
E-posta sunucusu kurulumu için SMTP port durumunu doğrulayan çevrimiçi port kontrol aracı

SMTP Portunuz Gerçekten Açık mı?

SMTP yapılandırmanızı suçlamadan önce, sorunun engellenen bir port olmadığını doğrulayın. Ücretsiz port kontrol aracımız port 25, 465 veya 587'yi herhangi bir mail sunucusunda anında test etmenizi sağlar; böylece bir güvenlik duvarı sorunuyla mı yoksa yapılandırma hatasıyla mı uğraştığınızı bilirsiniz.

SMTP Portunuzu Şimdi Kontrol Et →

Port 465 örtük SSL/TLS kullanır; bu, bağlantının tamamının başından itibaren şifrelendiği anlamına gelir. Port 587, düz bir bağlantı olarak başlayan ve herhangi bir kimlik bilgisi gönderilmeden önce TLS'ye yükseltilen STARTTLS kullanır. Doğru yapılandırıldığında her ikisi de güvenlidir, ancak port 587 istemci e-posta gönderimi için önerilen modern standarttır. Port 465'i yalnızca uygulamanız özellikle örtük SSL gerektiriyorsa ve STARTTLS'yi destekleyemiyorsa kullanın.

Port 25, çoğu konut ve paylaşılan hosting ağında engellenir çünkü tarihsel olarak spam göndermek için doğrudan gizlice ele geçirilmiş makinelerden kullanılmıştır. Giden port 25'i engelleyerek, İSS'ler ve bulut sağlayıcıları (varsayılan olarak AWS EC2 dahil) IP aralıklarının spam kaynağı olarak kullanılmasını engeller. Uygulamalardan e-posta göndermek için port 587'yi kullanın. Sunucu-sunucu aktarması için port 25'in açık olması gereken yasal bir mail sunucusu çalıştırıyorsanız, engeli kaldırmak için genellikle sağlayıcınızdan talep etmeniz gerekir.

Çoğu durumda, SMTP kullanıcı adınız tam e-posta adresinizdir; örneğin: you@yourdomain.com . Bazı eski sistemler @ işaretinin öncesinde yalnızca yerel kısmı kullanır. Amazon SES gibi hizmetler için kullanıcı adı, e-posta adresiniz değil, ayrı olarak oluşturulan bir IAM SMTP kimlik bilgisidir. Belirli sağlayıcınız için her zaman belgeleri kontrol edin. İki faktörlü kimlik doğrulama etkinleştirilmiş Gmail veya Outlook kullanırken, normal hesap şifrenizi kullanmak yerine uygulamaya özel bir şifre oluşturmanız gerekecektir.

Birden fazla seviyede test edebilirsiniz. Önce, SMTP portunun bir port kontrol aracı kullanılarak veya sunucunuzdan çalıştırılarak ulaşılabilir olup olmadığını kontrol edin. Port açıksa, şu şekilde tam SMTP el sıkışmasını test edebilirsiniz: telnet smtp.yourdomain.com 587 , TLS sertifikasını gösterir ve ham SMTP komutlarını yazmanıza izin verir. Gerçek bir gelen kutusuna teslim etmeden tam uçtan uca test için Mailtrap gibi bir hizmet kullanın; bu SMTP bağlantılarını kabul eder ve iletiyi yönlendirmeden size gösterir. openssl s_client -starttls smtp -connect smtp.yourdomain.com:587 .

Başarılı SMTP kimlik doğrulaması yalnızca sunucuyu kullanmanıza izin verildiğini kanıtlar. Spam filtrelemesi ayrıca alan ucunda gerçekleşir ve birden fazla faktöre dayalıdır: gönderme IP'nizin bir kara listede olup olmadığı, SPF kaydınızın o IP'nin alan adınız için posta göndermesine izin verip vermediği, DKIM imzanızın geçerli olup olmadığı ve DNS kaydınızla eşleşip eşleşmediği, ve DMARC politikanızın yayınlanıp yayınlanmadığı. Eksik veya bozuk bir SPF kaydı bile Gmail veya Outlook'un mesajlarınızı spam olarak işaretlemesine neden olmaya yeterlidir. Üç DNS kaydının tamamını kontrol edin ve gönderme IP'nizin itibarını doğrulayın.

Evet, ancak sınırlamalarla. Gmail'in SMTP sunucusu (port 587'deki smtp.gmail.com ) Gmail hesabınız olarak kimliği doğrulanmış posta gönderecek. "Gönderen" adresinin özel alan adınızı göstermesini istiyorsanız, Gmail'in ayarlarında "Şu şekilde posta gönder" altında bu adresi eklemeniz ve sahipliğini doğrulamanız gerekir. Ancak Gmail, bazı e-posta istemcilerinde görünür bir "gmail.com aracılığıyla gönderildi" notu ekler. Kendi alan adınızla daha temiz bir kurulum için, Amazon SES gibi bir işlem e-posta sağlayıcısı veya adanmış bir SMTP aktarması kullanmak uzun vadede daha iyi bir seçimdir.