public String sendForeignMail(String foreSendMailer, String foreReceMailer){
		//ȡռ˵ʼϢ
//		String[] recips = recipient.split("/");
		//ȡrecipientʼṩͣsocket
		int at = foreReceMailer.indexOf("@");
		int l = foreReceMailer.indexOf(">");
		String mailSupplier = foreReceMailer.substring((at+1), l);
		System.err.println("mailSupplier:"+mailSupplier);
		
		foreignMap = OnceClass.getOnce().getForeignServiceMap();
		ForeignServiceBean foreignService = foreignMap.get(mailSupplier);
		//MX¼
		String smtpMx = foreignService.getStmpMx();
		System.err.println(smtpMx);
		
		int smtpPort = Integer.parseInt(foreignService.getStmpPort());
		try {
			//ʼṩ̵SMTP
			Socket clientSocket = new Socket(smtpMx, smtpPort);
			//ȡ
			BufferedReader foreignBR = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
			PrintStream foreignPS = new PrintStream(clientSocket.getOutputStream());
			String returnMess = foreignBR.readLine();//ȡϢ
				System.out.println("ʼķϢlinkOK:"+returnMess);
			if(!returnMess.contains("220")){//220ʾδϢ
				
			}
			foreignPS.println("ehlo smtp.57901.com");
//				System.out.println("ehlo smtp.57901.com");
			int count;
			if(smtpMx.contains("qq"))
				count=3;
			else if(smtpMx.contains("sina"))
				count = 2;
			else if(smtpMx.contains("163"))
				count = 6;
			else 
				count = 3;
			for(int i=0; i<count; i++){//163ȡ6з//qqȡ3//˷2
				returnMess = foreignBR.readLine();//250 ok
//					System.out.println(returnMess+"   ehlo>ظ");
			}
			foreignPS.println(foreSendMailer);//mail from:<xiexianbin@163.com>
			returnMess = foreignBR.readLine();//250 Mail OK
//				System.err.println("ʼķϢ"+returnMess);
			foreignPS.println(foreReceMailer);//rcpt to:<xianbinxie@163.com>
			returnMess = foreignBR.readLine();//250 Mail OK
//				System.err.println("ʼķϢ"+returnMess);
			
			//
			String order = "data";
			//data
			foreignPS.println(order);//data
			returnMess = foreignBR.readLine();//354 End data with <CR><LF>.<CR><LF>
//				System.err.println("ʼķϢ"+returnMess);
			String subForMess = null;
			while((subForMess=br.readLine())!=null && !subForMess.equals(".") && !subForMess.equals("quit") & !subForMess.equals("QUIT")){
				foreignPS.println(subForMess);
//				System.out.println(subForMess);
				foreignPS.flush();
			}
			foreignPS.println(".");
			foreignPS.flush();
			returnMess = foreignBR.readLine();
//				System.err.println("ʼķϢ"+returnMess);
			if(returnMess.contains("250")){
				ps.println("250 Mail OK");
				//ʼӶϿ
				foreignPS.println("quit");
				return "ok";
			}
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
//			e.printStackTrace();
			return "NullPointerException";
			
		}
		return "ok";
	}