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

📄 envelope.java

📁 自己写的java版的mailclient
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.util.*;
/**
 * SMTP envelop for message
 */
public class Envelope {
	/*smtp-sender of the message (from-header)*/
	public String sender;
	/* SMTP-recipient ,or contents of To-header.*/
	public String recipient;
	/* Target MX-HOST*/
	public String destHost;
	public InetAddress destAddr;
	/*message content*/
	public Message message;
	/* constructor*/
	public Envelope(Message message){
		/* get receiver and sender*/
		sender = message.getFrom();
		recipient = message.getTo();
		
		/* get messge*/
		this.message = escapeMessage(message);
		int atat = recipient.lastIndexOf('@');
		destHost = recipient.substring(atat+1);
		
		/*map the name to an ip-address*/
		try{
			destAddr = InetAddress.getByName(destHost);
		}catch(Exception e){
			System.out.println("UNKOWN HOST :"+destHost);
			System.out.println(e);
			return;
		}
		return;
	}
		/**
		 * overwrite the toString()
		 */
		public String toString(){
			String res = "Sender: " + sender + '\n';
			res += "Recipient: " + recipient + '\n';
			res += "MX-host: " + destHost +", address: " + destAddr + '\n';
			res += "Message: "+'\n';
			res += message.toString();
			return res;
		}
	/**
	 * escape the message 
	 * @param message
	 * @return
	 */
	private Message escapeMessage(Message message){
		String escapeBody = "";
		String token;
		StringTokenizer parser = new StringTokenizer(message.body,"\n",true); 
        while(parser.hasMoreTokens()){
        	token = parser.nextToken();
        	if(token.startsWith(".")){
        		token = "." + token;
        	}
        	escapeBody +=token;
        }
        message.body = escapeBody;
        return message;
	}
}

⌨️ 快捷键说明

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