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.
İçindekiler Tablosu
- SMTP Gerçekte Ne Yapar
- SMTP Portları Açıklandı: 25, 465 ve 587
- Port 25 vs 587: Hangisini Kullanmalısınız?
- SMTP Port 465: SSL Mirasından Kalan Port
- SMTP Kimlik Doğrulaması: Nasıl Çalışır
- E-posta Sunucusu Kurulumu Adım Adım
- Popüler Sağlayıcılar İçin Yaygın SMTP Ayarları
- SMTP Bağlantı Sorunlarını Giderme
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.
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.
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
-
SMTP ana bilgisayar adını sağlayıcınızdan alın.
Örnekler:
smtp.gmail.com,smtp.office365.com,mail.yourdomain.com. - 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.
- Kimlik doğrulama bilgilerinizi girin. Bu genellikle kullanıcı adı olarak tam e-posta adresiniz artı şifreniz veya uygulama şifrenizdir.
- Şifreleme yöntemini ayarlayın. Bunu porta eşleştirin: 587 için STARTTLS, 465 için SSL/TLS.
- 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
.
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
- SMTP portunun açık olduğunu ve gönderme ortamınızdan erişilebilir olduğunu doğrulayın.
-
Ana bilgisayar adının doğru şekilde çözümlendiğini doğrulayın:
nslookup smtp.yourdomain.com. - Gönderme IP'nizin şu gibi bir araç kullanarak bir kara listeye alınmadığını kontrol edin: MXToolbox Kara Liste Kontrolü .
- 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.
-
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.
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.