📄 smtpclient.java
字号:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class SMTPClient extends JFrame{
private JLabel fromLabel=new JLabel("From:");
private JTextField fromField=new JTextField(40);
private JLabel toLabel=new JLabel("To:");
private JTextField toField=new JTextField(40);
private JLabel subjectLabel=new JLabel("Subject:");
private JTextField subjectField=new JTextField(40);
private JLabel messageLabel=new JLable("Message:/n");
private JTextArea message=new JTextArea(40,12);
private JScrollPane jsp=new JScrollPane(message);
private JButton sendButton=new JButton("Send");
private JButton clearButton=new JButton("Clear");
private JButton quitButton=new JButton("Quit");
Public SMTPClient(){
super("Java MailClient");
Container contentPane=this.getContentPane();
contentPane.setLayout(new BorderLayout());
JPanel labels=new JPanel();
labels.setLayout(new GridLayout(4,1));
JPanel fields=new JPanel();
fields.setLayout(new GridLayout(4,1));
string from=System.getProperty("mail.from"," ");
fromField.setText(from);
labels.add(fromLabel);
fields.add(fromField);
labels.add(toLabel);
fields.add(toField);
labels.add(subjectLabel);
fields.add(subjectLabel);
labels.add(messageLabel);
Box north=Box.createHorizontalBox();
north.add(labels);
north.add(fields);
contentPane.add(north,BorderLayout.NORTH);
message.setFont(new Font("Monospaced",Font.PLAIN,12));
contentPane.add(jsp,BorderLayout.CENTER);
JPanel buttons=new JPanel();
buttons.setLayout(new GridLayout(1,3));
buttons.add(sendButton);
sendButton.addActionListener(new sendAction());
buttons.add(clearButton);
clearButton.addActionListener(new clearAction());
buttons.add(quitButton);
quitButton.addActionListener(new quitAction());
contentPane.add(buttons,BorderLayout.SOUTH);
this.pack();
}
class SendAction implements ActionListener{
public void actionPerformed(ActionEvent evt){
try{
properties props=new properties();
string host=system.getProperty("mail.host"," ");
props.put("mail.host",host);
Session mailConnection=Session.getInstance(props,null);
final Message msg=new MineMessage(mailConnection);
Address to=new InternetAddress(toField.getText());
Address from=new InternetAddress(fromField.getText());
msg.setContent(message.getText(),"text/plain");
msg.setFrom(from);
msg.setRecipient(Message.RecipientType.TO,to);
msg.setSubject(subjectField.getText());
Runnable r=new Runnable(){
public void run(){
try{
Transport.send(msg);
}
catch (Exception ex){
ex.printStackTrace();
}
}
}
Thread t=new Thread(r);
t.start();
message.setText(" ");
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
class clearAction implements ActionListener{
public void actionPerformed(ActionEvent evt){
fromField.setText(" ");
toField.setText(" ");
subjectField.setText(" ");
message.setText(" ");
}
}
class quitAction implements ActionListener{
public void actionPerformed(ActionEvent evt){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
public static void main(string[] args){
SMTPClient client=new SMTPClient();
client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
client.show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -