📄 email.java
字号:
import java.util .Vector ;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
public class Email
{
/************/
//members.
//header info of the mail;
private MailHeader mailHeader;
//each in the vector is a MailItem;
private Vector mailBody;
//from get the email;
MailBuff EmailData;
int m_nSize;
public int getSize(){
return m_nSize;
}
public void setSize(int nsize){
m_nSize=nsize;
}
//when got email , write to disk;
String FileName;
public String GetFileName(){
return FileName;
}
public void SetFileName(String sFile){
FileName=sFile;
}
String sBoundary;
/************/
//func.
public MailHeader GetMailHeader(){
if(mailHeader==null)
mailHeader = new MailHeader ();
return mailHeader;
}
public int GetItemNum(){
if(mailBody==null)
return 0;
return mailBody.size();
}
public MailItem GetItemAt(int i){
if(mailBody==null)
return null;
if( i < 0 || i>=mailBody.size() )
return null;
return (MailItem)(mailBody.elementAt (i));
}
public boolean AddItem( MailItem item ){
try{
if(mailBody==null)
mailBody = new Vector (5,5);
mailBody.addElement (item);
}catch(Exception e){
return false;
}
return true;
};
public MailBuff GetMailData(){
return EmailData;
}
public void SetMailData(MailBuff data){
EmailData = data;
}
//file io;
public boolean WriteToDisk(String sFile){
if( sFile==null||sFile.length () == 0 )
return false;
try{
FileOutputStream tempFS = new FileOutputStream (sFile);
int nDataLength = EmailData.getSize();
tempFS.write (EmailData.getData(),0,nDataLength);
tempFS.close ();
}
catch( Exception e){
FileName = null;
return false;
}
EmailData = null;
FileName = sFile;
return true;
}
public boolean ReadFromDisk(){
if( FileName==null||FileName.length () == 0 )
return false;
File tempFile=new File(FileName);
if( tempFile.exists ()==false || tempFile.canRead ()==false )
return false;
int nDataLength =(int)tempFile.length ();
try{
FileInputStream tempFS = new FileInputStream (FileName);
EmailData =new MailBuff(nDataLength,1024);
tempFS.read(EmailData.getData ());
EmailData.setSize(nDataLength);
tempFS.close ();
}
catch( Exception e){
FileName = null;
return false;
}
return true;
}
//for send mail;
public void SetInfo(String sTo,String sFrom,String Sub,
String sCc,String sBCc){
mailHeader = new MailHeader();
mailHeader.SetData( sTo, sFrom, Sub,
sCc, sBCc);
}
public void addPlainBody( String sName,
byte encode,String sIn ){
MailItem MI=new MailItem( sName, (byte)0 , encode, sIn, "");
AddItem(MI);
}
public void addAttach( String sName,
byte encode,String sFile ){
MailItem MI=new MailItem( sName, (byte)1 , encode, "", sFile);
AddItem(MI);
}
public String CreateEMailHeadInfoForSend(){
if( mailHeader==null )
return null;
return mailHeader.CreateEMailHeadInfoForSend ();
}
public String GetBoundary(){
if( mailHeader==null )
return null;
return mailHeader.GetBoundary();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -