Yeni bir mail hesabını Outlook'a, Thunderbird'e ya da telefonunuza eklerken karşınıza çıkan o ekran hep aynıdır: gelen sunucu, giden sunucu, bir sürü port numarası ve "SSL/TLS mi STARTTLS mi" diye soran bir açılır menü. Mail portları konusunda yapılan tek bir yanlış seçim, "mail geliyor ama gitmiyor", "gönderirken zaman aşımı veriyor" veya "sertifika uyarısı çıkıyor" şeklinde karşınıza döner. En can sıkıcı tarafı da şudur: hata mesajı size hangi ayarın yanlış olduğunu neredeyse hiçbir zaman söylemez.
Bu yazıda 25, 465, 587, 110, 143, 993 ve 995 numaralı portların her birinin ne işe yaradığını, hangisinin gönderme hangisinin alma tarafında kullanıldığını, implicit TLS (465) ile STARTTLS (587) arasındaki gerçek farkı ve port 25'in neden Türkiye'deki çoğu internet sağlayıcısında dışarı kapalı olduğunu anlatıyorum. Sonunda kopyalayıp doğrudan kullanabileceğiniz ayar tabloları, portun açık olup olmadığını komut satırından test etme yöntemleri ve yanlış port seçildiğinde alacağınız hata çıktılarının ne anlama geldiği var.
Mail Portları Tablosu: Hangi Port Ne İşe Yarar#
Aşağıdaki tablo, bir mail istemcisinde karşınıza çıkabilecek tüm portları tek ekranda toplar. Sağ sütun, bugün kurulum yaparken hangisini seçmeniz gerektiğini söyler.
| Port | Protokol | Yön | Şifreleme | Bugünkü durum |
|---|---|---|---|---|
| 25 | SMTP | Sunucudan sunucuya teslim | Yok / STARTTLS | İstemciden kullanmayın; çoğu ISP dışarı kapatır |
| 465 | SMTP | İstemciden gönderme | Implicit TLS (baştan şifreli) | Kullanılabilir, yaygın destekli |
| 587 | SMTP Submission | İstemciden gönderme | STARTTLS | Tercih edilen gönderme portu |
| 2525 | SMTP | İstemciden gönderme | STARTTLS | Standart değil; bazı sağlayıcıların alternatifi |
| 110 | POP3 | Alma | Yok | Şifresiz, kullanmayın |
| 995 | POP3S | Alma | Implicit TLS | POP3 kullanacaksanız bunu seçin |
| 143 | IMAP | Alma | Yok / STARTTLS | Şifresiz varyantından kaçının |
| 993 | IMAPS | Alma | Implicit TLS | Tercih edilen alma portu |
Buradaki en kritik ayrım şudur: 25, 465, 587 ve 2525 gönderme portlarıdır; 110, 143, 993 ve 995 alma portlarıdır. Bu ikisi birbirinin yerine geçmez. "Mail geliyor ama gidemiyor" şikâyetlerinin büyük kısmı, alma tarafı doğru ayarlanmış ama giden sunucu portu yanlış bırakılmış hesaplardan gelir.
Gönderme ve Alma Aynı Şey Değil: SMTP, IMAP ve POP3#
Bir mail istemcisi aslında iki ayrı sunucuya bağlanır ve bu iki bağlantının ortak hiçbir yanı yoktur. Gönderirken SMTP, okurken IMAP ya da POP3 konuşur.
SMTP (Simple Mail Transfer Protocol) yalnızca gönderme işini yapar. Siz "Gönder" dediğinizde istemciniz SMTP sunucusuna bağlanır, kimlik doğrular ve mesajı teslim eder. Sunucu da mesajı alıcının sunucusuna yine SMTP ile iletir. Bu iki iş farklı portlarda yapılır: istemci → sunucu için 587/465, sunucu → sunucu için 25.
IMAP ve POP3 okuma tarafındadır. IMAP mailleri sunucuda bırakır ve klasör yapısını tüm cihazlarınızla senkronize eder; POP3 ise mailleri indirip (varsayılan ayarda) sunucudan siler. İkisi arasındaki farkın günlük hayattaki sonuçlarını ayrıntılı olarak IMAP ve POP3 farkı yazısında ele aldım; kısaca, birden fazla cihazdan maile bakıyorsanız IMAP dışında bir seçenek yok.
Bu üçlüyü karıştırmanın klasik belirtisi şudur: gelen kutusu dolu ve çalışıyor, ama gönderilen her mail "Gönderilemedi" kutusunda takılı kalıyor. Alma protokolünüz (IMAP) doğru, gönderme protokolünüz (SMTP) yanlış demektir.
SMTP Portu 587 mi 465 mi#
Kısa cevap: önce 587'yi deneyin, olmuyorsa 465 kullanın. İkisi de doğru sonucu verir, fark şifrelemenin ne zaman başladığındadır.
Port 587 (Submission) + STARTTLS: Bağlantı önce şifresiz açılır. İstemci EHLO gönderir, sunucu yeteneklerini listeler, istemci STARTTLS komutunu verir ve bağlantı o noktada TLS'e yükseltilir. Kimlik bilgileri hiçbir zaman şifresiz gitmez, çünkü AUTH komutu TLS kurulduktan sonra çalışır. RFC tarafından istemci gönderimi için ayrılmış resmi port budur.
Port 465 (SMTPS) + Implicit TLS: TCP bağlantısı kurulur kurulmaz TLS el sıkışması başlar. Şifresiz tek bir bayt bile gitmez. Bir dönem "kullanımdan kaldırıldı" diye işaretlenmişti, sonra tekrar standart olarak tanımlandı ve bugün gayet sağlıklı bir seçimdir.
Pratikte 465'i tercih etmeniz gereken iki durum vardır. Birincisi, ağınızda TLS yükseltmesini bozan bir güvenlik duvarı ya da "SMTP inspection" özelliği açık bir cihaz varsa: bu cihazlar STARTTLS yanıtını gizleyerek istemcinin şifreleme kurmasını engeller, siz de sebebini anlamadan kimlik doğrulama hatası alırsınız. Baştan şifreli olan 465'te bu müdahale mümkün değildir. İkincisi, istemcinizin STARTTLS uygulaması sorunluysa (bazı eski cihaz yazılımları ve gömülü sistemler).
Yapmamanız gereken şey ise 587 portunu seçip şifrelemeyi "Yok" bırakmaktır. Bu kombinasyon çalışsa bile parolanız ağda açık gider ve çoğu sunucu zaten kimlik doğrulamayı şifresiz oturumda reddeder.
Port 25 Neden Çoğu Yerde Kapalı#
Port 25 istemcinin kullanacağı bir port değildir; sunucular arası teslim içindir. Türkiye'deki internet sağlayıcılarının büyük çoğunluğu, ev ve mobil aboneliklerde 25 numaralı porta giden trafiği engeller. Sebep basit: virüs bulaşmış bir bilgisayarın doğrudan dünyaya spam göndermesinin en kolay yolu 25'tir. Bu engelleme dünya genelinde on yılı aşkın süredir standart uygulamadır.
Sonuç olarak evden ya da mobil veriden 25 üzerinden mail göndermeye çalıştığınızda şunu görürsünüz:
Sunucuya bağlanılamadı. Zaman aşımı.
Outlook: 0x800CCC0F | Thunderbird: "Sending of message failed. Connection timed out."
Bu hata bağlantı kurulamadığı için gelir, kimlik doğrulama aşamasına hiç gelinmez. Aynı ayarla ofis ağında çalışıp evde çalışmaması da tipik belirtidir — iki ISP'nin politikası farklıdır.
Türkçe hosting bilgi bankalarının büyük kısmında hâlâ "giden sunucu portu 25 olmalı" yazması, bu sayfaların yıllardır güncellenmemesindendir. Bugün doğru cevap 587 ya da 465'tir; 25'i istemci ayarında hiçbir koşulda seçmeyin.
Portun sizde açık olup olmadığını şöyle test edebilirsiniz:
# Zaman aşımına düşerse ISP'niz 25'i kapatmıştır
nc -vz mail.alanadiniz.com 25
# 587 ile karşılaştırın; bu genelde açılır
nc -vz mail.alanadiniz.com 587
Windows'ta:
Test-NetConnection -ComputerName mail.alanadiniz.com -Port 25
Test-NetConnection -ComputerName mail.alanadiniz.com -Port 587
TcpTestSucceeded : False çıktısı 25 için normal, 587 için ise sunucu ya da güvenlik duvarı sorununa işaret eder.
IMAP 993 ve POP3 995: Alma Tarafında Doğru Ayar#
Alma tarafında karar ağacı çok daha kısadır: IMAP kullanacaksanız 993, POP3 kullanacaksanız 995. İkisi de implicit TLS'tir, yani bağlantı ilk andan itibaren şifrelidir.
143 ve 110 portları bu protokollerin şifresiz hâlleridir. Bugün bunları seçmek için hiçbir geçerli sebep yok: mail içeriğiniz ve parolanız ağda düz metin dolaşır. 143 portu STARTTLS ile şifrelenebilir ve bazı kurulumlarda bu şekilde kullanılır, ama istemci ayarında elle 993 yazmak hem daha kısa hem daha güvenli bir yoldur.
Bir dikkat noktası: bazı istemciler 993'ü seçtiğinizde şifreleme menüsünü otomatik "SSL/TLS" yapar, bazıları yapmaz. Port 993 + şifreleme "Yok" kombinasyonu hiçbir zaman çalışmaz; sunucu TLS el sıkışması beklerken istemci düz metin komut gönderir ve bağlantı anlaşılmaz bir hatayla kopar. Aynı şekilde port 143 + "SSL/TLS" de çalışmaz. Port ve şifreleme türü birbirine bağlıdır.
Implicit TLS ile STARTTLS Farkı#
Bu ikisi arasındaki farkı bilmek, mail ayarlarında karşınıza çıkacak sorunların yarısını çözer. Aradaki fark şudur: implicit TLS'te şifreleme bağlantının ilk anında başlar, STARTTLS'te ise şifresiz başlayan bağlantı sonradan yükseltilir.
STARTTLS oturumu şöyle görünür:
S: 220 mail.alanadiniz.com ESMTP ready
C: EHLO istemci.local
S: 250-mail.alanadiniz.com
S: 250-STARTTLS
S: 250-AUTH PLAIN LOGIN
S: 250 OK
C: STARTTLS
S: 220 Ready to start TLS
<-- bu noktadan sonrası şifreli -->
C: AUTH LOGIN
Implicit TLS'te ise 220 karşılama satırını bile göremezsiniz, çünkü ilk paket TLS ClientHello'dur.
İstemci menülerindeki isimlendirme sağlayıcıdan sağlayıcıya değişir ve kafa karışıklığının asıl kaynağı budur:
| Menüde gördüğünüz | Gerçekte anlamı | Uygun port |
|---|---|---|
| SSL/TLS | Implicit TLS | 465 (SMTP), 993 (IMAP), 995 (POP3) |
| STARTTLS | Şifresiz başlar, yükseltilir | 587 (SMTP), 143 (IMAP), 110 (POP3) |
| TLS | Genelde STARTTLS kastedilir | 587 |
| Yok / None | Şifreleme yok | Hiçbiri — kullanmayın |
| Otomatik | İstemci tahmin eder | Sorun çıkarsa elle seçin |
"Otomatik" seçeneği kurulumu hızlandırır ama teşhisi zorlaştırır. Bir hesapta sorun yaşıyorsanız ilk yapacağınız iş, otomatik ayarı kapatıp port ve şifreleme türünü elle girmektir.
Doğru Port Kombinasyonları#
Aşağıdaki iki kombinasyondan biri, paylaşımlı hosting üzerindeki hemen her mail hesabında çalışır.
Önerilen (IMAP + STARTTLS gönderim):
; Gelen sunucu
Protokol = IMAP
Sunucu = mail.alanadiniz.com
Port = 993
Şifreleme = SSL/TLS
Kullanıcı = [email protected] ; tam adres, sadece "ad" değil
; Giden sunucu
Protokol = SMTP
Sunucu = mail.alanadiniz.com
Port = 587
Şifreleme = STARTTLS
Kimlik doğrulama = Evet, gelen sunucuyla aynı bilgiler
Alternatif (her şey implicit TLS):
Gelen : mail.alanadiniz.com : 993 : SSL/TLS
Giden : mail.alanadiniz.com : 465 : SSL/TLS
Üç kural her zaman geçerlidir:
- Kullanıcı adı tam e-posta adresidir.
infodeğil,[email protected]. Yıllardır gördüğüm en yaygın kimlik doğrulama hatası budur. - Giden sunucu kimlik doğrulaması açık olmalıdır. İstemcilerin bir kısmı bunu varsayılan olarak kapalı bırakır; kapalıysa sunucu göndermeyi reddeder (relay access denied).
- Sunucu adı sertifikayla eşleşmelidir.
mail.alanadiniz.comyerine sunucunun makine adını yazarsanız bağlantı kurulur ama "sertifika bu sunucuya ait değil" uyarısı alırsınız. Alan adınızın mail alt alan adını kullanın; alt alan adı yapısını nasıl kurduğunuzu bilmiyorsanız cPanel'de addon ve parked domain yönetimi yazısı bu ilişkiyi açıklıyor.
Portun Açık Olduğunu ve TLS'in Çalıştığını Test Etme#
Ayarları kaydetmeden önce bağlantının gerçekten kurulabildiğini doğrulamak, saatlerce süren tahmin oyununu bitirir. İstemciye hiç dokunmadan komut satırından test edebilirsiniz.
Implicit TLS (465 ve 993) testi:
openssl s_client -connect mail.alanadiniz.com:465 -servername mail.alanadiniz.com
openssl s_client -connect mail.alanadiniz.com:993 -servername mail.alanadiniz.com
STARTTLS (587) testi:
openssl s_client -starttls smtp -connect mail.alanadiniz.com:587 -crlf
Başarılı bir çıktıda şu satırları görürsünüz:
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
Verify return code: 0 (ok)
250 mail.alanadiniz.com
Verify return code: 0 (ok) sertifikanın geçerli ve doğru isimde olduğunu söyler. Buradan farklı bir kod (örneğin 18 (self signed certificate)) görüyorsanız istemciniz de aynı uyarıyı verecektir.
Bağlantının hangi aşamada koptuğunu görmek için telnet de yeterlidir:
telnet mail.alanadiniz.com 587
Ekranda 220 ... ESMTP satırı çıkıyorsa port açık ve sunucu yanıt veriyor demektir; sorun ayarların geri kalanındadır. Hiç yanıt gelmiyorsa ya ISP engeli ya güvenlik duvarı vardır. Bu testleri tarayıcıdan yapmak isterseniz SMTP test aracı port ile TLS modu uyumunu kontrol eder ve size çalıştıracağınız komutları üretir.
Yanlış Port Seçildiğinde Alınan Hatalar#
Hata metni size doğrudan "port yanlış" demez, ama hangi hatanın hangi yanlıştan çıktığını bilirseniz teşhis birkaç saniyeye iner.
| Hata / belirti | Muhtemel sebep | Çözüm |
|---|---|---|
| Bağlantı zaman aşımı, giden mailde takılma | Port 25 kullanılıyor, ISP engelliyor | Giden portu 587 veya 465 yapın |
| "Bağlantı sunucu tarafından sıfırlandı" | 993'te şifreleme "Yok" seçili | Şifrelemeyi SSL/TLS yapın |
| "Sunucu STARTTLS desteklemiyor" | 465'te STARTTLS seçili | Şifrelemeyi SSL/TLS yapın |
| "Sertifika adı eşleşmiyor" | Sunucu adı yanlış yazılmış | mail.alanadiniz.com kullanın |
| "Relay access denied" / 550 | Giden kimlik doğrulaması kapalı | SMTP kimlik doğrulamasını açın |
| "Kullanıcı adı veya parola hatalı" (doğruyken) | Kullanıcı adı tam adres değil | [email protected] yazın |
| Alma çalışıyor, gönderme çalışmıyor | Yalnızca SMTP tarafı yanlış | Giden sunucu bloğunu baştan girin |
Bu tablodaki son satır özellikle önemlidir: alma ve gönderme birbirinden bağımsız olduğu için, biri çalışıyor diye diğerinin ayarlarının doğru olduğunu varsaymayın.
Sunucu Taşırken Portlar Neden Yeniden Konuşulur#
Mail hesaplarını başka bir sunucuya taşıdığınızda istemcilerdeki eski ayarlar bir süre daha çalışmaya devam eder, çünkü DNS önbelleği eski IP'yi tutar. Bu geçiş penceresinde kullanıcılar bir eski bir yeni sunucuya bağlanır ve "bazı mailler geliyor bazıları gelmiyor" tablosu ortaya çıkar.
Taşıma sırasında port ayarları da değişebilir: eski sunucu 143 + STARTTLS ile çalışıyorken yeni sunucu yalnızca 993 dinliyor olabilir. Bu yüzden taşımadan sonra kullanıcılara yalnızca "sunucu adı değişti" demek yetmez, tam ayar bloğunu (sunucu, port, şifreleme, kullanıcı adı biçimi) yazılı olarak vermek gerekir. Taşıma sürecinin tamamını ve mail kaybını önleme adımlarını e-postaları yeni sunucuya taşıma yazısında adım adım anlattım.
Sıkça Sorulan Sorular#
SMTP portu 587 mi 465 mi kullanmalıyım#
Önce 587'yi (STARTTLS ile) deneyin, çalışmazsa 465'e (SSL/TLS ile) geçin. İkisi de günümüzde geçerli ve güvenlidir; 587 istemci gönderimi için ayrılmış resmi porttur, 465 ise bağlantıyı ilk andan şifreler. Ağınızda TLS yükseltmesine karışan bir güvenlik cihazı varsa 465 daha güvenilir sonuç verir. Hangisini seçerseniz seçin, şifreleme menüsünü porta uygun ayarlamayı ve giden sunucu kimlik doğrulamasını açık bırakmayı unutmayın.
Port 25 neden çalışmıyor#
Port 25 çalışmıyor çünkü Türkiye'deki internet sağlayıcılarının büyük çoğunluğu ev ve mobil aboneliklerde bu porta çıkışı engeller. Bu engelleme, virüslü cihazların doğrudan spam göndermesini önlemek için dünya genelinde uygulanan standart bir önlemdir ve kaldırılması sizin elinizde değildir. Zaten port 25 istemci gönderimi için tasarlanmamıştır; sunucular arası teslim portudur. İstemci ayarlarınızda 587 ya da 465 kullanın, sorun ortadan kalkar.
IMAP portu 993 mü 143 mü olmalı#
IMAP için 993 kullanın. Bu port implicit TLS ile çalışır, yani bağlantı kurulur kurulmaz şifrelenir ve parolanız ağda hiçbir zaman açık dolaşmaz. Port 143 aynı protokolün şifresiz hâlidir; STARTTLS ile şifrelenebilse de istemci ayarında elle 993 seçmek hem daha kısa hem daha güvenlidir. Port 993 seçtiğinizde şifreleme menüsünü mutlaka "SSL/TLS" yapın, "Yok" bırakırsanız bağlantı kurulmaz.
POP3 portu 995 ne zaman kullanılır#
Port 995, POP3 protokolünü şifreli kullanmak istediğinizde seçilir ve POP3 kullanacaksanız tek doğru porttur. Ancak POP3'ün kendisi bugün çoğu kullanıcı için yanlış tercihtir: mailleri sunucudan indirip siler, dolayısıyla telefonunuzdan ve bilgisayarınızdan aynı kutuya bakamazsınız. POP3'ü yalnızca tek cihazdan çalışıyorsanız ve mailleri bilinçli olarak yerelde topluyorsanız kullanın. Diğer tüm durumlarda IMAP + 993 doğru cevaptır.
SSL/TLS ile STARTTLS arasındaki fark nedir#
Fark, şifrelemenin ne zaman başladığıdır. SSL/TLS (implicit TLS) seçeneğinde bağlantı ilk andan itibaren şifrelidir ve 465, 993, 995 portlarıyla kullanılır. STARTTLS'te ise bağlantı şifresiz açılır, istemci STARTTLS komutunu göndererek oturumu yükseltir ve şifreleme ondan sonra başlar; 587 ve 143 portlarıyla kullanılır. Güvenlik açısından ikisi de kabul edilebilirdir, ancak port ile şifreleme türünü eşleştirmezseniz bağlantı hiç kurulmaz.
Kullanıcı adı olarak sadece kullanıcı adını mı yazmalıyım#
Hayır, tam e-posta adresinizi yazın: info değil [email protected]. Paylaşımlı hosting sunucuları aynı makinede yüzlerce alan adı barındırdığı için, hangi alan adının hangi kutusuna bağlandığınızı yalnızca tam adresten anlarlar. Yalnızca kullanıcı adı girildiğinde sunucu kimliği çözemez ve doğru parolayla bile "kullanıcı adı veya parola hatalı" hatası alırsınız. Bu, mail kurulumunda en sık yapılan tek hatadır.
Mail alabiliyorum ama gönderemiyorum, sebebi ne olabilir#
Alma çalışıp gönderme çalışmıyorsa sorun neredeyse her zaman SMTP tarafındadır, çünkü alma ve gönderme birbirinden tamamen bağımsız iki bağlantıdır. Sırayla şunları kontrol edin: giden port 25 kalmış olabilir (587 yapın), giden sunucu kimlik doğrulaması kapalı olabilir (açın), şifreleme türü portla uyumsuz olabilir (587 için STARTTLS, 465 için SSL/TLS). Bunlar düzeltildiği hâlde sorun sürüyorsa sunucu tarafındaki saatlik gönderim limitine takılmış olabilirsiniz.
Telefonumda çalışan ayar bilgisayarımda neden çalışmıyor#
Bunun en yaygın sebebi, iki cihazın farklı ağlarda olmasıdır. Telefonunuz mobil veriden ya da başka bir Wi-Fi ağından bağlanıyorsa, bilgisayarınızın bulunduğu ağdaki güvenlik duvarı veya kurumsal ağ politikası ilgili portu engelliyor olabilir. İkinci sebep, masaüstü istemcilerin "otomatik yapılandırma" ile yanlış port tahmin etmesidir. Aynı ayarları elle girip, bağlantıyı Test-NetConnection veya openssl s_client ile doğrulayın; port açıksa sorun ayarlarda, değilse ağdadır.
Kapanış#
Mail portları karmaşık görünse de aslında iki cümleye sığar: gönderirken 587 (STARTTLS) veya 465 (SSL/TLS), okurken 993 (IMAP) ya da POP3 kullanıyorsanız 995. Port 25 istemci ayarında hiçbir zaman doğru cevap değildir; şifresiz 110 ve 143 de öyle. Bunun üzerine kullanıcı adını tam e-posta adresi olarak girmek ve giden sunucu kimlik doğrulamasını açık bırakmak eklendiğinde, mail kurulumunda karşılaşacağınız sorunların ezici çoğunluğu ortadan kalkar. Bir sorun kaldığında da tahmin yürütmek yerine openssl s_client ile bağlantıyı doğrulamak, hangi katmanda takıldığınızı saniyeler içinde gösterir.
Kurumsal e-posta altyapısını kendiniz kurup yönetmek yerine çalışan bir yapıyla başlamak isterseniz, kurumsal e-posta çözümleri sayfasındaki paketler alan adınıza bağlı hesapları doğru port ve TLS yapılandırmasıyla hazır sunar; alan adı ve mail kutularını aynı yerde tutmak isteyenler için hosting paketleri zaten webmail, IMAP ve SMTP erişimini birlikte getirir. Kendi mail sunucunuzu işletip yüksek hacimli gönderim yapacaksanız SMTP sunucu tarafı Postfix, Dovecot ve TLS yapılandırması kurulu hâlde teslim edilir; alan adınızın MX ve mail alt alan adı kayıtlarını düzenlemek için de alan adı yönetimi tarafındaki DNS ekranı yeterlidir.