欢迎来到天天文库
浏览记录
ID:31365348
大小:113.00 KB
页数:8页
时间:2019-01-09
《c#语言集成lotus notes客户端实现邮件发送》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C#语言集成LotusNotes客户端实现邮件发送 摘要:LotusNotes通常被称为群件,它是一款集电子邮件、通讯软件、数据库软件、文件管理软件、工作流软件于一体的办公软件。目前,LotusNotes系统在气象部门的应用主要体现在公文的收发,预警信号,灾情直报等。本文介绍了通过COM访问LotusDomino资源类,使用Microsoft.NET访问LotusNotes的数据库,实现快速发送LotusNotes邮件。 关键词:Microsoft.NETLotusNotesDominoCOM 中图
2、分类号:TP311文献标识码:A文章编号:1007-9416(2016)05-0000-00 1设计思路 Windows通常通过开放数据库互连标准ODBC进行数据交换与操作,后来微软又推出了ADO技术用于Oracle等关系数据库管理系统,尽管也提供了NotesODBC,但它并不支持全文检索,因此要在Microsoft.NET中实现对LotusNotes数据库的存取,必须通过别的方法,即在Notes中使用COM和OLE。8 ??OLE是Windows的一个特征,OLE通过把应用程序的功能作为对象暴露给
3、其他应用程序,这些对象拥有属性(数据)和方法(函数),应用程序通过OLE中的对象去执行相应的任务。Domino既可以作为一个OLE提供给外部程序调用,也可以通过OLE去控制其他OLE对象。在R5.03以后,Lotus提供了一个后台的COM类NotesSession。NotesSession是一个功能强大的对象模型,它提供了其他Notes对象的接口,即只有通过它才能访问Notes中的数据库对象NotesDatabase、NotesView等。 2程序实现 下面仅介绍通过DominoCOM的NotesSe
4、ssion和NotesDatabase属性和方法,来实现邮件发送的功能。其它的应用可参考LotusNotes的帮助文档.设计程序之前必须取得三个信息:?服务器的描述(如:besz_s/河北/CMA),?邮件文件信息(如mail\zkyangyuan.nsf)?用户密码(如:yangyuan)。启动VS2008项目,添加COM引用。 (1)首先先登陆当前激活的邮箱,以下函数模块可以实现登陆邮箱的功能。 privatevoidloginMail() { try { stringPassWord="
5、yangyuan";//登陆时需要输入的密码 //定义Notes会话 NotesSessionns=newNotesSession(); //初始化Notes会话 ns.Initialize(PassWord); //邮件数据库的服务器描述 stringmail_Server="besz_s/河北/CMA";8 //当前用户的邮件数据库 stringmail_dbName=@"mail\zkyangyuan.nsf"; //定义邮件数据库 NotesDatabasendb; //初始
6、化NotesDatabase登陆Notes ndb=ns.GetDatabase(mail_Server,mail_dbName,false); if(ndb.IsOpen==false) ndb.Open(); } catch(Exceptionex) { MessageBox.Show("远程数据库连接失败!"); } } (2)正常登陆邮箱后可以通过以下函数模块可以实现发送带附件的邮件到指定收件人的邮箱。 //Subject表示邮件主题;Body表示邮件正文;Attachmen
7、t表示邮件附件的文件;Receive_People表示收件人信息 PrivatevoidMailSend(StringSubject,StringBody,String[]Attachment,StringReceive_People) { try8 { if(ns!=null) { string[]people=Receive_People.Split(','); foreach(stringstrinpeople) { NotesDocumentdoc=ndb.CreateDocu
8、ment(); doc.ReplaceItemValue("Form","Memo"); doc.ReplaceItemValue("SendTo",str); //邮件主题 doc.ReplaceItemValue("Subject",Subject); //邮件正文 NotesRichTextItemrt=doc.CreateRichTextItem("Body"); rt.AppendText(Body);
此文档下载收益归作者所有