⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailclient.java

📁 collection of java programs having gui applications
💻 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+"");
			out.println(s);
			out.flush();
		}
		String line;
		if ( (line = in.readLine())!=null)
		{
			response.append(line+"");
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -