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

📄 mailclient.java

📁 自己写的java版的mailclient
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;

public class MailClient extends Frame {

	/*elements to set up a GUI*/
	    private Button btSend = new Button("Send");
	    private Button btClear = new Button("Clear");
	    private Button btQuit = new Button("Quit");
	    private Label fromLabel = new Label("From:");
	    private TextField fromField = new TextField("0361108@fudan.edu.cn", 40);
	    private Label toLabel = new Label("To:"); 
	    private TextField toField = new TextField("0361108@fudan.edu.cn", 40);
	    private Label subjectLabel = new Label("Subject:");
	    private TextField subjectField = new TextField("test", 40);
	    private Label messageLabel = new Label("Message:");
	    private TextArea messageText = new TextArea(10, 40);
	    
	
	
	public static void main(String args[]) {
		try {
			MailClient frame = new MailClient();
			frame.setVisible(true);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	 /**
     * Create a new MailClient window with fields for entering all
     * the relevant information (From, To, Subject, and message).
     */
    public MailClient() {
        super("Java Mailclient");
        
        /* Create panels for holding the fields. To make it look nice,
           create an extra panel for holding all the child panels. */
        Panel fromPanel = new Panel(new BorderLayout());
        Panel toPanel = new Panel(new BorderLayout());
        Panel subjectPanel = new Panel(new BorderLayout());
        Panel messagePanel = new Panel(new BorderLayout());
        fromPanel.add(fromLabel, BorderLayout.WEST);
        fromPanel.add(fromField, BorderLayout.CENTER);
        toPanel.add(toLabel, BorderLayout.WEST);
        toPanel.add(toField, BorderLayout.CENTER);
        subjectPanel.add(subjectLabel, BorderLayout.WEST);
        subjectPanel.add(subjectField, BorderLayout.CENTER);
        messagePanel.add(messageLabel, BorderLayout.NORTH);     
        messagePanel.add(messageText, BorderLayout.CENTER);
        Panel fieldPanel = new Panel(new GridLayout(0, 1));
        fieldPanel.add(fromPanel);
        fieldPanel.add(toPanel);
        fieldPanel.add(subjectPanel);
        
        messageText.setText("test");

        /* Create a panel for the buttons and add listeners to the
           buttons. */
        Panel buttonPanel = new Panel(new GridLayout(1, 0));
        btSend.addActionListener(new SendListener());
        btClear.addActionListener(new ClearListener());
        btQuit.addActionListener(new QuitListener());
        buttonPanel.add(btSend);
        buttonPanel.add(btClear);
        buttonPanel.add(btQuit);
        
        /* Add, pack, and show. */
        add(fieldPanel, BorderLayout.NORTH);
        add(messagePanel, BorderLayout.CENTER);
        add(buttonPanel, BorderLayout.SOUTH);
        pack();
        show();
    }
    class SendListener implements ActionListener {
    	public void actionPerformed (ActionEvent  event){
    		System.out.println("Sending mail...");
    		
    		/* check sender ,reveiver*/
    		if((fromField.getText()).equals("")||(toField.getText()).equals("")){
    			System.out.println("NEED SENDER AND RECEIVER!");
    			return;
    		}
    		/* format a message*/
    		Message message = new Message(fromField.getText(),
    				toField.getText(),
    				subjectField.getText(),
    				messageText.getText()
    				);
    		/*check the message*/
    		if(!message.isValid()){
    			System.out.println("THE MESSAGE IS NOT VALID!");
    			return;
    		}
    		/* send the messge*/
    		Envelope envelope = new Envelope(message);
    		try{
    			SMTPConnection connection = new SMTPConnection(envelope);
    			connection.send(envelope);
    			connection.close();
    		}catch(IOException error){
    			System.out.println("SEND FAILED..." + error);
    			return;
    		}
    		System.out.println("SEND SUCCESFULLY!");	
    	}
    }
    /* Clear the fields on the GUI. */
    class ClearListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            System.out.println("Clearing fields");
            fromField.setText("");
            toField.setText("");
            subjectField.setText("");
            messageText.setText("");
        }
    }
    /* Quit. */
    class QuitListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            System.exit(0);
        }
    }
}

⌨️ 快捷键说明

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