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

📄 mail.java~1~

📁 基于java的邮件发送软件,希望对大家有用,
💻 JAVA~1~
字号:
package postmail;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.net.*;import java.io.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2006</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public class Mail extends JFrame {  JPanel contentPane;  BorderLayout borderLayout1 = new BorderLayout();  JTextArea jTextArea1 = new JTextArea();//Construct the framepublic Mail() {  enableEvents(AWTEvent.WINDOW_EVENT_MASK);  try {    jbInit();    pack();    show();    start();  }  catch(Exception e) {    e.printStackTrace();  }}public void start() throws Exception{      String mailContent = ""; //邮件报文      String response = "";    //来自服务器的应答      String mailServer = "";  //邮件服务器      String from = "";        //发件人地址      String to = "";          //收件人地址  //设置邮件服务器、发件人地址、收件人地址      mailServer = "smtp.163.com";      from = "20170124@163.com";      to = "20170124@sina.com";      //设置邮件正文      mailContent =              "From: " + from + "\n" +              "To: " + to + "\n" +              "Subject: " + "Test" + "\n" +              "Hi\nIt's a test mail!\n";      //得到本机主机名      String hostName = InetAddress.getLocalHost().getHostName();      //建立一个到邮件服务器的连接,端口号25      Socket s = new Socket(mailServer,25);      //将SOCKET输入流连接到带缓冲功能的输入流BufferedReader,以便一次读一行来自      //服务器的应答报文      BufferedReader inFromServer =              new BufferedReader(new InputStreamReader(s.getInputStream()));      //将SOCKET输出流连接到带缓冲功能的输出流PrintWriter,以便一次输出一行报文到服务器      PrintWriter outToServer = new PrintWriter(s.getOutputStream() ,true);      //读取来自服务器的第一行应答,并显示在屏幕上      response = inFromServer.readLine();      jTextArea1.append("MailServer:" + response + "\n");      //将用户的帐号和密码以BASE64格式进行编码以便进行服务器身份验证      //BASE64Encoder encoder = new  BASE64Encoder();      String User="20170124";      String Password="superman";      //String encodedUser = encoder.encode("c123".getBytes());      //String encodedPwd = encoder.encode("aaa".getBytes());      jTextArea1.append("Client:" + "EHLO " + hostName + "\n");      //和服务器会话,发送EHLO hostname命令      outToServer.println("EHLO " + hostName);      //读入来自服务器的5行应答,并显示在屏幕上      for(int i = 0; i < 5; i++){          response = inFromServer.readLine();          jTextArea1.append("MailServer:" + response + "\n");      }      jTextArea1.append("Client:" + "AUTH LOGIN \n");      //和服务器会话,发送AUTH LOGIN命令,请求身份验证      outToServer.println("AUTH LOGIN ");      //读入来自服务器的应答,并显示在屏幕上      response = inFromServer.readLine();      jTextArea1.append("MailServer:" + response + "\n");      jTextArea1.append("Client:"+User+"\n");      //System.out.print("Client:" + encodedUser + "\n");      //向服务器发送自己的帐号      outToServer.println(User);      //读入来自服务器的应答,并显示在屏幕上      response = inFromServer.readLine();      jTextArea1.append("MailServer:" + response + "\n");      jTextArea1.append("Client:" + Password + "\n");      //System.out.print("Client:" + encodedPwd + "\n");      //向服务器发送自己的密码      outToServer.println(Password);      //读入来自服务器的应答,并显示在屏幕上      response = inFromServer.readLine();      jTextArea1.append("MailServer:" + response + "\n");      jTextArea1.append("Client:" + "MAIL FROM: " + from + "\n");      //向服务器发送MAIL FROM: 发件人地址      outToServer.println("MAIL FROM: <" + from + ">");      //读入来自服务器的应答,并显示在屏幕上      response = inFromServer.readLine();      jTextArea1.append("MailServer:" + response + "\n");      jTextArea1.append("Client:" + "RCPT TO: " + to + "\n");      //向服务器发送RCPT TO: 收件人地址      outToServer.println("RCPT TO: <" + to + ">");      //读入来自服务器的应答,并显示在屏幕上      response = inFromServer.readLine();      jTextArea1.append("MailServer:" + response + "\n");      //请求发送邮件正文      outToServer.println("DATA");      //读入来自服务器的应答,并显示在屏幕上      response = inFromServer.readLine();      jTextArea1.append("MailServer:" + response + "\n");      //开始发送邮件正文      outToServer.println(mailContent);      //发送邮件结束标志      outToServer.println(".");      //读入来自服务器的应答,并显示在屏幕上      response = inFromServer.readLine();      jTextArea1.append("MailServer:" + response + "\n");      //关闭SOCKET      s.close();}//Component initializationprivate void jbInit() throws Exception  {    this.setTitle("Post Mail");    this.getContentPane().setLayout(borderLayout1);    jTextArea1.setEditable(false);    jTextArea1.setText("欢迎使用邮件代理");    this.getContentPane().add(jTextArea1, BorderLayout.CENTER);}//Overridden so we can exit when window is closedprotected 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 + -