Skip to content
3 Juni 2009 / Jeffrey Hermanto Halimsetiawan

POP3 Server dengan Socket Programming dalam Bahasa Java


POP3 Server adalah tempat dimana email ditampung dari berbagai pengirim yang dibagi dalam mailbox- mailbox dimana masing masing mailbox memiliki alamat yang unik dari pemiliknya. Mailbox tersebut memiliki quota space yang diset oleh administrator email server tersebut. Untuk mengakses mailbox tersebut dibutuhkan otentikasi akses dengan menggunakan konfigurasi tertentu seperti username dan password, atau yang biasa disebut mail account. Sebuah mail account memiliki konfigurasi yang berisi informasi teknis untuk dapat masuk dan membaca email email yang berada di POP3 Server. Selain itu, mungkin masih ada yang bingung mengenai perbedaan POP dan SMTP, Post Office Protocol (POP) digunakan untuk membaca email sedangkan Simple Mail Transfer Protocol (SMTP) digunakan untuk mengirim email.

Nah, dalam tulisan ini akan dijelaskan bagaimana caranya untuk membuat POP3 Server sederhana dengan memanfaatkan pemrograman socket dalam Bahasa Java. Nantinya, e-mail yang terdapat dalam POP3 Server dapat di-retreive dengan menggunakan telnet ataupun Mail Client seperti Outlook Express, Mozilla Thunderbird, dan lain sebagainya. Jika program POP3 Server nya telah di-run , cukup setting salah satu Mail Client tersebut dengan email address misalnya : jeffrey@localhost, POP3 Server : localhost, dan POP3 port : 1804. Kemudian , tinggal lakukan receive all maka semua e-mail untuk user jeffrey akan masuk ke inbox.

Sebenarnya format e-mail yang dibaca oleh e-mail client adalah seperti ini :


From amel@klp47.com  Tue Apr  7 23:08:41 2009
Return-Path:
X-Original-To: jeffrey
Delivered-To: jeffrey@klp47.com
Received: from hai (unknown [10.151.76.203])
        by klp47.com (Postfix) with SMTP id 5E5DBEAFC
        for ; Tue,  7 Apr 2009 23:08:03 +0700 (WIT)
Message-Id: <20090407160823.5E5DBEAFC@klp47.com>
Date: Tue,  7 Apr 2009 23:08:03 +0700 (WIT)
From: amel@klp47.com
To: undisclosed-recipients:;

Nyoba PJK jeh.....

Dalam program POP3 Server yang akan dibuat ini, nantinya akan terdapat file user.txt yang menyimpan username dan password , contoh :

jeffrey     12345
jeff        12345

Kemudian setiap user akan mempunyai file yang bernama seperti username nya yang didalamnya berisi e-mail yang formatnya seperti format di atas yang ditujukan untuk user tersebut. Jadi, nantinya aka nada file jeffrey dan jeff.

main dari program POP3 Server ini adalah sebagai berikut :

public static void main(String [] args) throws Exception{
        loadUser(listUser);
        int PORT = 1804;
        ServerSocket listenSocket = new ServerSocket(PORT);

        while(true) {
            PopRequest request = new PopRequest(listenSocket.accept());
            Thread thread = new Thread(request);
            thread.start();
        }
    }
}

Untuk lebih lengkapnya akan dijelaskan di dalam PDF berikut ini.

Download PDF Version : POP3 Server dengan Socket Programming dalam Bahasa Java

  1. Ferbianto / Jun 20 2009 20:34

    Mantab gan keep posting

    • Jeffrey Hermanto / Jun 28 2009 14:08

      thx2..

  2. Munjiah / Des 31 2010 10:14

    Mas..klo boleh tau..
    cara ngetes pop3 server di atas klo pke ms.outlook 2007 gmn ya?

    • Jeffrey Hermanto / Jan 2 2011 14:24

      Ya, tinggal di set aja account mailnya.
      Semisal, yang tercatat di POP server:
      – nama : jeffrey
      – pass : 12345

      Set ini di account settings:
      Email address : jeffrey@localhost
      Username: jeffrey
      Pass: 12345
      Incoming Mail Server: localhost
      POP3 Server Portnya juga disesuaikan, kalo aq pake port 1804 di contohnya.

      Semoga bermanfaat

  3. sheirsyuu / Jan 6 2011 02:03

    mau tanya bagian PopRequest.java

    pada saat melakukan

    DataInputStream br = new DataInputStream(is);
    if (!this.welcome){
    dos.writeBytes(“+OK Hello There.”+CRLF);
    this.welcome = true;
    }
    String requestLine = “”;
    byte ab[] = new byte[512];
    br.read(ab);

    bagian br.read sudah tidak bisa digunakan

    • Jeffrey Hermanto / Jan 7 2011 09:02

      maksudnya sudah tidak bisa digunakan? karena sudah saya coba dengan telnet ataupun Microsoft Office Outlook tidak bermasalah.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: