前段时间简单的研究了一下.NET操作Lotus Notes邮件的实现,具体的操作包括邮件的读取和发送,而且都要包含附件,其间参考了《在 Microsoft .NET 应用程序中使用 IBM Lotus Domino》一文,现在把成果和大家分享一下。本文将分为获取用户列表、发送邮件、收取邮件三个部分,并会在文末提供范例程序(Visual Studio 2008)的下载。
引用
如果想使用.NET操作Lotus,我们可以使用 Lotus Domino Objects 通过 COM 来访问 Domino 对象,在 Domino 服务器或者任何一个 Notes 客户机(IBM Lotus Domino Designer、Lotus Domino Administrator 或者 Lotus Notes)的安装中都包括 Lotus Domino Objects。如果你的开发环境复合上述的要求,就可以添加一个COM引用:Lotus Domino Objects,然后:
using Domino;
如果找不到这个COM组件,可以先注册以下组件,然后就可以找到了:
regsvr32 "C:\Program Files\lotus\notes\nlsxbe.dll"
获取Notes邮箱用户列表
本段代码将遍历用户视图(People View)中的所有用户,将其全名添加到ComboBox控件中。新建两个全局变量(全局的目的是供本例中的其它方法使用)。
NotesSession ns;
NotesDatabase ndb;
发送邮件
本段代码降为从ComboBox中选中的用户发送一封邮件,我们可以输入邮件的标题和内容,并可以添加附件。
try{ if(ns!=null) { NotesDocument doc = ndb.CreateDocument(); doc.ReplaceItemValue("Form", "Memo"); //收件人信息 doc.ReplaceItemValue("SendTo", cb_People.Text); //邮件主题 doc.ReplaceItemValue("Subject", tb_Subject.Text); //邮件正文 NotesRichTextItem rt = doc.CreateRichTextItem("Body"); rt.AppendText(tb_Body.Text); //附件 if (!string.IsNullOrEmpty(tb_Attachment.Text)) { NotesRichTextItem attachment = doc.CreateRichTextItem("attachment"); attachment.EmbedObject(EMBED_TYPE.EMBED_ATTACHMENT, "", tb_Attachment.Text, "attachment"); } //发送邮件 object obj = doc.GetItemValue("SendTo"); doc.Send(false,ref obj); doc = null; MessageBox.Show("Successfully!"); }}catch(Exception ex){ MessageBox.Show("Error:" + ex.Message);}
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#局域网 邮件
, 邮件
, doc
, 用户
, lotus
, domino
, c# 附件
, lotus notes搜索
, lotus notes
, attachment
, lotus notes
#Lotus
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。