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

📄 emailaction.java

📁 MeyboMail Web(脉博邮件系统客户端)是一个纯Java编写的,基于B/S模式的邮件系统客户端软件,系统表示层使用easyjf.com(简易java框架)的 EasyJWeb框架开发,主要通过
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package net.meybo.mail.action;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.mail.ByteArrayDataSource;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;

import net.meybo.mail.ActiveUser;
import net.meybo.mail.Config;
import net.meybo.mail.client.EmailManage;
import net.meybo.mail.client.ParseMimeMessage;
import net.meybo.mail.client.ReciveMail;


import com.easyjf.util.CommUtil;
import com.easyjf.util.HtmlUtil;
import com.easyjf.web.ActionContext;
import com.easyjf.web.IWebAction;
import com.easyjf.web.Module;
import com.easyjf.web.Page;
import com.easyjf.web.WebForm;
import com.easyjf.web.tools.*;
/**
 * 地址管理处理Action
 * <p>Title: </p>
 * <p>Description: 基于EasyJWeb框架,实现IWebAction接口,实现邮件的收发</p>
 * <p>Copyright: Copyright (c) 2006</p>
 * <p>Company: 脉博软件</p>
 * @author 阚吉彬
 * @version 1.0
 */
public class EmailAction implements IWebAction {
	public Page execute(WebForm form, Module module) throws Exception {
		String method=CommUtil.null2String(form.get("easyJWebCommand"));
		ActiveUser user=(ActiveUser)ActionContext.getContext().getSession().getAttribute("user");
		if(user==null)
			{
			form.addResult(	"msg","您没有登录或者是超时,请重登录!");
			return new Page("noLoin","/login.ejf","html");			
			}
		Page forward=null;
		System.out.println(method);
		if(method.equals(""))
		{
			forward=doShowMailBox(form,module,user);
		}	
		else if("list".equals(method))
		{
			forward=doList(form,module,user);
		}
		else if("new".equals(method))
		{
			String editMode="html",editModeTitle="可视化编辑器";
			String htmlView="",textView="";
			if(editMode.equals("html"))
				{textView="none";
				editModeTitle="文本编辑器";
				}
			form.addResult("editMode",editMode);
			form.addResult("htmlView",htmlView);
			form.addResult("textView",textView);
			form.addResult("editModeTitle",editModeTitle);
			return module.findPage("write");
		}
		else if("edit".equals(method))
		{
			forward=doEdit(form,module,user);
		}
		else if("forward".equals(method))
		{
			forward=doForward(form,module,user);
		}
		else if("move".equals(method))
		{
			forward=doMoveMail(form,module,user);
		}		
		else if("save".equals(method))
		{
			forward=doSaveMail(form,module,user);
		}
		else if("send".equals(method))
		{
			forward=doSendMail(form,module,user);
		}
		else if("sendSave".equals(method))
		{
			forward=doSendAndSaveMail(form,module,user);
		}
		else if("reply".equals(method))
		{
			forward=doReply(form,module,user);
		}
		else if("replyAll".equals(method))
		{
			forward=doReplyAll(form,module,user);
		}
		else if("search".equals(method))
		{
			forward=doSearch(form,module,user);
		}
		else if("del".equals(method))
		{
			forward=doDelMail(form,module,user);
		}
		else if("show".equals(method))
		{
		forward=doShowMail(form,module,user);
		}
		else if("download".equals(method))
		{
		doDownload(form,module,user,ActionContext.getContext().getResponse());	
		}			
		return forward;
	}
	private Page doReplyAll(WebForm form,Module module,ActiveUser user)
	{
		String cid=CommUtil.null2String(form.get("cid"));
		String box=CommUtil.null2String(form.get("box"));
		String editMode="";
		MimeMessage mail=EmailManage.getMail(user.getUserName(),user.getServerDomain(),box,cid);		
		if(mail!=null)
		{			
			try{
			mail=(MimeMessage)mail.reply(true);
			System.out.println(mail.getSubject());
			ParseMimeMessage email=new ParseMimeMessage(mail);
			form.addResult("from",email.getFrom());
			form.addResult("text",email.getMailContent());
			form.addResult("toUser",email.getMailAddress("TO"));
			form.addResult("copyTo",email.getMailAddress("CC"));
			form.addResult("secretTo",email.getMailAddress("BCC"));
			form.addResult("subject",email.getSubject());
			form.addResult("list",email.getAttachMent());
			if(email.isHtml())editMode="html";
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
		}
		
		String htmlView="",textView="",editModeTitle="可视化编辑器";
		if(editMode.equals("html"))
			{textView="none";
			editModeTitle="文本编辑器";
			}
		else htmlView="none";
		System.out.println(editMode);
		form.addResult("editMode",editMode);		
		form.addResult("htmlView",htmlView);
		form.addResult("textView",textView);
		form.set("cid",cid);
		form.addResult("editModeTitle",editModeTitle);
		return module.findPage("write");
	}
	private Page doReply(WebForm form,Module module,ActiveUser user)
	{
		String cid=CommUtil.null2String(form.get("cid"));
		String box=CommUtil.null2String(form.get("box"));
		System.out.println(cid+":"+box);
		String editMode="";
		MimeMessage mail=EmailManage.getMail(user.getUserName(),user.getServerDomain(),box,cid);		
		if(mail!=null)
		{			
			try{
			mail=(MimeMessage)mail.reply(false);
			ParseMimeMessage email=new ParseMimeMessage(mail);
			form.addResult("from",email.getFrom());
			form.addResult("text",email.getMailContent());
			form.addResult("toUser",email.getMailAddress("TO"));
			form.addResult("copyTo",email.getMailAddress("CC"));
			form.addResult("secretTo",email.getMailAddress("BCC"));
			form.addResult("subject",email.getSubject());
			form.addResult("list",email.getAttachMent());
			if(email.isHtml())editMode="html";
			}
			catch(Exception e)
			{
				
			}
		}
		
		String htmlView="",textView="",editModeTitle="可视化编辑器";
		if(editMode.equals("html"))
			{textView="none";
			editModeTitle="文本编辑器";
			}
		else htmlView="none";
		System.out.println(editMode);
		form.addResult("editMode",editMode);		
		form.addResult("htmlView",htmlView);
		form.addResult("textView",textView);
		form.set("cid",cid);
		form.addResult("editModeTitle",editModeTitle);
		return module.findPage("write");
	}
	private Page doForward(WebForm form,Module module,ActiveUser user)
	{
		String cid=CommUtil.null2String(form.get("cid"));
		String box=CommUtil.null2String(form.get("box"));
		String editMode="";
		MimeMessage mail=EmailManage.getMail(user.getUserName(),user.getServerDomain(),box,cid);
		if(mail!=null)
		{
			ParseMimeMessage email=new ParseMimeMessage(mail);
			try{
			//form.addResult("from",email.getFrom());
			form.addResult("text",email.getMailContent());
			//form.addResult("toUser",email.getMailAddress("TO"));
			//form.addResult("copyTo",email.getMailAddress("CC"));
			//form.addResult("secretTo",email.getMailAddress("BCC"));
			form.addResult("subject","转发:"+email.getSubject());
			form.addResult("attachs",email.getAttachMent());
			if(email.isHtml())editMode="html";
			}
			catch(Exception e)
			{
				
			}
		}
		
		String htmlView="",textView="",editModeTitle="可视化编辑器";
		if(editMode.equals("html"))
			{textView="none";
			editModeTitle="文本编辑器";
			}
		else htmlView="none";
		System.out.println(editMode);
		form.addResult("editMode",editMode);		
		form.addResult("htmlView",htmlView);
		form.addResult("textView",textView);
		form.set("cid",cid);
		form.addResult("editModeTitle",editModeTitle);
		return module.findPage("write");
	}
	private Page doEdit(WebForm form,Module module,ActiveUser user)
	{
		String cid=CommUtil.null2String(form.get("cid"));
		String box=CommUtil.null2String(form.get("box"));
		String editMode="";
		MimeMessage mail=EmailManage.getMail(user.getUserName(),user.getServerDomain(),box,cid);
		if(mail!=null)
		{
			ParseMimeMessage email=new ParseMimeMessage(mail);
			try{
			form.addResult("from",email.getFrom());
			form.addResult("text",email.getMailContent());
			form.addResult("toUser",email.getMailAddress("TO"));
			form.addResult("copyTo",email.getMailAddress("CC"));
			form.addResult("secretTo",email.getMailAddress("BCC"));
			form.addResult("subject",email.getSubject());
			form.addResult("attachs",email.getAttachMent());
			if(email.isHtml())editMode="html";
			}
			catch(Exception e)
			{
				
			}
		}
		
		String htmlView="",textView="",editModeTitle="可视化编辑器";
		if(editMode.equals("html"))
			{textView="none";
			editModeTitle="文本编辑器";
			}
		else htmlView="none";
		System.out.println(editMode);
		form.addResult("editMode",editMode);		
		form.addResult("htmlView",htmlView);
		form.addResult("textView",textView);
		form.set("cid",cid);
		form.addResult("editModeTitle",editModeTitle);
		
		return module.findPage("write");
	}
private Page doDelMail(WebForm form,Module module,ActiveUser user)
{
	String MulitCid=CommUtil.null2String(form.get("mulitCid"));
	String box=CommUtil.null2String(form.get("box"));
	List dels=new ArrayList();
	boolean opSuccess=false;
	if(!MulitCid.equals("")){//执行批量删除
	String[] s=MulitCid.split(",");			
	for(int i=0;i<s.length;i++)
	{				
		if(box.equals("inbox"))
		{
			dels.add("newbox/"+s[i]);
		}
		dels.add(box+"/"+s[i]);
	}			
	}
	String id=CommUtil.null2String(form.get("cid"));
	if(!id.equals(""))dels.add(box+"/"+id);
	if(EmailManage.delMail(user.getUserName(),user.getServerDomain(),dels)>0)
		form.addResult("msg","删除成功!");
	else
		form.addResult("msg","删除失败!");
	return doList(form,module,user);
}
private Page doMoveMail(WebForm form,Module module,ActiveUser user)
{
	String MulitCid=CommUtil.null2String(form.get("mulitCid"));
	String id=CommUtil.null2String(form.get("cid"));
	String newBox=CommUtil.null2String(form.get("newBox"));
	String box=CommUtil.null2String(form.get("box"));
	List dels=new ArrayList();			
	if(!MulitCid.equals("")){//执行批量删除
	String[] s=MulitCid.split(",");			
	for(int i=0;i<s.length;i++)
	{				
		if(box.equals("inbox"))
		{
			dels.add("newbox/"+s[i]);
		}
		dels.add(box+"/"+s[i]);
	}			
	}			
	if(!id.equals(""))dels.add(box+"/"+id);
	//form.addResult("boxList",EmailManage.getMailDir(user.getUserName(),user.getServerDomain()));
	if(EmailManage.moveMail(user.getUserName(),user.getServerDomain(),newBox,dels)>0)
	form.addResult("msg","操作成功!");
	else
	form.addResult("msg","操作失败!");
		
	return doList(form,module,user);
}
private Page doShowMail(WebForm form,Module module,ActiveUser user)
{
	String cid=CommUtil.null2String(form.get("cid"));
	String box=CommUtil.null2String(form.get("box"));			
	MimeMessage mail=EmailManage.getMail(user.getUserName(),user.getServerDomain(),box,cid);
	if(mail!=null)
	{
		ParseMimeMessage email=new ParseMimeMessage(mail);
		try{
		
		String content=email.getMailContent();								
		form.addResult("content",HtmlUtil.addBr(content));
		form.addResult("subject",email.getSubject());		
		form.addResult("from",email.getFrom());		
		List attachs=email.getAttachMent();		
		if(attachs!=null && attachs.size()>0)form.addResult("haveAttach","true");		
		form.addResult("attachs",attachs);	
		form.addResult("to",email.getMailAddress("TO"));		
		form.addResult("cc",email.getMailAddress("CC"));
		form.addResult("bcc",email.getMailAddress("BCC"));
		form.addResult("sendDate",email.getSentDate());
		if(box.equals("sendbox")||box.equals("draftbox"))form.addResult("isMyMail","true");		
		}
		catch(Exception e)

⌨️ 快捷键说明

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