C#简单操作Lotus Notes邮件2011-05-24 博客园 听风且吟前段时间简单的研究了一下.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 Fileslotus
otes
lsxbe.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);
}