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

📄 email.java

📁 JAVA邮件系统
💻 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 + -