Rabu, 02 Mei 2012

SMTP (simple mail transfer protocol) dengan Java



              Kali ini kita akan membahas tentang SMTP tetapi khusus untuk client. Simple Mail Transfer Protocol (SMTP) adalah sebuah standar Internet untuk surat elektronik (e-mail) transmisi internet (IP) jaringan Protokol. SMTP pertama kali didefinisikan oleh RFC 821 (1982, akhirnya menyatakan STD 10), dan terakhir diperbarui oleh RFC 5321 (2008) yang meliputi SMTP diperpanjang (ESMTP) penambahan, dan merupakan protokol yang digunakan secara luas saat ini. 

Listing Program :

import java.io.*;
import java.net.*;
public class smtpClient{
public static void main (String[] argv)
{
 Socket smtpSocket=null;
 DataOutputStream os=null;
BufferedReader is=null;
try
{
smtpSocket= new Socket("mail.uajy.ac.id",25);
os=new DataOutputStream (smtpSocket.getOutputStream());
is=new BufferedReader (new
InputStreamReader (smtpSocket.getInputStream()));
}
catch(UnknownHostException e){
System.err.println("Nama komputer tidak dikenali");
}
catch (IOException e){
System.err.println("Tidak dapat melakukan operasi io");
if(smtpSocket!=null && os!=null && is!=null)
try{

//mengirim dan mencetak pesan
System.out.println(is.readLine());
os.writeBytes("HELLO\r\n");
System.out.print("HELLO\n");
System.out.println(is.readLine());
os.writeBytes("MAIL FROM:any@mail\r\n");
System.out.print("MAIL FROM:any@mail\n");
System.out.println(is.readLine());
os.writeBytes("RCPT To:kusnadi@mail.uajy.ac.id\r\n");
System.out.print("RCPT To:kusnadi@mail.uajy.ac.id\n");
System.out.println(is.readLine());
os.writeBytes("DATA\r\n");
System.out.print("DATA\n");
System.out.println(is.readLine()); 
os.writeBytes("From: any@mail\r\n");
System.out.print("From: any@mail\n");
System.out.println(is.readLine());
os.writeBytes("Subject: testing\r\n");
System.out.print("Subject: testing\n");
System.out.println(is.readLine());
os.writeBytes("Hi, ini percobaan kirim email.\r\n");
System.out.print("Hi, ini percobaan kirim email.\n");
System.out.println(is.readLine());
os.writeBytes("\r\n\r\n");
System.out.print(".\n");
System.out.println(is.readLine());
os.writeBytes("QUIT\r\n");
System.out.print("QUIT\n");
System.out.println(is.readLine());
//menutup semua object
os.close();
is.close();
smtpSocket.close();
}catch(UnknownHostException e){
System.err.println("Nama komputer tidak dikenali");
}catch(IOException e){
System.err.println("Tidak dapat melakukan operasi io");
}
}
}


Setelah file java disimpan maka langkah selanjutnya kita buka command prompt (CMD). Dicmd kita masuk pada direktori dimana file smptClient.java kita simpan.




setelah program di run 

Tidak ada komentar: