xinyb
2024-09-10 8c1986f019fc92360534e4f8b7d1688ac0bff9fd
提交 | 用户 | age
a6a76f 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
F 2 <%
3     //@author hq
4     //2010-10-07
5 %>
6 <%@page import="com.yc.action.mail.EmailConfigUtils"%>
7 <%@page import="com.yc.action.mail.entity.MailInfo"%>
8 <%@page import="com.yc.action.mail.service.MailInfoIfc"%>
9 <%@page import="com.yc.factory.FactoryBean"%>
10 <%@page import="com.yc.sdk.shopping.util.SettingKey"%>
11 <%
12     //得到URL
13     String URL =SettingKey.getHostUrl(request);
14     String messageId = request.getParameter("messageId");
15     if(messageId==null)return;
16     String msgfrom = request.getParameter("msgfrom");
17     String isNew = request.getParameter("isNew");
18     MailInfo mailInfo = null;
19     if(messageId!=null&&!"".equals(messageId.trim())){
20         MailInfoIfc infoIfc = (MailInfoIfc)FactoryBean.getBean("MailInfoImpl");
21         mailInfo = infoIfc.getMailInfo(messageId,(String)session.getAttribute("@usercode"));
22         if(mailInfo==null)return;
23     }
24 %>
25 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran sitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
26
27 <%@page import="java.net.URLDecoder"%><html>
28 <head>
29 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
30 <title>邮件发送</title>
31 <link href="css/cont.css" rel="stylesheet" type="text/css"></link>
32 <script type="text/javascript" src="<%=URL%>/mail/ckeditor/ckeditor.js"></script>
33 <script type="text/javascript" src="<%=URL%>/js/jquery.js"></script>
34 <script src="js/dialog.js"></script>
35 <link href="images/blue/css.css" rel="stylesheet" type="text/css" id="showdialogcss" />
36 <style type="text/css">
37 input.in {
38     width: 655px;border: 1px solid #cccccc;height: 18px;float: left;
39 }.mhead{float: left;width:760px;}
40 .mhead ul{display: block;float: left;}
41 .dis_lab{width: 80px;margin:0px 0px 0px 5px;padding:0px;}
42 .values{width: 670px;margin: 0px;padding:0px;}
43 .dis_lab li,.values li{list-style: none;height: 30px;line-height: 30px;vertical-align: middle;}
44 .bcc,.cc{display: none;}
45 .addBcc{margin-left: 35px;}
46 .addCc{margin-left:10px;}
47 .selectContact{margin-left: 50px;}
48 .selectCc{margin-left: 20px;display: none;}
49 .attas{line-height: 30px;height: auto;}
50 .atta{display:block;float: left;margin-right:35px;}
51 .atta font{margin-left:10px;margin-right:10px;}
52 .atta a{margin-left:5px;margin-right:5px;}
53 <%if(mailInfo!=null&&!"".equals(mailInfo.getMsgbcc())){ %>
54 .bcc{display:block;}
55 <%} %>
56 <%if(mailInfo!=null&&!"".equals(mailInfo.getMsgcc())){ %>
57 .cc{display:block;}
58 <%} %>
59 </style>
60 <script type="text/javascript">
61 var isNewMail = true;//判断是否新邮件
62 $(function(){
63     $('#diagx').ShowDialog({
64         Width:"310",
65         Height:"530",
66         Title:"添加联系人",
67         skin:"blue",
68         ContentFlag:"0",
69         FrameURL:"selectContact.jsp", 
70         //Contents:'ddddddddddddddddddddddddddddddd',
71         IsDrag:"0",
72         IsAutoCenter:"0"
73         });
74 });
75     window.onunload=function(){
76         var isNew = "<%=isNew %>";
77         if(isNew=="true"&&isNewMail==true){
78             if(confirm("是否保存草稿?")){
79                 saveMail();
80             }else{
81                 $.post("/delMail.do",{"messageId":$("#messageId").val()},function(data){
82                        if(data=="error"){
83                             alert("删除出现异常!");
84                        }
85                   });
86             }
87         }
88     }
89     var messageId="<%=messageId==null?"":messageId %>";
90     //添加抄送密送-----
91     function addBcc(){
92         if($(".bcc").css("display")=="none"){
93             $(".bcc").css("display","block");
94             $("#selectBcc").css("display","inline");
95             $(".addBcc a").text("删除抄送");
96         }else{
97             $(".bcc,#selectBcc").css("display","none");
98             $("#mailBcc").val("");
99             $(".addBcc a").text("添加抄送");
100         }
101     }
102     function addCc(){
103         if($(".cc").css("display")=="none"){selectCc
104             $(".cc").css("display","block");
105             $("#selectCc").css("display","inline");
106             $(".addCc a").text("删除密送");
107         }else{
108             $(".cc,#selectCc").css("display","none").val("");
109             $("#mailCc").val("");
110             $(".addCc a").text("添加密送");
111         }
112     }
113     //保存邮件到草稿
114     function saveMail(){
115         if($.trim($("#mailSubject").val())==""){
116             alert("邮件主题不允许为空!");return;
117         }
118         $.post("/save2draft.do",{
119             mailBcc:$("#mailBcc").val(),
120             mailCc:$("#mailCc").val(),
121             mailTo:$("#mailTo").val(),
122             mailSubject:$("#mailSubject").val(),
123             mailText:remark_ck.getData(),
124             mailId:$("#mailId").val(),
125             messageId:$("#messageId").val()
126             },function(data){
127                 if(data.code=='error'){
128                     alert(data.info);
129                 }else if(data.code=='success'){
130                     isNewMail=false;//标识不是新邮件
131                     alert("保存成功!");
132                     location.href="xiexin.jsp?messageId="+data.mail.messageId;
133                 }
134         },"json");
135     }
136     //发送
137 function submits(){
138     $("#mailText").val(remark_ck.getData());
139     var mailTo=$("#mailTo").val();
140     var mailBcc=$("#mailBcc").val();
141     var mailCc=$("#mailCc").val();
142     if($.trim(mailTo)==""){
143         alert("收件人地址不允许为空!");
144         return;
145     }if(!validateeEmails(mailTo)){
146         alert("邮件地址格式不正确,多收件人时用分号隔开!");
147         return;
148     }
149     
150     if($.trim(mailBcc)!=""){
151         if(!validateeEmails(mailBcc)){
152             alert("抄送地址格式不正确,多人时用分号隔开!");
153             return;
154         }
155     }
156     if($.trim(mailCc)!=""){
157         if(!validateeEmails(mailCc)){
158             alert("密送地址格式不正确,多人时用分号隔开!");
159             return;
160         }
161     }
162     isNewMail=false;//标识不是新邮件
163     document.getElementById("mailForm").submit();
164 }
165 //上传附件
166 function uploadAtta(){
167
168     var msgId=$("#messageId").val();
169     if($.trim(msgId)==""){
170         alert("邮件需要存草稿后才能添加附件!");return;
171     }
172     var obj = window
173     .showModalDialog("attaupload.jsp?messageId="+msgId,"",
174         "dialogWidth=360px;dialogHeight=330px;resizable=no;dialogLeft:330px;dialogTop:170px;");
175     if(obj==1){
176         getAttas();
177     }
178 }
179 //onload加载时获得附件信息
180 function getAttas(){
181     var msgId = $.trim($("#messageId").val());
182     if(msgId!=""){
183         $.post("/getMailAttas.do",{'messageId':msgId},function(json){
184             var html="";
185             var temp=null;
186             var obj=null;
187             for(var i=0;i<json.length;i++){
188                 obj=json[i];
189                 temp=parseInt(obj.filesize);
190                 if((temp/1024)>1024){
191                     temp=(temp/1024/1024).toFixed(1)+"M";
192                 }else{
193                     temp=(temp/1024).toFixed(1)+"K";
194                 }
195                 html+="<span id=\"atta_"+obj.id+"\" class=\"atta\">"+obj.filename+"<font class=\"fsize\">"+temp+"</font> <a href=\"/mailAtta.do?attachmentid="+obj.id+"\">下载</a>|<a href=\"javascript:delAtta('"+obj.id+"');\">删除</a></span>";
196            }
197         $(".attas").html(html);
198       },"json");
199     }
200 }
201 function delAtta(attaid,doc){
202     $.post("/delMailAtta.do",{'attachmentid':attaid},function(json){
203         if(json.code=="success"){
204             $("#atta_"+attaid).remove();
205         }else if(json.code=="error"){
206             alert(json.info);
207         }
208     },"json");
209 }
210 window.onload=function(){
211     getAttas();
212 }
213 function validateEmail(field) {
214     var regex=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i;
215     return (regex.test(field)) ? true : false;
216 }
217
218 function validateeEmails(value) {
219     var result = value.split(";");
220     for(var i = 0;i < result.length;i++)
221     if(!validateEmail(result[i])) 
222             return false;               
223     return true;
224 }
225 //选择联系人---------------------------
226 var selectType="";
227 function showSelectContact(type){
228     selectType=type;
229     $('#diagx').click();
230 }
231 function selectContactClose(){
232     $("#diagclose").click();
233 }
234 function callBackSelect(contacts){
235     var value = $("#mailTo").val();
236     var temp ="";
237     for(var i=0;i<contacts.length;i++){
238         if(value.indexOf(contacts[i].email)!=-1)continue;
239         if(temp.length>1)temp+=";";
240         temp+='"'+contacts[i].text.replaceAll('"')+'" <'+contacts[i].email+'>';
241     }
242     if(value.length>1&&value.substring(value.length-1)!=";"&&temp.length>1){
243         value+=";";
244     }
245     value+=temp;
246     if(selectType=="cc"){
247         $("#mailCc").val(value);
248     }else if(selectType=="bcc"){
249         $("#mailBcc").val(value);
250     }else{
251         $("#mailTo").val(value);
252     }
253 }
254 //为String对象添加replaceAll
255 String.prototype.replaceAll = stringReplaceAll;
256 function stringReplaceAll(AFindText,ARepText){
257 raRegExp = new RegExp(AFindText,"g");
258 return this.replace(raRegExp,ARepText)
259 }
260 </script>
261 </head>
262 <body class="right_body">
263 <form action="/sendMail.do" method="post"  id="mailForm">
264 <input type="button" onclick="submits();" value="发 送" id="send"/>&nbsp;<input type="button" value="保存草稿" id="save2draft" onclick="saveMail();"></input>
265 <div class="mhead">
266     <ul class="dis_lab">
267        <li>发件人</li>
268        <li>邮件标题</li>
269        <li>收件人</li>
270        <li class="bcc">抄送</li>
271        <li class="cc">密送</li>
272        <li><a href="javascript:uploadAtta();">添加附件</a></li>
273    </ul>
274    <ul class="values">
275        <li><%=session.getAttribute("@usercode").toString().toLowerCase()+"@"+EmailConfigUtils.getMailConfig("mail.domain") %>
276                <span class="addBcc"><a href="javascript:addBcc();"><%if(mailInfo!=null&&mailInfo.getMsgbcc()!=null&&!"".equals(mailInfo.getMsgbcc())){ %>删除抄送<%}else{ %>添加抄送<%} %></a></span>
277                <span class="addCc"><a href="javascript:addCc();"><%if(mailInfo!=null&&mailInfo.getMsgcc()!=null&&!"".equals(mailInfo.getMsgcc())){ %>删除密送<%}else{ %>添加密送<%} %></a></span>
278                <span class="selectContact"><a href="javascript:showSelectContact();">选择收件人地址</a></span>
279                <span class="selectCc" id="selectBcc"><a href="javascript:showSelectContact('bcc');">选择抄送地址</a></span>
280                <span class="selectCc" id="selectCc"><a href="javascript:showSelectContact('cc');">选择密送地址</a></span>
281        </li>
282        <%if(mailInfo!=null){        
283  %>
284         <input type="hidden" id="mailId" name="mailId" value="<%=mailInfo.getMailId() %>"></input>
285        <input type="hidden" id="messageId" name="messageId"  value="<%=mailInfo.getMessageid() %>"></input>
286        <li><input class="in"  type="text" id="mailSubject" name="mailSubject"  value="<%=mailInfo.getSubject() %>"/></li>
287        <li><input class="in" type="text" name="mailTo" id="mailTo" value="<%=mailInfo.getMsgto()==null?"":mailInfo.getMsgto().replace("\"","&quot;") %>" /></li>
288        <li class="bcc"><input class="in" type="text" id="mailBcc" name="mailBcc" value="<%=mailInfo.getMsgbcc()==null?"":mailInfo.getMsgbcc().replace("\"","&quot;") %>"/></li>
289        <li class="cc"><input class="in" type="text" id="mailCc" name="mailCc" value="<%=mailInfo.getMsgcc()==null?"":mailInfo.getMsgcc().replace("\"","&quot;") %>"/></li>
290        <%}else{%>
291        <input type="hidden" id="mailId" name="mailId"></input>
292        <input type="hidden" id="messageId" name="messageId" />
293            <li><input class="in"  type="text" id="mailSubject" name="mailSubject"/></li>
294        <li><input class="in" type="text" name="mailTo" id="mailTo" value="<%=msgfrom==null?"":URLDecoder.decode(msgfrom,"UTF-8") %>"/></li>
295        <li class="bcc"><input class="in" type="text" id="mailBcc" name="mailBcc"/></li>
296        <li class="cc"><input class="in" type="text" id="mailCc" name="mailCc"/></li>
297        <%} %>
298        <li class="attas">
299        </li>
300    </ul>
301 </div>
302
303 <table width="100%" height="100%" border="0">
304     <tr>
305         <td colspan="2">
306         <div id="mText"></div>
307         
308         <textarea cols="500" id="content" name="content" rows="10" >
309       
310       <% if(mailInfo!=null){ %>
311       <%=mailInfo.getBodytext().replaceAll("cid:","/mailResource.do?messageid="+mailInfo.getMessageid()+"&cid=") %>
312       <%} %>
313       </textarea>
314         <script type="text/javascript">
315     var remark_ck=CKEDITOR.replace( 'content',
316      {
317       skin : 'kama',
318       language : 'zh-cn',
319       height: '250px',
320       width:'90%'
321      });
322    </script>  
323         
324         <input type="hidden" id="mailText" name="mailText"></input>
325         </td>
326     </tr>
327 </table>
328 <script type="text/javascript">
329
330 //var remark_ck=CKEDITOR.appendTo("mText");
331 //remark_ck.setData('aaammmmmmmmmmmmmmmm');
332 //remark_ck.text="mmmmmmmmmmmmmnnbbbb";
333 <% if(mailInfo!=null){ %>
334 //remark_ck.setData('<%=mailInfo.getBodytext().replaceAll("\r|\n","\\\\r\\\\n").replaceAll("cid:","/mailResource.do?messageid="+mailInfo.getMessageid()+"&cid=") %>');
335 <%} %>
336
337 </script>
338
339 <div id="diagx" style="display: none;position: absolute;z-index:999;"></div>
340 </form>
341 </body>
342 </html>