Bildiğiniz gibi Telnet komut setini daha çok port ve servislerin çalışıp çalışmadığını kontrol etmek için kullanıyoruz. Örneğin bir web sitesini dış dünyaya açtıktan sonra eğer bu siteye ulaşamıyorsanız ilk olarak aklınıza firewall dan 80 nolu port doğru açıldımı veya içerideki sunucuda IIS servisinin veya başka bir servisin 80 nolu portu dinleyip dinlemediğini kontrol etmek için telnet x.x.x.x 80 gibi basit bir komut ile kontrol yapabiliyoruz, eğer bağlantı sağlanamıyor ise bu durumda ya sorun firewall yada http hizmetini verecek olan servistedir.
Gelelim mail sistemlerine, telnet mail sistemleri için çok daha kritik bir noktadadır çünkü mail sistemlerindeki sorunlarda ilk olarak mail server’ ların birbirleri ile görüşüp görüşmediğini kontrol etmemiz gerekiyor. Örneğin yapınızda bir mail gateway ürünü var ( Edge server veya bright mail gibi ) ve size atılan maillerin kullanıcılara ulaşmadığını tespit ettiniz, buradaki en temel test ilk olarak dış dünyadaki bir sistemden telnet komutu ile 25 nolu porta bağlanmayı denemektir.
telnet mail.cozumpark.com 25
gelen cevap ise aşağıdaki gibidir
220-mail.cozumpark.com ESMTP CozumPark Mail Server; Mon, 25 Apr 2011 17:58:52 +0
300
220-******************************************************************
220-* Secure Mail Server – CozumPark BP
220-*
220-* All connections are logged!
220-* This server uses antivirus and antispam technology
220 ******************************************************************
Bu cevap kullandığınız MTA ya göre değişiklik gösterebilir. Ama temel olarak aşağıdakine benzer bir hata alıyorsanız port kapalı veya karşıdaki cihazın smtp protokolünü destekleyen servisinde sorun var demektir ( yani her zaman için tek sorun port veya firewall değil karşıdaki mta nın servislerinden veya yetkilendirmelerinden kaynaklananbilir. )
Peki telnet komutunu bu kadar bilmek yeterli mi ? Mail sorunlarını çözmek için yeterli değil çünkü örnek bir senaryo ile en azından telnet üzerinden mail göndermeyi bilmeniz gerektiğini açıklamak istiyorum.
Aşağıdaki topolojiye benzer bir toplojinizin olduğunu düşünün
Bu durumda ilk olarak telnet çektiğiniz yer smtp gateway ürünü olacaktır, eğer burada bir sorun yok ise bu durumda smtp gateway üzerinde login olarak ( windows ise login olabilirsiniz, linux bir sistem ise örneğin brightmail appliance putty ile bağlanıp telnet komutunu kullanabilirsiniz ) telnet yardımı ile smtp gateway üzerinden içerideki mail server’ a telnet deneyin. Peki her iki durumda da telnet ile bağlantı sağlanıyor ve size bir karşılama mesajı geliyor ise bu durumda portlar açık ve servisler çalışıyor demektir. Ancak buna rağmen mail gelmiyor ise bu durumda mutlaka bir hata mesajı dönmeli. Bunu zaten hotmail, gmail vb bir mail hizmeti veren sunucuların üzerinden mail göndererek size gelen NDR mesajındaki komutu arama motorlarında aratarak çözüme ulaşabilirsiniz veya telnet ile mail atmayı deneyip hatayı direk bu ekranda alırsınız.
Peki telnet ile mail nasıl gönderilir. Komut kullanımı aşağıdaki gibidir
Öncelikle sunucumuza bağlanalım ve komutları koşturmaya başlayalım ;
Bundan sonra istemci olarak RFC standartları gereği ilk koşturulacak komut selamlaşma komutu olan EHLO ( desteklenmiyor ise HELO ) komutudur.
Komutlar sırası ile
HELO hotmail.com
mail from: hakanschc[x]hotmail.com
rcpt to: hakan.uzuner[x]cozumpark.com
data
subject: deneme ( bundan sonra iki kere enter’ a basıyoruz ve mesajın içeriğini yazıyoruz )
deneme mesajı
.
mesajı yazdıkdan sonra tek bir satır üzerinde “nokta” işareti ile mesajın bittiğini belirtiyoruz, gerisi sunucuya kalmış, evet iletilen mail’ in ekran görüntüsüde aşağıdaki gibidir