📄 sendmail.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 + -