private void sendLocalMail(String userName) {
		//淢
		String sentMailer = "";
		String foreSendMailer = "";
		//ռ
		String receMailer = "";
		String foreReceMailer = "";
		// TODO Auto-generated method stub
		while(true){
			//ָ
			String message;
			try {
				message = br.readLine();
			if(message == null){
				//ϵͳδ֪ж///////////д־ļý
				Util.saveLog(Util.getClientInfo(client)+"SMTP쳣жϡ ");
				return ;
			}
			message = message.toLowerCase().trim();
			//ʼmail from
			if(message.equalsIgnoreCase("auth login")){
				//ٴauth loginʱʾѵ½
				Util.println(ps, "503 #5.5.0 Already authenticated");
			}else if (message.contains("<") && message.contains(">") && message.contains(":")){
				//ȡϵַs[0]洢s[1]洢
				String s[] = Util.dealString(message);
				//жʼǷһʼַ
				String mailName = s[1];
//										if(mailName.endsWith(localService.getMailSuffix()) && userMap.containsKey(mailName)){
				//վڵʼ
				if(s[0].equalsIgnoreCase("mail from")){
					//
					sentMailer = mailName;
					foreSendMailer = message;
					doOk();
				}else if(s[0].equalsIgnoreCase("rcpt to")){
					foreReceMailer = message;
					//ռ
					if(receMailer.equals(""))
						receMailer = mailName;
					else
						receMailer += "/"+mailName;
					doOk();
				}else{
					//վʼڱվ󣬷͸Ŀ
					doWrongCommand();
				}
			}else if(message.equalsIgnoreCase("data")){
				//Ӧdataظ
				responseData();
				/////////////////////////////ʼʼ
				if(receMailer.endsWith(localService.getMailSuffix())){
					//ϵͳڵʼ
					String sendState = sendLocalMail(sentMailer, receMailer);
					if(sendState.equals("NullPointerException")){
						Util.saveLog(userName+Util.getClientInfo(client)+"SMTP쳣жϡ");
						return ;
					}else if(sendState.equals("quit")){
						Util.saveLog(sentMailer+""+Util.getNowTime()+""+receMailer+"һʼɹ");
						return ;
					}else if(sendState.equals("ok")){
						Util.saveLog(sentMailer+""+Util.getNowTime()+""+receMailer+"һʼɹ");
//											return ;
					}
				}else{
					//ʼṩ̵ʼ
					String sendState = sendForeignMail(foreSendMailer, foreReceMailer);
					if(sendState.equals("NullPointerException")){
						//ָ쳣
						Util.saveLog(userName+Util.getClientInfo(client)+"SMTP쳣жϡ");
						return ;
					}else if(sendState.equals("quit")){
						Util.saveLog(sentMailer+""+Util.getNowTime()+""+receMailer+"һʼɹ");
						return ;
					}else{
						Util.saveLog(sentMailer+""+Util.getNowTime()+""+receMailer+"һʼɹ");
					}
				}
			}else if(message.equals("noop")){
				doOk();
			}else if(message.equals("quit")){
//				doQuit();
				Util.println(ps, "221 Bye");
				Util.saveLog(userName+Util.getClientInfo(client)+"SMTP˳");
				return ;
			}else{
				//ָ
				doWrongCommand();
//										Util.println(ps, "û");
			}
			} catch (IOException e) {
				// TODO Auto-generated catch block
//				e.printStackTrace();
				Util.saveLog(userName+Util.getClientInfo(client)+"SMTP˳");
				return ;
			}
		}//while(true)
	}