intranet-gmail-sunucusu-uzerinden-e-posta-gondermek

Gmail sunucusu üzerinden e-posta göndermek

 

Kullanıcı girişi yaparak gmail server'ı üzerinden e-mail gönderimi yapabilmemiz için Mail server'ına STARTTLS komutu ile TLS kullanarak bağlanabiliriz. Bunun için aşağıdaki komut uygulanabilir.

openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:25

Fakat öncesinde TLS kullandığımız için mail adresi ve parolamızı base64* ile şifrelemeye ihtiyacımız olacaktır.

 

Base64 Şifreleme Tekniği

Mail sunucuna bağlandıktan sonra HELO komutunun ardından AUTH LOGIN* komutuyla giriş yapabilirsiniz. TLS kullanıldığı için e-mail adresi ve şifre ile kullanıcı girişi yapabilmek için ilk önce base64 şifreleme metodu ile şifrelemeniz gerekir. Bunun için aşağıdaki komutları kullanabilirsiniz.

perl -MMIME::Base64 -e 'print encode_base64("e-mail adresi")'

perl -MMIME::Base64 -e 'print encode_base64("e-mail parolası")'

Bu komutlar size karışık karakterlerden oluşan bir şifre verir. Örneğin "ZXJlbi5jYW4yM0BnbWFpbC5jb20=" gibi. Bunu bir yere kaydedelim, ihtiyacımız olacak.

Uyarı: e-mail adresiniz ve parolanızdaki $ " @ gibi bazı özel karakterlerden önce ters slash " \ " gelmesi gerekir. Örneğin mail adresiniz abc@domain.com şeklinde ise abc\@gmail.com şeklinde yazmanız gerekir.

 

AUTH LOGIN: Bu komut "doğrulama girişi" anlamına gelir, base64 ile şifrelenmiş kullanıcı bilgilerimizi kullanarak giriş yapmamızı sağlar. Aşağıdaki örnekte nasıl kullanılacağı anlatılmıştır.

 

Örnek:

perl -MMIME::Base64 -e 'print encode_base64("isim.soyisim\@gmail.com")'

perl -MMIME::Base64 -e 'print encode_base64("parola123")'

Yukarıdaki komutlar bize base64 ile şifrelenmiş olarak e-mail adresimiz ve parolamızı verecektir. Bunları not edelim. Artık mail sunucusuna bağlanabiliriz. " @ " işaretincen önce " \ " koymayı unutmayalım.

openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:25

smpt.gmail.com mail sunucusuna 25 numaralı porttan TLS ile bağlanıyoruz.

helo

İlk önce HELO komutu ile bağlı olduğumuz mail sunucusunu teyit etmemiz gerekecektir.

AUTH LOGIN

Bu komut uygulandıktan sonra base64 ile şifrelenmiş e-mail adresiniz ve parolanızı girmeniz gerekecektir. İlk önce e-mail adresinizi, daha sonra parolanızı giriniz.

mail from:<isim.soyisim@gmail.com>

MAIL FROM komutunu uygulamanız zorunludur, fakat bu kısma her ne yazarsanız yazın e-postanız giriş yaptığınız adresten gönderilecektir.

rcpt to:<mail@domain.com>

Gönderen ve alıcı mail adreslerini girelim. "RCPT TO" komutu ile birden fazla alıcı ekleyebiliriz.

data

DATA komutunu uyguladıktan sonra e-postamızı yazmaya başlayabiliriz.

from:isim.soyisim@gmail.com

to:mail@domain.com

"from" ve "to" kısımları doldurulmadığında bazı mail servislerinde alıcı gönderenin kim olduğunu göremez. Bu kısımlar doldurulmadığında göndereceğimiz e-posta bazı mail servisleri tarafından spam olarak algılanabilir. O yüzden bu kısımları doldurarak başka bir süzgece takılmadığı takdirde inbox'a (gelen kutusuna) düşmesini sağlayalım.

subject: mail konusu

Tercihe bağlı olarak e-postamız için başlık girebiliriz.

mesajınız

.

Boş bir satıra "." koyarak e-postamızı sonlandırabiliriz.

 

* Gönderilen mail'in hangi adresten gönderildiğinin alıcı tarafından görülebilmesi için "data" ifadesinden sonra "from" ve "to" alanlarını tekrar doldurmamız gerekir.

 


 

perl -MMIME::Base64 -e 'print encode_base64("e-mail adresi")'
perl -MMIME::Base64 -e 'print encode_base64("e-mail parolası")'

Komutlarını Linux shell konsolu üzerinde uyguladıktan sonra base64 ile şifrelenmiş olarak e-mail adresimiz ve parolamızı verecektir. Bunları not edelim. TLS ile güvenli bağlantı sağlandığı için gerekli olacaktır.

 

 

openssl s_client -starttls smtp -crlf -connect smtp.gmail.com:25 komutuyla sunucuya bağlanıldığında sunucuya bağlanılır ve ayrıntılı bir şekilde sunucu bilgileri dökülür. Bu aşamada komutlarımızı yazmaya başlayabiliriz. Yine HELO komutu ile başlıyoruz.

 


 

E-postamızı başarılı bir şekilde gönderdik.