TELNET ile E-posta Göndermek
TELNET ile (SMTP aracılığıyla) e-posta gönderimi sağlamak için genelde port 25 (veya 587) kullanılır. Bağlanmak istediğimiz mail sunucularının adreslerini nslookup -q=mx servis-saglayici.com komutuyla öğrenebiliriz. Örneğin hotmail için:
nslookup -q=mx hotmail.com
komutunu kullanabiliriz.
nslookup komutuna alternatif olarak host -t mx hotmail.com veya dig mx hotmail.com +short | sort komutlarını da kullanabiliriz.
Örnek:
Telnet ile port 25 üzerinden bir mail sunucusuna bağlanarak mail göndermek için aşağıdaki komut ile sunucuya bağlanılır.
telnet mail.domain.com 25
Mailin hangi domainden gönderileceğini belirtmek/görüntülemek için:
HELO local.domain.name
HELO komutuna alternatif olarak EHLO komutuda kullanabilir. HELO komutundan farkı, EHLO komutu sunucunun desteklediği uzantıları (extension) da listeler.
Maili gönderen kişi olarak görülecek mail adresi girilir:
MAIL FROM:<gonderen.kisi@domain.com>
Mail gönderilecek adres yazılır:
RCPT TO:<gonderilen.kisi@domain.com>
E-mail'i yazılmaya başlamak için:
DATA
Gönderen ve gönderilen mail adresleri, alıcı tarafından görülebilmesi için mail içerisinde de belirtilir. * Bazı mail servislerinde bu gerekmez. (Örneğin Microsoft)
from:gonderen.kisi@domain.com
to:gonderilen.kisi@domain.com
Eğer konu belirtilecek ise:
Subject: mailin konusu
E-mail'imizi yazdıktan sonra sonlandırmak için boş bir satıra nokta (.) konulur. * Bazı mail servislerinde mesajdan önce (başlıktan sonra) bir satır boş bırakmak gerekir.
Selam,
Bu e-posta test amaçlı gönderilmiştir.
.
Karşılaşılan Yanıt Kodları
211
Sunucu tarafından gönderilen yardım mesajı veya sistem durumunu gösteren yanıt kodudur. HELP komutu uygulandığında karşılaşılabilir.
214
HELP komutu uygulandığında görüntülenen yardım mesajının yanıt kodudur. Bu yardım mesajı destek alınabilecek bir web linki şeklinde de olabilir.
220
Sunucunun komut için hazır olduğu anlamına gelir. İlk bağlantı kurulduğunda "220 mx.google.com ESMTP" şeklinde veya STARTTLS komutu uygulandığında "220 2.0.0 Ready to start TLS" şeklinde yanıt alınabilir.
221
Sunucu ile bağlantı kesildiğinde alınan yanıt kodudur. Örneğin QUIT komutu ile çıkış yaparken "221 closing connection" şeklinde "bağlantı kapatılıyor" yanıtı alınabilir.
250
Komut başarıyla uygulandığında gelen yanıt kodudur. Örneğin "250 mx.google.com at your service" şeklinde bir yanıt, "komut kabul edildi, mx.google.com hizmetinizde" anlamına gelir.
251
Kullanıcı yerel olmadığı için başka bir adrese yönlendirildiğinde bu yanıt koduyla bir mesaj verilebilir.
354
DATA komutu kabul edildiğinde verilen yanıt kodudur. Mesaj içeriğini girmeniz gerektiği anlamına gelir. "354 Go Ahead" veya "354 Send data. End with CRLF.CRLF" şeklinde bir mesaj gelebilir. Bu, mesaj içeriğinin "." ile bitirilmesi gerektiği anlamına gelir.
421
"Sunucu hizmeti müsait değil, bağlantı kesiliyor" anlamına gelir.
450
Mail kutusu müsait olduğu için işlem yapılamadığında verilen hata mesajının kodudur.
451
Mail sunucusunun işlemi durdurduğu anlamına gelir. Gönderilen talep reddedildiğinde veya timeout olduğunda bu yanıt kodu alınabilir. "451 timeout (#4.4.2)" gibi.
452
Yeterli disk alanı olmadığı için işlem yapılamadığında bu yanıt kodu ile mesaj alınabilir.
500
Komut algılanamadı demektir. Yanlış sözcük dizisi girildiğinde bu mesaj alınır. "500 Unrecognized command" şeklinde hata mesajı verir. Bazı mail sunucularında komut kabul edilmediğinde 500 yerine 502 kodu verilebilir.
501
Parametrelerde veya girdide hata olduğunda bu yanıt koduyla beraber bir hata mesajı iletilir.
502
Girilen komut uygulanamadığında bu yanıt koduyla beraber hata mesajı verilebilir.
503
Tanımlanamayan komut dizisi olduğunda bu yanıt kodu ile cevap iletilebilir.
504
Komut veya parametre hatalı olduğunda sunucu bu yanıt kodunu iletebilir.
521
Gönderilen mail sunucu tarafından kabul edilmediği anlamına gelir.
550
Mesaj gönderilen e-posta adresi aktif olmadığında veya ulaşılamadığında bu yanıt kodu alınır.
551
Kullanıcı yerel olmadığı için başka bir adrese yönlendirildiği anlamına gelen yanıt kodudur.
552
Ayrılan disk alanı aşıldığı için işlem gerçekleştirilemediği anlamına gelen yanıt kodudur.
553
Mesaj kutusu izinli olmadığı için işlem gerçekleştirilemediği anlamına gelir.
554
Basit olarak işlem gerçekleştirilemedi anlamına gelir. Herhangi bir işlemde karşılaşılabilir.
5xx
500, 501, 502, 550 gibi 500 ile 599 arasındaki ifadeler farklı sebeplerde komutun kabul edilmediği anlamına gelir.