📄 mailheader.java
字号:
import java.util.Date;
import java.lang.String;
import java.util .Vector ;
import java.util.Random ;
public class MailHeader
{
//members
static String MyBoundaryStr = "MAIL_BY_LZS1414_20000425";
//mail from;
String m_sFrom;
//we support muti_user mail address
//you can give the mail address in a str
//each address are divided by , ; or blank .
String m_sToStr;
String m_sCcStr;
String m_sBccStr;
//we support muti_user mail address
//the real address are in the array.
Vector m_sTo;
Vector m_sCc;
Vector m_sBCc;
String m_sSubject;
Date m_Time;
String m_sGetDate;
public void setDateString(String sDate){
m_sGetDate = sDate;
}
public String getDateString( ){
return m_sGetDate ;
}
String m_sBoundary;
public String GetFrom(){
return m_sFrom;
};
public String GetBoundary(){
return m_sBoundary;
}
public void SetFrom( String sfrom ){
m_sFrom = sfrom;
};
public int GetToNum(){
return m_sTo.size() ;
};
public String GetToAdd(int index){
return (String)(m_sTo.elementAt (index));
};
public void SetTo( String sTo ){
m_sToStr =sTo;
};
public String GetTo( ){
return m_sToStr;
};
public int GetCcNum(){
return m_sCc.size() ;
};
public String GetCcAdd(int index){
return (String)(m_sCc.elementAt (index));
};
public void SetCc( String sCc ){
m_sCcStr =sCc;
};
public String GetCc( ){
return m_sCcStr ;
};
public int GetBCcNum(){
return m_sBCc.size() ;
};
public String GetBCcAdd(int index){
return (String)(m_sBCc.elementAt (index));
};
public void SetBCc( String sBCc ){
m_sBccStr =sBCc;
};
public String GetSubject(){
return m_sSubject;
};
public void SetSubject( String sSub ){
m_sSubject = sSub;
};
public boolean CheckData(){
if( GetToNum()==0 )
return false;
return true;
};
public void SetData(String sTo,String sFrom,String Sub,
String sCc,String sBCc){
m_sToStr = sTo;
m_sFrom = sFrom ;
m_sCcStr = sCc ;
m_sBccStr = sBCc ;
m_sSubject = Sub;
m_sTo = new Vector(5,5);
m_sCc = new Vector(5,5);
m_sBCc =new Vector(5,5);
SplitEmailAddress(m_sToStr,m_sTo);
SplitEmailAddress(m_sCcStr,m_sCc);
SplitEmailAddress(m_sBccStr,m_sBCc);
};
public boolean SplitEmailAddress( String sAdd , Vector sAddress ){
if( sAdd == null )
return false;
if( sAdd.indexOf ('@')==-1 )
return false;
int nBreak ,nBreak1;
String subStr;
nBreak = sAdd.indexOf(' ');
nBreak1 = sAdd.indexOf(',');
if( nBreak1!=-1 && nBreak>nBreak1 )
nBreak = nBreak1;
if( nBreak==-1 )
nBreak = nBreak1;
while( nBreak != -1 ){
try{
subStr = sAdd.substring (0,nBreak);
//not valid;
if( sAdd.indexOf ('@')==-1 ){
if( nBreak + 1 >= sAdd.length()-1 )
return true;
sAdd = sAdd.substring( nBreak + 1 , sAdd.length() ) ;
continue;
}
else{//address
String s1 = DealWithAddressStr(subStr) ;
sAddress.addElement ( DealWithAddressStr(subStr) );
if( nBreak + 1 >= sAdd.length()-1 )
return true;
sAdd = sAdd.substring( nBreak + 1 , sAdd.length() ) ;
}
}catch(Exception sEx){
return false;
}
nBreak = sAdd.indexOf(' ');
nBreak1 = sAdd.indexOf(',');
if( nBreak1!=-1 && nBreak>nBreak1 )
nBreak = nBreak1;
if( nBreak==-1 )
nBreak = nBreak1;
}
if( sAdd != null && sAdd.indexOf ('@')!=-1 ){
sAddress.addElement ( DealWithAddressStr( sAdd ) );
System.out.println (DealWithAddressStr( sAdd ) );
String s1 = DealWithAddressStr(sAdd) ;
}
return true;
};
String DealWithAddressStr(String sAdd)
{
int nLen = sAdd.length ();
if( sAdd==null || nLen<2 )
return sAdd;
if( sAdd.charAt (0)=='\'' && sAdd.charAt (nLen-1)=='\'' )
return sAdd.substring (1,nLen-1);
if( sAdd.charAt (0)=='\"' && sAdd.charAt (nLen-1)=='\"' )
return sAdd.substring (1,nLen-1);
if( sAdd.charAt (0)=='<' && sAdd.charAt (nLen-1)=='>' )
return sAdd.substring (1,nLen-1);
return sAdd;
}
//
public String CreateEMailHeadInfoForSend(){
Random random = new Random(System.currentTimeMillis());
int nRandom = random.nextInt ();
StringBuffer sReturn=new StringBuffer();
/* if( GetToNum() == 0 )
return null;
//send from;
sReturn.append("MAIL From: <");
sReturn.append(m_sFrom);
sReturn.append(">\r\n");
//send to;
for( int i = 0; i <GetToNum() ;i++ )
{
sReturn.append("RCPT TO:<");
sReturn.append(GetToAdd(i));
sReturn.append(">\r\n");
}
//send Cc;
for( int i = 0; i <GetCcNum() ;i++ )
{
sReturn.append("RCPT TO:<");
sReturn.append(GetCcAdd(i));
sReturn.append(">\r\n");
}
//send Bcc;
for( int i = 0; i <GetBCcNum() ;i++ )
{
sReturn.append("RCPT TO:<");
sReturn.append(GetBCcAdd(i));
sReturn.append(">\r\n");
}
//send data tag;
sReturn.append("DATA\r\n");
*/
//add from;
sReturn.append("From: <");
sReturn.append(m_sFrom);
sReturn.append(">\r\n");
//add to;
if( GetToNum()==0 )
return null;
for( int i = 0; i < GetToNum();i++ )
{
if(i==0){
sReturn.append("To: <");
sReturn.append(GetToAdd(i));
sReturn.append(">");
}
else{
sReturn.append(", <");
sReturn.append(GetToAdd(i));
sReturn.append(">");
}
}
sReturn.append("\r\n");
//add cc;
for( int i = 0; i < GetCcNum();i++ )
{
if(i==0){
sReturn.append("Cc: <");
sReturn.append(GetCcAdd(i));
sReturn.append(">");
}
else{
sReturn.append(", <");
sReturn.append(GetCcAdd(i));
sReturn.append(">");
}
}
if( GetCcNum()>0 )
sReturn.append("\r\n");
//Date;
m_Time = new Date(System.currentTimeMillis());
sReturn.append("Date: ");
sReturn.append(m_Time.toString());
sReturn.append("\r\n");
// Subject;
sReturn.append("Subject: ");
sReturn.append(m_sSubject);
sReturn.append("\r\n");
//application;
sReturn.append("X-Mailer: Pecan_Mail\r\n");
//mime ver;
sReturn.append("MIME-Version: 1.0\r\n");
//content type
sReturn.append("Content-Type: multipart/mixed; boundary=");
sReturn.append(MyBoundaryStr);
sReturn.append(nRandom);
sReturn.append("\r\n");
StringBuffer sReturn1= new StringBuffer(MyBoundaryStr);
sReturn1.append(nRandom);
m_sBoundary = sReturn1.toString();
return sReturn.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -