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

📄 mockmailserver.java

📁 Rapla是一个灵活的多用户资源管理系统。它提供的一些功能有:日历GUI
💻 JAVA
字号:
package org.rapla.components.mail;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class MockMailServer 
{
    String senderMail;
    String recipient;
    int port = 25;
    
    public int getPort()
    {
        return port;
    }

    public void setPort( int port )
    {
        this.port = port;
    }

    public static void main(String[] args)
    {
        new MockMailServer().startMailer(false);
    }

    public void startMailer(boolean deamon)
    {
        Thread serverThread = new Thread()
        {
            public void run()
            {
                try
                {
                    ServerSocket socket = new ServerSocket(port);
                    System.out.println("MockMail server started and listening on port " + port);
                    Socket smtpSocket = socket.accept();
                    smtpSocket.setKeepAlive(true);
                    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(smtpSocket.getOutputStream()));
                    BufferedReader reader = new BufferedReader(new InputStreamReader(smtpSocket.getInputStream()));
                    writer.write("220\n");
                    writer.flush();
                    
                    String helloString = reader.readLine();
                    System.out.println( helloString );
                    writer.write("250\n");
                    writer.flush();
                    
                    senderMail = reader.readLine().substring("MAIL FROM:".length());
                    System.out.println( senderMail );
                    writer.write("250\n");
                    writer.flush();
                    
                    recipient = reader.readLine().substring("RCPT TO: ".length());
                    System.out.println( recipient );
                    writer.write("250\n");
                    writer.flush();
                    
                    String dataHeader = reader.readLine();
                    System.out.println( dataHeader );
                    
                    writer.write("354\n");
                    writer.flush();
                    String line;
                    do 
                    {
                        line = reader.readLine();
                        System.out.println( line );
                    } while ( line.length() == 1 && line.charAt( 0) == 46);
                    reader.readLine();
                    writer.write("250\n");
                    writer.flush();
                    String quit = reader.readLine();
                    System.out.println( quit );
                    writer.write("221\n");
                    writer.flush();
                    
                }
                catch (IOException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        };
        serverThread.setDaemon( deamon);
        serverThread.start();
    }

    public String getRecipient()
    {
        return recipient;
    }

    public String getSenderMail()
    {
        return senderMail;
    }
}

⌨️ 快捷键说明

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