📄 smtpserver.java
字号:
package SmtpServer;import java.net.Socket;import java.net.ServerSocket;import java.net.InetAddress;import java.io.InputStream;import java.io.OutputStream;import java.io.FileInputStream;import java.io.IOException;import java.io.File;import java.awt.event.*;import java.net.*;//RFC821public class SmtpServer{ public static final String rootDir = System.getProperty("user.dir") + File.separator + "mailroot"; //default mail directory public static final String domain = "MySMTP"; private final int smtpPort = 25; public static void main(String[] args) { SmtpServer server = new SmtpServer(); } public SmtpServer() { start(); } public void start() { System.out.println("My Smtp Sever Starting..."); ServerSocket serverSocket = null; try { serverSocket = new ServerSocket(smtpPort, 1); } catch (IOException e) { e.printStackTrace(); System.exit(1); } System.out.println("sever started"); // Loop waiting for a request while (true) { Socket socket = null; InputStream input = null; OutputStream output = null; try { socket = serverSocket.accept(); System.out.println("receive a new request"); input = socket.getInputStream(); output = socket.getOutputStream(); // create Request object and parse Request request = new Request(input); // create Response object Response response = new Response(output, input); response.setRequest(request); response.sendEventMsg(Response.WELCOME); // send welcome massage while(request.getRequestType()!=Request.QUIT) { request.getMsg(); response.sendEventMsg(request.getRequestType()); } // Close the socket socket.close(); } catch (Exception e) { e.printStackTrace(); try { if (!socket.isClosed()) socket.close(); }catch (Exception e2) {} continue; } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -