前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Web上登录Domino后直接打开用户的邮件

在Web上登录Domino后直接打开用户的邮件

作者头像
阿敏总司令
发布2019-02-28 15:13:09
1.3K0
发布2019-02-28 15:13:09
举报
文章被收录于专栏:简单就是美!简单就是美!

阅读更多

/**  * <p>Title: MailRedirectServlet</p>  * <p>Description: 登录Domino服务器后直接打开用户的邮件!</p>  * <p>前提Domino配置成支持servelt,</p>  * <p>打开Names.nsf,配置,服务器文档,Internet协议,Domino Web引擎,Java 服务器小程序,选择:Domino 服务器小程序管理器</p>  * <p>保存后重启Domino</p>  * <p>把这个编译后的.class文件放到%DOMNIO%\Data\Domino\servlet目录下面</p>  * <p>然后通过http://%SERVER%/servlet/MailRedirectServlet访问即可</p>  * <p>Copyright: Copyright (c) 2001 - 2004</p>  * <p>Company: Beyond DayBreak Office</p>  * <p>HomePage: http://202.101.111.1/123</p>  * <p>E-Mail: YuLimin@163.net</p>  * @author YuLimin  * @version 1.0  */

//package net.echochina.oa;

import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

import lotus.domino.Document; import lotus.domino.NotesException; import lotus.domino.NotesFactory; import lotus.domino.NotesThread; import lotus.domino.Session; import lotus.domino.View;

public class MailRedirectServlet extends HttpServlet {     final static String DB_NAMES = "Names.nsf";

    public MailRedirectServlet()     {     }

    public void init() throws ServletException     {     }

    public void destroy()     {     }

    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException     {         doPost(request,response);     }

    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException     {         String strFullName = request.getRemoteUser();         String strMailFile = "";

        response.setContentType("text/html; charset=gb2312");         ServletOutputStream out = response.getOutputStream();         out.println("直接打开登录用户的邮件开始!<p>");         out.println("登录的用户名为:" + strFullName + "<p>");

        if(strFullName == null || strFullName.equalsIgnoreCase("Anonymous"))         {             out.println("没有登录到Domino服务器!<p>");             out.println("<script>document.location='/Names.nsf?Login&RedirectTo=/servlet/MailRedirectServlet';</script>");         }         else         {             NotesThread.sinitThread();             Session session = null;             View view = null;             Document doc = null;             try             {                 session = NotesFactory.createSession();                 view = session.getDatabase(session.getServerName(),DB_NAMES).getView("People");                 doc = view.getDocumentByKey(getShortName(strFullName));                 if(doc != null)                 {                     strMailFile = doc.getItemValueString("MailFile");                     strMailFile = strMailFile.replace('\\','/');                     if(!strMailFile.toLowerCase().endsWith(".nsf"))                     {                         strMailFile += ".nsf";                     }                     out.println(strFullName + "用户的邮件为:" + strMailFile + "<p>");                     String strMailURL = request.getScheme() + "://" + request.getServerName();                     int strServerPort = request.getServerPort();                     if(strServerPort != 80)                     {                         strMailURL += ":" + strServerPort;                     }                     strMailURL += "/" + strMailFile;                     out.println("邮件地址为:" + strMailURL + "<p>");                     out.println("<script>");                     //out.println("alert('开始进入邮件')");                     out.println("document.location='" + strMailURL + "'");                     out.println("</script>");                     //response.sendRedirect(strMailURL);                     //response.encodeRedirectUrl(strMailURL)                 }                 else                 {                     out.println("找不到 " + strFullName + " 的邮件文件!<p>");                 }             }             catch(NotesException e)             {                 out.println(e.toString() + "<p>");                 e.printStackTrace();                 System.out.println(e.id + " " + e.text);             }             finally             {                 try                 {                     if(doc != null)                     {                         doc.recycle();                         doc = null;                     }                     if(view != null)                     {                         view.recycle();                         view = null;                     }                     if(session != null)                     {                         session.recycle();                         session = null;                     }                 }                 catch(Exception e)                 {                     e.printStackTrace();                 }                 NotesThread.stermThread();             }         }         out.close();     }

    //取用户的短名!     private String getShortName(String strTemp)     {         if(strTemp.indexOf("CN=") >= 0 && strTemp.indexOf("/") >= 0)         {             return strTemp.substring(3,strTemp.indexOf("/"));         }         else         {             return strTemp;         }     }

    public String getServletInfo()     {         return "登录Domino服务器后直接打开用户的邮件!";     } }

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2003-08-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档