Cara Testing SMTP Auth Over TLS Menggunakan Openssl Client

Salah satu ciri mail server yang baik adalah menerapkan improvement SMTP Authentication atau biasa disingkat dengan SMTP Auth. Dengan adanya SMTP Auth mewajibkan klien SMTP (Pengirim Email) untuk login/authentikasi agar bisa mengirimkan email via SMTP Server (mail server). Sehingga hanya user yang trusted yang berhak menggunakan mail server. Selain itu dengan menggunakan SMTP AUTH administrator dapat mengetahui dari log, siapa saja user yang mengirimkan email.

SMTP Auth mencegah mail server menjadi open relay yang dapat memungkinkan mendistribusikan email spam dalam jumlah banyak. Akibatnya IP publik atau domain yang kita miliki reputasinya menjadi kurang baik dan bisa terblacklist di RBL dan mail server lain.

Setelah mengetahui sedikit penjelasan tentang SMTP Auth, mari kembali ke pembahasan pada tulisan ini yaitu Cara Testing SMTP Auth over TLS Menggunakan Openssl Client. Command yang dijelaskan pada tulisan ini bisa sebagai langkah untuk testing atau troubleshoot. Karena mungkin kita sebagai administrator email pernah menjumpai aplikasi pihak ketiga (third party) yang akan mengirimkan email melalui SMTP Server gagal mengirimkan email, padahal secara feature di aplikasi tersebut support menggunakan SMTP Authentication (memiliki form username, password, custom port 587/465 pada menu smtp).

Nah, sebagai langkah troubleshoot, ketika gagal mengirimkan via aplikasi. Kita bisa test pengiriman SMTP Auth melalui ssh/terminal server aplikasi tersebut sebagai perbandingan. Apakah problemnya disisi aplikasi atau memang dikarenakan hal lain. Jika testing smtp auth melalui ssh/terminal dapat berjalan dengan baik, berarti kesalahan ada disisi aplikasi, coba kontak ke developernya untuk troubleshoot jangan2 disisi codingan atau ada add-on/module yg belum terinstall. 🙂

Persiapan

Berikut beberapa hal yang mesti disiapakn untuk Testing SMTP AUTH menggunakan openssl :

  • Mail Server (Misal: mail.domain.com)
  • Username dan password (diencode menjadi bash64)
    Caranya : echo -ne ‘\[email protected]\0Password’ | base64 (Sesuikan dengan user dan password yang digunakan)
  • SSH/Terminal. biasanya untuk linux atau mac by default sudah terinstall open ssl clien

Command

Gunakan command dibawah ini untuk testing pengiriman email menggunakan SMTP Auth menggunakan openssl client :

openssl s_client -connect mail.domain.com:587 -starttls smtp

CONNECTED(00000003)

……………….

……………….

SSL-Session:

    Protocol  : TLSv1

    Cipher    : DHE-RSA-AES256-SHA

    Session-ID: EE727D9CC602F1B1C10C5506033A0167AADB9C9F2BF48468A17524E7D2CC6805

    Session-ID-ctx:

    Master-Key: 2E12116BB58C5BAC144AC252DC5E9F66D33872231E7FA05E47ABE624C6FB94E07DE7B0C8886D5D6BFCDCB813A54C6955

    Key-Arg   : None

    Start Time: 1558050506

    Timeout   : 300 (sec)

    Verify return code: 0 (ok)

250 DSN

ehlo mail.domain.com

250-mail.domain.com

250-PIPELINING

250-SIZE 153600000

250-VRFY

250-ETRN

250-AUTH LOGIN PLAIN

250-AUTH=LOGIN PLAIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

AUTH PLAIN AGFyaWYucmFobWFuQGV4Y2VsbGVudC5jby5pZAAhQWRtaW4xMjN+

235 2.7.0 Authentication successful

 

Setelah authentikasi berhasil, testing pengiriman email menggunakan command dibawah ini :

 

mail from:[email protected]

250 2.1.0 Ok

rcpt to:[email protected]

250 2.1.5 Ok

Data

354 End data with <CR><LF>.<CR><LF>

subject:Cara Testing SMTP Auth over TLS Menggunakan Openssl Client – arifrahman.net

.250 2.0.0 Ok: queued as 209E69E0B7

Cek di mailbox tujuan, semestinya email sudah terkirim. Jika belum ulangi langkah diatas barangkali ada langkah yang terlewat atau bisa juga cek pada log mailserver untuk tracking lognya. Semoga bermanfaat

Leave a Reply

Your email address will not be published. Required fields are marked *