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

📄 directsend.jsp

📁 一个实现邮件收发功能的客户端程序
💻 JSP
字号:
<%@ page contentType="text/html; charset=utf-8" session="true" errorPage="frame_user_error.jsp" %>
<%@ include file="validate.jsp" %>
<%@ page import="org.apache.commons.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="net.meybo.util.*" %>
<%@ page import="java.util.*" %>
<%@ page import="common.*" %>
<%
	MultiPartEmail newEmail=null;
	String message=null;
	boolean op=false;
	String from="";
	String content="";
	String toUser="";
	String copyTo="";
	String secretTo="";
	String subject="";
	java.util.List attachs=new java.util.ArrayList();
	String cid=CommUtil.null2String(request.getParameter("cid"));
	String box=CommUtil.null2String(request.getParameter("box"));
	box=new String(box.getBytes("iso-8859-1"),"utf-8");
	String editMode="";
	if(cid!=null&&!"".equals(cid)&&box!=null&&!"".equals(box)) {
		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());
				from=CommUtil.null2String(email.getFrom());
				content=CommUtil.null2String(email.getMailContent());
				toUser=CommUtil.null2String(email.getMailAddress("TO"));
				copyTo=CommUtil.null2String(email.getMailAddress("CC"));
				secretTo=CommUtil.null2String(email.getMailAddress("BCC"));
				subject=CommUtil.null2String(email.getSubject());
				attachs=email.getAttachMent();
			}
			catch(Exception e1) {
				e1.printStackTrace();
				throw new Exception("解析邮件错误");
			}
			try {
				if(email.isHtml()) {
					newEmail=new HtmlEmail();
				}
				else {
					newEmail=new MultiPartEmail();
				}
				newEmail.setCharset("utf-8");
				//newEmail.addPart((MimeMultipart)mail.getContent());
				if(email.isHtml()) {
					((HtmlEmail)newEmail).setHtmlMsg(content);
				}
				else {
					newEmail.setMsg(content);
				}
				for(int i=0;i<attachs.size();i++) {
					Map info=(Map)attachs.get(i);
					String fileName=(String)info.get("fileName");
					try {
						ByteArrayDataSource dataSource=new ByteArrayDataSource(email.getAttach(fileName),null);
						newEmail.attach(dataSource,MimeUtility.encodeText(fileName),fileName);
						System.out.println("处理附件:"+fileName);
					}
					catch(Exception e) {
						System.out.println("附件处理错误:"+e);
					}
				}
				newEmail.setSubject(subject);
				System.out.println(user.getUserName()+"@"+user.getServerDomain()+"/"+user.getUserName());
				newEmail.setFrom(user.getUserName()+"@"+user.getServerDomain(),user.getUserName());
				System.out.println(user.getSmptpHost());
				newEmail.setHostName(user.getSmptpHost());	//MeyboMail使用hostIP.开源的使用smtpHost
				List list=EmailManage.formatAddress(toUser);
				if(list!=null)
				{
					for(int i=0;i<list.size();i++)
					{
						Map map=(Map)list.get(i);
						newEmail.addTo((String)map.get("email"),(String)map.get("name"));
					}
				}
				list=EmailManage.formatAddress(copyTo);
				
				if(list!=null) {
					for(int i=0;i<list.size();i++) {
						Map map=(Map)list.get(i);
						newEmail.addCc((String)map.get("email"),(String)map.get("name"));
					}
				}
				list=EmailManage.formatAddress(secretTo);
				
				if(list!=null) {
					for(int i=0;i<list.size();i++) {
						Map map=(Map)list.get(i);
						newEmail.addBcc((String)map.get("email"),(String)map.get("name"));
					}
				}
			}
			catch(Exception e2) {
				e2.printStackTrace();
				throw new Exception("保存邮件出错");
			}
			try {
				newEmail.setAuthentication(user.getUserName(),user.getPassword());
				newEmail.send();
				op=true;
			}
			catch(Exception e3) {
				e3.printStackTrace();
			}
		}
	}
	else {
		throw new Exception("您没有选中要发送的邮件");
	}

	String nextPage="list.jsp?box=inbox";
	if(op) {
		//form.addResult("msg","发送邮件成功!");
		//form.set("box","inbox");
		//return doList(form,module,user);
		message="发送邮件成功";
	}
	else {
		//form.addResult("msg","发送邮件失败,请重新发送!");
		//return module.findPage("write");
		message="发送邮件失败,请重新发送";
	}
%>
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<title>发送收件</title>
<link href="css/login.css" rel="stylesheet" type="text/css">
</head>

<body leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0">
<script type="text/javascript">
<!--
	alert("<%=message%>");
	location.replace("<%=nextPage%>");
//-->
</script>
</body>
</html>

⌨️ 快捷键说明

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