.net 调用notes发邮件



其实网上已经很多了,不过我还是记下来吧,当做自己的笔记也好。

刚开始的时候,真的都不知道怎么配置那几个参数,不过想要了解这些,必须多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文件的密码
ndb = ns.GetDatabase(@ServerName, @MailFile, false);  //ServerName表示Notes服务器的地址。MailFile指mail数据库(.nsf文件)一般的都在服务器上。
if (!ndb.IsOpen) { ndb.Open(); }NotesDocument doc = ndb.CreateDocument();


3、都配置好了,连接成功了,就可以发送邮件了

NotesDocument 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;
发送邮件主要就是这些代码,不过我在客户那边测试的时候,老是报错,:说是尝试读取或写入受保护的内存,这通常是其他内存已损坏,不知道什么问题,不过网上还ka

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值