其实网上已经很多了,不过我还是记下来吧,当做自己的笔记也好。
刚开始的时候,真的都不知道怎么配置那几个参数,不过想要了解这些,必须多Lotus notes有一定的了解。好了,废话不多说了,开始进入正题。
1、如果想使用.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;命名空间。
参考网站:http://www.cnblogs.com/xiaoshatian/archive/2008/06/17/1223439.html
2、开始上代码
private NotesSession ns; private NotesDatabase ndb; ns.Initialize(password); //密码,本机的notesClient对应的ID文件的密码
if (!ndb.IsOpen) { ndb.Open(); }NotesDocument doc = ndb.CreateDocument(); 3、都配置好了,连接成功了,就可以发送邮件了ndb = ns.GetDatabase(@ServerName, @MailFile, false); //ServerName表示Notes服务器的地址。MailFile指mail数据库(.nsf文件)一般的都在服务器上。
发送邮件主要就是这些代码,不过我在客户那边测试的时候,老是报错,:说是尝试读取或写入受保护的内存,这通常是其他内存已损坏,不知道什么问题,不过网上还kaNotesDocument doc = ndb.CreateDocument(); doc.ReplaceItemValue("Form", "Memo"); //发件人信息 doc.ReplaceItemValue("From", "jack zhang"); //收件人信息 doc.ReplaceItemValue("SendTo", txtReceiver3.Text.Trim()); WriteLog.Log("添加收件人信息,成功!"); //抄送 if (txtCC3.Text.Trim() != "") { doc.ReplaceItemValue("CopyTo", txtCC3.Text.Trim()); } //邮件主题 doc.ReplaceItemValue("Subject", txtSubject3.Text.Trim()); WriteLog.Log("添加邮件主题,成功!"); if (!string.IsNullOrEmpty(txtContent3.Text)) { //邮件正文 NotesRichTextItem rt = doc.CreateRichTextItem("Body"); WriteLog.Log("创建邮件正文的对象,成功!"); rt.AppendText((String)txtContent3.Text.ToString()); WriteLog.Log("添加邮件正文,成功!"); } if (!string.IsNullOrEmpty(txtAttch.Text)) { //邮件附件 NotesRichTextItem attachment = doc.CreateRichTextItem("attachment"); WriteLog.Log("创建邮件附件的对象,成功!"); attachment.EmbedObject(EMBED_TYPE.EMBED_ATTACHMENT, "", txtAttch.Text, "attachment"); WriteLog.Log("添加邮件附件,成功!"); } //发送邮件 object obj = doc.GetItemValue("SendTo"); doc.Send(false, ref obj); doc = null;