Telnet ile SMTP doğrulama ile e-posta gönderiminin test edilmesi

Herhangi bir sunucudan e-posta gönderip gönderemediğinin en temel yöntemi, telnet komutuyla herhangi bir e-posta istemcisinin haberleşmesini taklit etmek. Böylece sorunun (varsa) nerede olduğunu tespit etmek mümkün. Eğer telnet’le e-posta gönderirken sorun yaşamıyorsanız, sorun kullanmak istediğiniz istemci ayarlarında demektir.

İstemciler her zaman anlamlandırabileceğimiz hata mesajları da vermeyebiliyor, telnet ile gönderim, bir sorun varsa hangi noktada olduğunu tespit etmekte de yararlı olabilir.

Eğer karşı sunucuya relay hakkınız varsa, isim/parola girmeden kolaylıkla e-posta gönderebilirsiniz. Aşağıdaki anlatımda “AUTH LOGIN” ile “235 2.7.0 Authentication successful” satırları arasında kalan kısmı toptan pas geçebilirsiniz.

Eğer çoğu durumda olduğu gibi e-posta gönderimi için isim/parola doğrulaması yapmanız gerekiyorsa, bu bilgileri base64 kodlayarak göndermeniz gerekiyor. Bunu aşağıdaki perl satırı ile bu kodlamayı yapabiliriz:

Örneğin,

Şimdi e-posta gönderimini test edebiliriz:

Burada belirtilen VXNlcm5hbWU6 ifadesi, size base64 kodlanmış olarak kullanıcı adınızı girmenizi istiyor. Girelim biz de (üstte kodladığımız ifadeyle):

Bu kez de bize base64 kodlanmış olarak parolamızı sordu. Girelim yine (üstte kodladığımız ifadeyle):

Parola doğrulama işlemini bitirdik. Artık e-postamızla ilgili sunucuya bilgi verebiliriz:

Bu başlıklar, e-postanın kimden kime gideceğini e-posta sunucusuna söyledi. Biz de e-postanın içeriğini yazmak istediğimizi DATA komutuyla e-posta sunucusuna söyledik.

Önce e-postanın başlıklarını yazıyoruz (küçüktür-büyüktür işaretlerinden önce/sonra gelen boşlukları siliniz):

İlk “MAIL FROM” e-posta sunucusuna bilgi verirken, burada kullandığımız ikinci “FROM:” göndermek istediğiniz postanın içinde yer alıyor. Artık e-postanın gövdesini yazabiliriz. Yazdıklarımız bittiğinde bir kez boş satıra enter’a, daha sonra bir kez . yazıp enter’a, son olarak da tekrar boş satıra enter’a basmamız gerekiyor. Böylece e-postanın bittiği anlaşılıyor:

E-postamız başarıyla kuyruğa alındı.

Bu aşamalardan herhangi birinde takılıyorsanız, gönderimde tam sorunun nerede olduğunu buldunuz demektir.