学院首页>网络编程>JSP>使用JSP开发WebMail系统

使用JSP开发WebMail系统

作者: 来源: 添加时间:2006-5-21 19:20:26
发送邮件代码段 

根据用户输入的内容,获取邮件头信息代码如下: 
String host = "nyist.net";
String from = request.getParameter("from");
String to = request.getParameter("to");
String subject = request.getParameter("subject");
String content = request.getParameter("content");
Properties props = System.getProperties();
//设置邮件服务
props.put("mail.smtp.host", host);
Session session2 =Session.getInstance(props, null);
设置邮件头信息代码如下: 
MimeMessage message =new MimeMessage(session2);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
message.setSubject(subject);
message.setSentDate(new Date());
// create the message part
MimeBodyPart messageBodyPart =new MimeBodyPart();
设置邮件内容,构建程序段如下: 
messageBodyPart.setText(content);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
用户在发送邮件时常常带有附件,就是将浏览器客户端用户本地的文件传送到POP客户端,实现代码如下: 
for (int i=0;i<mySmartUpload.getFiles().getCount();i++)
{
 com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);
 if (!myFile.isMissing()) {
 myFile.saveAs("/upload/" + myFile.getFileName()); 
 count ++;
}
在上传附件的同时,对上传文件的数量进行统计,并通过out.println("上传了"+count + "个文件")将其在屏幕上显示出来。 
在发送的信件中如果有附件,使用如下代码进行发送: 
for(int i=0;request.getParameter("file"+i)!=null;i++)
{
 messageBodyPart = new MimeBodyPart();
 File file=new File("/home/mengyu/ROOT/upload/",request.getParameter("file"+i));
 DataSource source =new FileDataSource(file);
 messageBodyPart.setDataHandler(new DataHandler(source));
 messageBodyPart.setFileName(request.getParameter("file"+i));
 multipart.addBodyPart(messageBodyPart);
}
// Put parts in message
message.setContent(multipart);
调用Transport的send方法,将构造好MIME Message对象发送出去,代码如下: 
Transport.send(message);


删除电子邮件代码段 
在通过Web界面使用电子邮件过程中,经常要对接收到垃圾邮件或已查看过的邮件进行删除,这也是电子邮件中必不可少的一个功能,所以我们设计了Web界面中删除电子邮件的相应功能,主要程序代码段如下: 
Folder folder=store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
Message message[]=folder.getMessages();
String msg[]=request.getParameterValues("msg");
for(int i=0,n=msg.length;i<n;i++)
 message[Double.valueOf(msg[i]).intValue()].setFlag(Flags.Flag.DELETED,true);
folder.close(true);
 
用户管理 
在使用系统运行的过程中,通过管理界面添加用户,删除不必要的用户,修改用户的密码,这是程序运行过程中必要的模块,代码如下: 
//添加用户
Runtime.getRuntime().exec("/home/vpopmail/bin/vadduser"+request.getParameter("username")+"@nyist.net "+request.getParameter("passwd"));
//删除用户
Runtime.getRuntime().exec("/home/vpopmail/bin/vdeluser"+request.getParameter("username")+"@nyist.net");
//修改用户密码
Runtime.getRuntime().exec("/home/vpopmail/bin/vpasswd"+request.getParameter("username")+"@nyist.net "+request.getParameter("passwd")); 


总结
Java简化了企业解决方案的开发、部署和管理等相关的复杂问题,它是面向对象的编程语言,同时也是具有平台独立性、高性能的服务器端编程语言。它提供的标准系统框架和服务适合团体开发,可控制性好,与其它资源的集成性好。采用Java为编程工具开发高性能、高可用性的WebMail服务器具有非常重要的意义。
第 2 页,共 2 页 [1] [2]
站内搜索