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

📄 sendmail.java

📁 电子邮件的客户端程序 能实现电子邮件的上传与下栽
💻 JAVA
字号:
import sun.net.smtp.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import sun.net.*;
import java.io.*;

public class SendMail extends JFrame{
	JPanel contentPane;
	Label labelHost = new Label();
	TextField textFieldHost = new TextField();
	Label labelFrom = new Label();
	TextField textFieldFrom = new TextField();
	Label labelTo = new Label();
	TextField textFieldTo = new TextField();
	Label labelSubject = new Label();
	TextField textSubject = new TextField();
	TextArea textAreaBody = new TextArea(); 
	Button buttonSend = new Button();

	public SendMail() {
	    try {
	      jbInit();                                      // 界面初始化并显示
	    }
	    catch(Exception e) {
	      e.printStackTrace();
	    }
	}
	
    public static void main(String args[]){
    	new SendMail();
    }
    
	public void btnSendMail(ActionEvent e){
		try{
			SmtpClient mailer = new SmtpClient(textFieldHost.getText()); 
			mailer.from(textFieldFrom.getText());
			mailer.to(textFieldTo.getText());
	
			PrintStream ps = mailer.startMessage();
			ps.println("From: " + textFieldFrom.getText());
			ps.println("To: " + textFieldTo.getText()); 
			ps.println("Subject: " + textSubject.getText()); 
			ps.println();
			ps.println(textAreaBody.getText()); 
			mailer.closeServer(); 
			JOptionPane msg = new JOptionPane();                     // 提示对话框
			JOptionPane.showMessageDialog(SendMail.this, "mail successful", "mail successful", 1);
		}catch (Exception ex) { 
			JOptionPane msg = new JOptionPane();                     // 提示对话框
			JOptionPane.showMessageDialog(SendMail.this, "mail fail", "mail fail", 1);
			System.out.println("An error about:" + ex.getMessage()); 
		}
	}
	
	// 界面初始化并显示
	private void jbInit() throws Exception {
	    contentPane = (JPanel) this.getContentPane();
	    contentPane.setLayout(null);
	
	    labelHost.setText("服务器:");
	    labelHost.setBounds(new Rectangle(25, 15, 50, 22));
	    textFieldHost.setBounds(new Rectangle(80, 15, 280, 22));
	
	    labelFrom.setText("发件人:");
	    labelFrom.setBounds(new Rectangle(25, 50, 50, 22));
	    textFieldFrom.setBounds(new Rectangle(80, 50, 280, 22));

	    labelTo.setText("收件人:");
	    labelTo.setBounds(new Rectangle(25, 85, 37, 22));
	    textFieldTo.setBounds(new Rectangle(80, 85, 280, 22));
	
	    labelSubject.setText("主题:");
	    labelSubject.setBounds(new Rectangle(25, 120, 37, 22));
	    textSubject.setBounds(new Rectangle(80, 120, 280, 22));

	    textAreaBody.setBounds(new Rectangle(25, 155, 420, 235));
	
	    buttonSend.setLabel("发送");
	    buttonSend.setBounds(new Rectangle(375, 412, 70, 22));
	    buttonSend.addActionListener(new java.awt.event.ActionListener() {
	      public void actionPerformed(ActionEvent e) {
	        btnSendMail(e);
	      }
	    });
	    buttonSend.setEnabled(true);
	
	    contentPane.add(labelHost, null);
	    contentPane.add(textFieldHost, null);
	    contentPane.add(labelFrom, null);
	    contentPane.add(textFieldFrom, null);
	    contentPane.add(labelTo, null);
	    contentPane.add(textFieldTo, null);
	    contentPane.add(labelSubject, null);
	    contentPane.add(textSubject, null);
	    contentPane.add(textAreaBody, null);
	    contentPane.add(buttonSend, null);
	
	    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
	
	    this.setSize(new Dimension(480, 485));
	    this.setResizable(false);
    	this.setTitle("SendMail");
    	this.setVisible(true);
  	}

	// 关闭窗口
	protected void processWindowEvent(WindowEvent e) {
		super.processWindowEvent(e);
		if (e.getID() == WindowEvent.WINDOW_CLOSING) {
			System.exit(0);
		}
	}
}

⌨️ 快捷键说明

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