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

📄 sendmail.java

📁 有来提供email服务的java系统
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class SendMail extends JFrame implements ActionListener {
	private String host;       //邮件服务器
	private String username;   //用户名
	private String password;   //密码
	private String from;       //发送者地址
	private String to;         //接收者地址
	private String subject;    //邮件主题
	private String body;       //邮件正文
	
	private JLabel labels[] = new JLabel[6];
	private JTextField textFields[] = new JTextField[6];
	private JTextArea content;
	private JButton send,cancel;
    private JPanel buttonPanel, messagePanel, msgPanel, msgPanel2; 
    
    private static final String labelNames[] = {"Host Address:",
    	     "User Name:", "PassWord:", "From:", "To:", "Subject:"};
    
	public SendMail()
	{
		super("Send Mail");
		
		//获取内容面板
		Container container = getContentPane();
		
		//创建标签,文本域
		for(int i = 0; i < labelNames.length; i++){
		   labels[i] = new JLabel(labelNames[i], JLabel.RIGHT);
		   labels[i].setOpaque(true);
		   labels[i].setBackground(new Color(200, 255, 255));
		   
		   textFields[i] = new JTextField(20);
		}
		textFields[2] = new JPasswordField(20);
		content = new JTextArea(30, 30);
		content.setFont(new Font("Serif", Font.PLAIN, 14));
		content.setLineWrap(true);
		content.setWrapStyleWord(true);
		
		//创建按钮,注册监听器
		send= new JButton("Send");
		cancel = new JButton("Cancel");
		send.addActionListener(this);
		cancel.addActionListener(this);
        
        //创建面板
		msgPanel = new JPanel(new GridLayout(6,1));
		msgPanel2 = new JPanel(new GridLayout(6,1));
		msgPanel.setBorder(BorderFactory.createMatteBorder(2,2,2,2,new Color(200,255,255)));
		msgPanel2.setBorder(BorderFactory.createMatteBorder(2,2,2,2,new Color(200,255,255)));
		for(int i = 0; i < labels.length; i++)
		{
			msgPanel.add(labels[i]);
			msgPanel2.add(textFields[i]);
		}
        messagePanel = new JPanel(new BorderLayout());
        messagePanel.setBorder(BorderFactory.createMatteBorder(2,2,2,2,new Color(200,255,255)));
        buttonPanel = new JPanel(new GridLayout(1,2,5,5));
        
        //往面板里添加组件
        buttonPanel.add(send);
        buttonPanel.add(cancel);
        messagePanel.add(msgPanel, BorderLayout.WEST);
        messagePanel.add(msgPanel2, BorderLayout.CENTER);
   
        container.add(messagePanel, BorderLayout.NORTH);
        container.add(new JScrollPane(content), BorderLayout.CENTER);
        container.add(buttonPanel, BorderLayout.SOUTH);
	}
	
	public static void main(String[] args) 
	{
		SendMail demo = new SendMail();
		demo.setSize(400,400);                
		demo.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		demo.show();
	}

	public void actionPerformed(ActionEvent event)
	{
		if(event.getSource() == cancel)
		{
			body = "";
			content.setText("");
		}
		else if(event.getSource() == send)
		{
			host = textFields[0].getText().trim();
			username = textFields[1].getText().trim();
			password = new String(((JPasswordField)textFields[2]).getPassword());
			from = textFields[3].getText().trim();
			to = textFields[4].getText().trim();
			subject = textFields[5].getText().trim();
			body = content.getText().trim();
			send();
		}
	}
	
	//发送邮件
	private void send()
	{
		Properties props;
		Session sendMailSession;
		Message newMessage;
	    Transport transport; 
		try
		{
			props = new Properties();
			sendMailSession = Session.getInstance(props, null);
			props.put("mail.smtp.host", host);
			//创建邮件
			newMessage = new MimeMessage(sendMailSession);
			//设置邮件
			newMessage.setFrom(new InternetAddress(from));
			newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress (to));
			newMessage.setSubject(subject);
			newMessage.setSentDate(new Date());
			newMessage.setText(body);
			//发送邮件
			transport = sendMailSession.getTransport("smtp");
			transport.connect(host, username, password);
			transport.send(newMessage);
		}
		catch(MessagingException me)
		{
			me.printStackTrace(System.out);
		} 
	}
}

⌨️ 快捷键说明

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