java用notes发带附件邮件,内网用程序(最好java)直接向 Lotus Notes 发邮件的思路解决方案(2)...

当前位置:我的异常网» Lotus » 内网用程序(最好java)直接向 Lotus Notes 发邮件的

内网用程序(最好java)直接向 Lotus Notes 发邮件的思路解决方案(2)

www.myexceptions.net  网友分享于:2015-08-26  浏览:378次

int index=0;

NewsItem[] Result=new NewsItem [PageSize];

//连接Notes数据库

vn=ConnectToNotesDb( " ", "bbs.nsf ", "bufy_2001 ", "All Documents ",out h);

//获取每个新闻文档的信息

do

{

doc = h.Document;

Result[index]=new NewsItem ();

Result[index].Subject =doc.GetFirstItem ( "Subject ").Text;

Result[index].Category =doc.GetFirstItem ( "categories ").Text ;

Result[index].PostTime =doc.Created.ToString ();

Result[index].Author =doc.GetFirstItem( "From ").Text ;

Result[index].NewsID =doc.NoteID .ToString ();

index++;

h = vn.GetNextDocument(h);

}

while(h!=null&&index

return Result;

}

连接Louts数据库的方法:

//这个方法建立Notes的数据库连接并获取视图的句柄

public Domino.IViewNavigator ConnectToNotesDb(string pServer,string pDbFileName,string pPassword,string pNotesView,out Domino.IViewEntry h)

{

NotesSession s=new NotesSession ();

Domino.IDatabase db;

Domino.IView v;

Domino.IViewNavigator vn;

s.Initialize (pPassword);

db=s.GetDatabase (pServer,pDbFileName,false);

v=db.GetView (pNotesView);

vn=v.CreateViewNav(0);

:h=vn.GetFirstDocument ();

return vn;

}

至此完成了web service服务的定义,在想发布的web service服务上标上[WebMethod],这样服务就可以被客户端访问了。

3) 客户端的构建

客户端可以有很多种方法可以构建,在这里只讲述用ASP web站点的连接方式。客户端想获取XML web service服务,除了要支持http的连接外,还要能够解析XML文档。ASP通过调用XMLHTTP组件接受XML消息,在应DOM来解析XML文档获取我们需要的信息。

在这里,笔者只列出ASP请求、接受XML服务和解析XML文档的源代码:

Dim oXMLHTTP

Dim oDOM

Set oXMLHTTP=Server.CreateObject ( "Microsoft.XMLHTTP ")

Set oDOM = Server.CreateObject( "Microsoft.XMLDOM ")

'利用post方法完成xml web service服务的请求 oXMLHTTP.open_ "POST ", "http://192.168.3.11/DominoXmlWebService/NewsPublish.asmx/GetNewsDetails ",f_alse

'利用Get方法完成xml web service服务的请求

'oXMLHTTP.open_ "GET ", "http://192.168.3.11/DominoXmlWebService/NewsPublish.asmx/GetNewsByCount?_

NewsID= "&newsID& " ",false

'设置post方法参数

oXMLHTTP.SetRequestHeader_ "Content-Type ", "application/x-www-form-urlencoded "

'发送post数据

oXMLHTTP.send "NewsID= "&newsID& " "

'如果用get方法,则发送方法如下

'oXMLHTTP.send

Set oDOM=oXMLHTTP.responseXML

Set theNode=oDOM.documentElement.childNodes(0)

NewsID=theNode.ChildNodes(0).text

Subject=theNode.ChildNodes(1).text

Category=theNode.ChildNodes(2).text

Count=theNode.ChildNodes(3).text

PostTime=theNode.ChildNodes(4).text

Author=theNode.ChildNodes(5).text

Body=theNode.ChildNodes(6).text

至此,我们完成了所有的任务。

------解决方案--------------------

有四种办法:1.smtp 2.vbs 3.java调用本地notes连接远端服务器 4.java直接连接远端服务器发送邮件。

你要是内网不能连接远端服务器,只能试一下2.3,我已经实现了这4种方式,要代码的话可以和我联系,email:gengyansheng@hb.icbc.com.cn

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值