亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pop3service.java

?? Java 郵件服務器 解析SMTP和POP3傳輸協議
?? JAVA
字號:
package com.softeem.myMail.pop3;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.util.Date;
import java.util.Properties;

public class POP3Service implements Runnable {

	/**
	 * @param args
	 */
	private String user;

	private Socket socket;

	private BufferedReader br;

	private BufferedWriter bw;

	private Properties prop = new Properties();

	private File[] userMailbox;

	private InputStream in;

	private BufferedReader inFile;

	private File f;

	private int[] delNum;

	private int allNub;

	public POP3Service(Socket socket) {
		super();
		this.socket = socket;
	}

	public void init() {
		// 解析屬性文件得到對應的值
		try {
			in = new FileInputStream(new File("config.properties"));
			prop.load(in);
			in.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void run() {
		try {
			init();
			br = new BufferedReader(new InputStreamReader(socket
					.getInputStream()));
			bw = new BufferedWriter(new OutputStreamWriter(socket
					.getOutputStream()));
			sendWelcomeMessage();
			while (prastCommand(br.readLine())) {

			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				inFile.close();
				in.close();
				bw.close();
				br.close();
				socket.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	// USER 用戶名
	// PASS 密碼
	// STAT 狀態
	// LIST 列表
	// RETR
	// DELE 刪除
	// QUIT 退出
	private boolean prastCommand(String command) {
		boolean flag = true;
		String argument = null;
		int spaceIndex = command.indexOf(" ");
		if (spaceIndex > 0) {
			argument = command.substring(spaceIndex + 1);
			command = command.substring(0, spaceIndex);
		}
		if (command.equalsIgnoreCase("USER")) {
			doUSER(argument);
		} else if (command.equalsIgnoreCase("PASS")) {
			doPASS(argument);
		} else if (command.equalsIgnoreCase("STAT")) {
			doSTAT(argument);
		} else if (command.equalsIgnoreCase("LIST")) {
			doLIST(argument);
		} else if (command.equalsIgnoreCase("RETR")) {
			doRETR(argument);
		} else if (command.equalsIgnoreCase("DELE")) {
			doDELE(argument);
		} else if (command.equalsIgnoreCase("QUIT")) {
			doQUIT(argument);
			return flag = false;
		} else {
			writerMessage("-ERR Syntax error in MAIL command");
		}
		return flag;
	}

	private void doUSER(String argument) {

		String responseString = null;
		if ((argument != null) && (prop.getProperty(argument) != null)) {
			user = argument;
			responseString = "+OK RIGHT_USER";
		} else {
			responseString = "-ERR ERR_USER";
		}
		writerMessage(responseString);
	}

	private void doPASS(String argument) {
		if ((argument != null)
				&& (prop.getProperty(user).equalsIgnoreCase(argument))) {
			// responseString.append("+OK Welcome ").append(user);
			writerMessage("+OK Welcome " + user);
		} else {
			// responseString.append("-ERR ERR_PASS");}
			// writerMessage(responseString.toString());
			writerMessage("-ERR ERR_PASS");
		}
	}

	private void doSTAT(String argument) {
		f = new File("E:\\mail\\" + user + "\\receivebox");
		userMailbox = f.listFiles();
		long size = 0;
		int count = 0;
		for (int i = 0; i < userMailbox.length; i++) {
			if (userMailbox[i].isFile())
				count++;
			size = size + userMailbox[i].length();
		}
		StringBuffer responseBuffer = new StringBuffer(32).append("+OK")
				.append(" ").append(count).append(" ").append(size);
		writerMessage(responseBuffer.toString());
		delNum = new int[count];
	}

	private void doLIST(String argument) {
		long size = 0;
		for (int i = 0; i < userMailbox.length; i++) {
			if (i == 0) {
				writerMessage("+OK");
			}
			if (userMailbox[i].isFile()) {
				size = userMailbox[i].length();
				writerMessage(i + 1 + " " + size);
			}
			if (i == userMailbox.length - 1) {
				writerMessage(".");
			}
		}
	}

	private void doRETR(String argument) {
		int num = new Integer(argument);
		if (argument == null) {
			writerMessage("-ERR COMMAND ERR");
		} else {
			if (num > userMailbox.length) {
				writerMessage("-ERR COMMAND ERR");
			} else {
				for (int i = 0; i < userMailbox.length; i++) {
					if (i == 0) {
						writerMessage("+OK");
					}
					if (num == (i + 1)) {
						doFile(userMailbox[i]);
					}
					if (i == userMailbox.length - 1) {
						writerMessage(".");
					}
				}

			}
		}

	}

	private void doDELE(String argument) {
		int num = new Integer(argument);
		if (argument == null) {
			writerMessage("-ERR COMMAND ERR");
		} else {
			if (num > userMailbox.length) {
				writerMessage("-ERR COMMAND ERR");
			} else {
				for (int i = 0; i < userMailbox.length; i++) {
					if (i == 0) {
						writerMessage("+OK");
					}
					if (num == (i + 1)) {
						delNum[allNub] = i;
						allNub++;
					}
				}

			}
		}

	}

	private void doQUIT(String argument) {
		for (int i = 0; i < delNum.length; i++) {
			userMailbox[delNum[i]].delete();
		}
		StringBuffer responseBuff = new StringBuffer();
		responseBuff.append("+OK java23 coremail");
		writerMessage(responseBuff.toString());
	}

	private void writerMessage(String message) {
		try {
			bw.write(message);
			bw.newLine();
			bw.flush();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

	private void sendWelcomeMessage() {
		StringBuffer WelcomeMessage = new StringBuffer();
		WelcomeMessage.append("+OK Welcome to java23 Mail Pop3 Server ")
				.append(" <").append(new Date()).append(" > ");
		writerMessage(WelcomeMessage.toString());
	}

	private void doFile(File file) {
		try {
			String buff = null;
			inFile = new BufferedReader(new InputStreamReader(
					new FileInputStream(file)));
			while ((buff = inFile.readLine()) != null) {
				writerMessage(buff);
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美另类久久久精品| 欧美日韩第一区日日骚| 久久精品日产第一区二区三区高清版| 日韩vs国产vs欧美| 精品国产乱码久久久久久蜜臀| 老司机精品视频一区二区三区| 欧美电影免费观看高清完整版在线观看| 日韩电影在线免费观看| 欧美日韩一级片网站| 亚洲 欧美综合在线网络| 欧美日韩你懂的| 日韩精品高清不卡| 亚洲精品一区二区三区影院| 国产激情一区二区三区桃花岛亚洲| 国产拍欧美日韩视频二区| 91丝袜国产在线播放| 亚洲成av人在线观看| 欧美一区二区三区免费大片 | 欧美日韩久久不卡| 久久成人久久爱| 国产精品久久久久久久午夜片| 97se亚洲国产综合自在线不卡| 一区二区三区视频在线看| 日韩一区二区三区三四区视频在线观看 | 欧美一区二区三区人| 国产精品一线二线三线精华| 亚洲毛片av在线| 日韩欧美区一区二| 99国产欧美久久久精品| 石原莉奈在线亚洲二区| 国产精品日产欧美久久久久| 欧美日韩第一区日日骚| 国产精品一色哟哟哟| 亚洲高清免费在线| 国产欧美视频在线观看| 欧美视频中文一区二区三区在线观看| 精品亚洲国内自在自线福利| 亚洲免费视频中文字幕| 久久综合丝袜日本网| 欧美日韩免费高清一区色橹橹| 激情综合亚洲精品| 亚洲国产成人av网| 国产亚洲精品资源在线26u| 欧美午夜免费电影| 成人午夜视频福利| 狠狠色狠狠色综合系列| 亚洲一区二区三区中文字幕在线| www国产精品av| 欧美丝袜丝nylons| 99re亚洲国产精品| 精品亚洲aⅴ乱码一区二区三区| 亚洲人成网站在线| 中文久久乱码一区二区| 日韩免费观看高清完整版 | 欧美日韩亚洲高清一区二区| 丁香天五香天堂综合| 麻豆精品一区二区| 亚洲午夜一区二区三区| 中文字幕av一区二区三区高| 日韩一卡二卡三卡国产欧美| 欧美日韩亚洲另类| 欧美在线free| 色婷婷综合久色| 成人高清免费在线播放| 国产专区综合网| 精品一区二区综合| 日本大胆欧美人术艺术动态| 亚洲曰韩产成在线| 一区二区三区四区激情| 亚洲欧洲av在线| 欧美国产精品专区| 久久久久久免费毛片精品| 日韩一级欧美一级| 欧美一二三四区在线| 欧美日产在线观看| 在线视频你懂得一区| 91视视频在线观看入口直接观看www| 成人午夜在线视频| 91在线你懂得| 97aⅴ精品视频一二三区| 99久久国产免费看| 色综合天天在线| 在线欧美日韩国产| 精品视频免费在线| 欧美一区二区三区免费视频 | 久久综合九色综合97婷婷女人| 日韩欧美电影一二三| 精品国内二区三区| 久久久久一区二区三区四区| 国产视频亚洲色图| 久久精品一区二区三区av| 久久综合久久99| 国产精品美日韩| 亚洲男人都懂的| 日韩综合在线视频| 国内精品国产成人国产三级粉色| 久久99热狠狠色一区二区| 国产精品亚洲成人| 91视频在线观看| 91精品国产综合久久久久久| 欧美一级在线观看| 久久精品一区二区三区不卡| 国产精品久久影院| 亚洲午夜在线电影| 国产一区在线视频| av一区二区久久| 91精品啪在线观看国产60岁| 日韩一区二区麻豆国产| 久久亚区不卡日本| 亚洲卡通动漫在线| 蜜桃视频在线观看一区| 高清免费成人av| 欧美日韩一区成人| 国产日产欧产精品推荐色| 亚洲精品成人在线| 久久国产精品99久久人人澡| 成人免费视频一区| 欧美日本一区二区在线观看| 久久亚洲春色中文字幕久久久| 有码一区二区三区| 韩国女主播一区| 在线日韩一区二区| 久久亚洲精品小早川怜子| 亚洲一级片在线观看| 国产在线视视频有精品| 91国偷自产一区二区开放时间| 精品国产3级a| 亚洲成人在线网站| 成人一道本在线| 欧美一区二区不卡视频| 亚洲欧洲www| 国产一区二区三区在线观看免费 | 欧美日韩黄色一区二区| 日本一区免费视频| 蜜臀av性久久久久蜜臀aⅴ| 99久久久国产精品| 久久精品人人做人人综合| 亚洲小少妇裸体bbw| 成人午夜视频在线| 日韩欧美综合一区| 香蕉久久一区二区不卡无毒影院 | 91麻豆国产福利在线观看| 精品国产免费一区二区三区四区| 一区二区三区中文免费| 成人午夜在线免费| 久久中文字幕电影| 蜜臀av性久久久久蜜臀aⅴ四虎| 日本精品一级二级| 成人欧美一区二区三区小说| 国内不卡的二区三区中文字幕 | 成人黄色免费短视频| 欧美一级二级在线观看| 亚洲图片自拍偷拍| 91在线观看污| 国产精品久线观看视频| 国产98色在线|日韩| 久久久久久久久久看片| 久久精品国产亚洲高清剧情介绍| 欧美精品久久一区| 亚洲风情在线资源站| 欧美一a一片一级一片| 亚洲精选免费视频| 欧美优质美女网站| 亚洲午夜在线电影| 欧美日韩一区二区欧美激情| 亚洲国产成人tv| 56国语精品自产拍在线观看| 天天综合网天天综合色| 91麻豆精品国产91久久久久| 亚洲成人av免费| 欧美肥妇bbw| 久久丁香综合五月国产三级网站| 欧美大白屁股肥臀xxxxxx| 久久精品国产澳门| 久久伊人中文字幕| 成人18视频日本| 亚洲六月丁香色婷婷综合久久| 在线视频国内一区二区| 一区二区三区视频在线看| 色综合视频一区二区三区高清| 欧美韩国日本不卡| av成人老司机| 亚洲精品日韩一| 美美哒免费高清在线观看视频一区二区 | 一区二区三区自拍| 一本一道波多野结衣一区二区| 亚洲品质自拍视频网站| 不卡一区二区在线| 国产精品美女视频| 成人高清在线视频| 亚洲自拍另类综合| 欧美三电影在线| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲乱码日产精品bd| 欧美日韩精品欧美日韩精品一| 亚洲美女在线国产| 一本一道久久a久久精品| 亚洲自拍偷拍综合| 欧美二区三区91| 黄色日韩三级电影|