📄 envelope.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 + -