Displaying Source Code(s)
|
|
Program to develop a Mail Client in Java.
--------------------------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
public class MailClient
{
public static void main(String []args)
{
JFrame frame = new MailClientFrame();
frame.show();
}
}
class MailClientFrame extends JFrame implements ActionListener
{
private BufferedReader in;
private PrintWriter out;
private JTextField from;
private JTextField to;
private JTextField smtpServer;
private JTextArea message;
private JTextArea response;
private JLabel fromLbl;
private JLabel toLbl;
private JLabel serverLbl;
public MailClientFrame()
{
setTitle("Mail Client");
setSize(250,400);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));
fromLbl = new JLabel("From: ");
getContentPane().add(fromLbl);
from = new JTextField(20);
getContentPane().add(from);
toLbl = new JLabel("To: ");
getContentPane().add(toLbl);
to = new JTextField(20);
getContentPane().add(to);
serverLbl = new JLabel("SMTP Server:");
getContentPane().add(serverLbl);
smtpServer = new JTextField(20);
getContentPane().add(smtpServer);
message = new JTextArea(5,20);
getContentPane().add(message);
JScrollPane p = new JScrollPane(message);
getContentPane().add(p);
response = new JTextArea(5,20);
getContentPane().add(response);
JScrollPane p1 = new JScrollPane(response);
getContentPane().add(p1);
JButton sendButton = new JButton("Send");
sendButton.addActionListener(this);
JPanel buttonPanel = new JPanel();
buttonPanel.add(sendButton);
getContentPane().add(sendButton);
}
public void actionPerformed(ActionEvent evt)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
sendMail();
}
}
);
}
public void sendMail()
{
try
{
Socket s = new Socket(smtpServer.getText(),25);
out = new PrintWriter(s.getOutputStream());
in = new BufferedReader(new InputStreamReader(s.getInputStream()));
String hostName = InetAddress.getLocalHost().getHostName();
send(null);
send("HELO" + hostName);
send("MAIL FROM:"+ from.getText());
send("RCPT TO:" + to.getText());
send("DATA");
out.println(message.getText());
send(".");
s.close();
}
catch(IOException e)
{
response.append("Error:" + e);
}
}
public void send(String s) throws IOException
{
if(s!=null)
{
response.append(s+"<BR>);
out.println(s);
out.flush();
}
String line;
if ( (line = in.readLine())!=null)
{
response.append(line+"<BR>);
}
}
} |
|
|