`
ding20688
  • 浏览: 63316 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
社区版块
存档分类
最新评论

Notes程式研究

阅读更多
在SMTP伺服器,相應帳號已知的情況下,用C#發送電子郵件以有現成的函數,但對於使用Lotus Notes的網路中,如何發郵件,以下是一種方法供參考

1.保證本地有一個Lotus Notes 的用戶端,通過這個用戶端,你可以得到三個資訊,
       1.伺服器的描述, 例如:srvc7/srvc/cag
        2.帳號檔資訊 例如:mail102\zhangsan1.nsf
        3.密碼 例如:MyPassword

<add key=”NotesDBServerStr” value=”CHNYT03/FOXCONN”/>

<add key=”NotesDBFilePathStr” value=”mail01\ytitsdt.nsf”/>

<add key=”NotesPassword” value=”84403736″/>

2. 在啟動VS2005專案,添加引用,添加COM引用,由於你已經安裝了lotus notes用戶端,你可以在COM引用中看到Lotus Notes的引用(Lotus Domino Objects),添加它,你得飲用中會多一個Domino的dll,
3.在你的項目的命名空間中,加上
using Domino;

4.以下是發送郵件的函數
        public Boolean SendNotesMail(string ToMail, string Subject, string Body)
        {
            Domino.NotesSession oNotesSession = null; ;
            Domino.NotesDatabase oNotesDatabase = null;
            Domino.NotesDocument oNotesDocument = null;
            object oItemValue = null;
            //String sUserName;                         
            String sPassword = “”;           //Password used by COM to pass to the Notes client login.
            String sServerName = “”;
            String sMailFile = “”;

            try
            {
                oNotesSession = new Domino.NotesSession(); //create a notes session object
                //sPassword = MsgData.Password;
                sPassword = “MyPassword”;
                oNotesSession.Initialize(sPassword); //Initialise session by passing a password. Lotus Notes will not load.

                //sUserName = oNotesSession.UserName;
                //Console.WriteLine(sUserName);

                //Create a database handle to the database you wish to send the mail message from.
                //sServerName = MsgData.ServerName;
                sServerName = @”srvc7/srvc/cag”;
                //sMailFile = MsgData.MailFile;
                sMailFile = @”mail102\zhangsan1.nsf”;
                oNotesDatabase = oNotesSession.GetDatabase(sServerName, sMailFile, false);

                //If the database is not already open then open it.
                if (!oNotesDatabase.IsOpen)
                {
                    oNotesDatabase.Open();
                }
                //Create an in memory document in the server database
                oNotesDocument = oNotesDatabase.CreateDocument();
                //Assign Field Values
                oNotesDocument.ReplaceItemValue(“Form”, “Memo”);
                //oNotesDocument.ReplaceItemValue(“From”, MsgData.FromMail);
                oNotesDocument.ReplaceItemValue(“From”, zhangsan1@mydomain.com);
                oNotesDocument.ReplaceItemValue(“SendTo”, ToMail);
                oNotesDocument.ReplaceItemValue(“Subject”, Subject);
                NotesRichTextItem rt = oNotesDocument.CreateRichTextItem(“Body”);
                rt.AppendText(Body);
                //oNotesDocument.ReplaceItemValue(“Body”, MsgData.Body);
                oNotesDocument.SaveMessageOnSend = true; //Ensure memo shows in sent folder
                oNotesDocument.ReplaceItemValue(“postDate”, DateTime.Now.ToShortDateString());

                //Send requires an object for the recipients, so I give the send method the SendTo field as an object.

                oItemValue = oNotesDocument.GetItemValue(“SendTo”);
                //Send the email
                oNotesDocument.Send(false, ref oItemValue);
                return true;

            }
            catch (Exception error)
            {
                Console.WriteLine(“{0} My Exception caught.”, error);
                return false;
            }
            finally
            {
                //if (oNotesSession != null) { Marshal.ReleaseComObject(oNotesSession); }
                //if (oNotesDatabase != null) { Marshal.ReleaseComObject(oNotesDatabase); }
                //if (oNotesDocument != null) { Marshal.ReleaseComObject(oNotesDocument); }
                //if (oItemValue != null) { Marshal.ReleaseComObject(oItemValue); }

                oNotesSession = null;
                oNotesDatabase = null;
                oNotesDocument = null;
                oItemValue = null;
                GC.Collect();
            }

        }
分享到:
评论

相关推荐

    Lotus Notes 24学时教程part2

    2. **数据库设计与开发**:Notes/Domino平台提供了强大的数据库开发工具,允许用户无需编程知识即可创建应用程序。这部分教程可能涵盖了表单设计、视图构建、规则设定等内容,帮助用户理解如何构建定制化的信息管理...

    notes-squared:以Apple Notes为蓝本的Notes应用程式; 专为Android开发

    开发者在设计这款应用时,显然是深入研究了Apple Notes的设计理念,力求在Android平台上复制其核心功能和用户体验。这意味着Notes Squared可能具有类似的分类管理、文本格式化、图片插入、链接保存等特性,同时也...

    MATLAB Study Notes(第二版)

    MATLAB(Matrix Laboratory)是一款由MathWorks公司开发的高级技术计算语言和交互式环境,广泛应用于工程计算、科学计算、数据分析、算法开发、建模、仿真等多个领域。MATLAB的核心优势在于其强大的矩阵运算能力和...

    安卓Android源码——Mi_Notes.zip

    总之,通过对Mi_Notes源码的深入研究,开发者不仅能了解一个实际应用的完整架构,还能掌握众多Android开发的关键技能,这对提升个人技术水平和解决实际问题的能力大有裨益。同时,这样的实践也是遵循Android最佳实践...

    scwcd_notes.pdf

    - **部署描述符**:深入研究了web.xml文件,它是Web应用的核心配置文件,用于定义应用的结构和行为。 #### 章节十二:安全性 - **安全概念**:概述了Web应用安全的基础知识,包括身份验证、授权和机密性。 - **...

    TriliumNotes是一个分层笔记应用程序专注于构建大型个人知识库

    这种设计非常适合处理复杂的信息,如项目管理、研究资料、学习笔记等,使得你可以按照主题、类别或者相关性将信息分门别类,便于理解和记忆。 Markdown编辑器是Trilium Notes的核心工具之一。Markdown是一种轻量级...

    MATLAB Study Notes

    这份“MATLAB Study Notes”是由jackzero0 Studio制作的,主要基于曹戈、郑阿奇的《MATLAB 使用教程(第二版)》以及Stephen J. Chapman的《MATLAB 编程(第二版)》中文译本,同时参考了一些MATLAB教学相关的讲义...

    适合初学者的理解ros文档《notes-ros》

    文档《notes-ros》意在为初学者提供一个介绍ROS的基础文档,它作为在线教程的补充,帮助初学者更快地理解和掌握ROS的基本概念与操作。文档内容涵盖了ROS基础、配置、节点管理、编程实践、主循环编写、服务调用和参数...

    Notes

    在这个"Notes-main"压缩包中,我们可以期待找到一系列关于Swift编程的详细文档、代码示例或者教程。 Swift是苹果公司于2014年推出的一种强大且现代化的编程语言,用于开发iOS、iPadOS、macOS、watchOS和tvOS的应用...

    Sticky Notes++-crx插件

    Sticky Notes++ 是一款专为英语用户设计的浏览器扩展程序,它提供了一种高效且直观的方式来管理个人的笔记和想法。这款插件将传统的桌面便签功能与现代数字化工具相结合,极大地提升了记录和组织信息的能力。 **...

    yt-notes-crx插件

    "yt-notes-crx插件"是一款专为YouTube用户设计的扩展程序,主要功能是在观看视频的过程中,方便用户记录笔记,并且可以保存下来以便日后查阅。这个插件特别适合那些经常在学习、研究或者休闲娱乐时使用YouTube,并...

    notes:一款受Google Keep启发的Android材质设计笔记应用程序

    Notes应用程序采用Material Design原则,这包括使用明亮的色彩方案、阴影效果以及卡片式的界面布局,以增强应用的视觉吸引力和可用性。 【Android Architecture Components】 为了构建健壮且可维护的应用,Notes...

    notes:学习笔记

    这个"notes-master"压缩包可能包含了上述每个领域的实战项目、教程、案例研究或者问题解答,为IT学习者提供了丰富的学习材料。通过深入学习和实践,可以不断提升自身的IT技能和解决问题的能力。

    Graphic-Notes:个人知识仓库,坚持更新

    用户可以通过浏览器与知识仓库进行互动,无需安装复杂的软件或应用程序。HTML的结构化特性也使得知识内容的组织变得更加有序,用户可以通过编辑HTML代码来优化自己的知识结构和呈现形式。 项目名称中的“Graphic-...

    oplss-15-notes:GitBook提供有关OPLSS15程序的注释

    GitBook 提供的 "OPLSS 15 Notes" 包含详细的使用说明、常见问题解答和实例教程,是学习和掌握OPLSS 15程序的重要参考资料。同时,参与相关的在线社区和技术论坛,可以获取实时的帮助和支持。 10. **进阶技巧与...

    Build composite applicastion

    文件"composite_app.pdf"很可能包含更详尽的教程或指南,可能涵盖了上述步骤的详细操作,以及最佳实践和案例研究。通过阅读这份文档,开发者可以进一步了解如何在实际项目中有效利用Lotus Notes/Domino构建复合应用...

    notes_from_learning

    【标题】: "Rust 学习笔记" 【正文】: 在编程世界中,Rust 是...通过深入研究 "notes_from_learning" 中的内容,你将能够逐步理解并掌握 Rust 语言的核心概念和实践技巧,为构建安全、高效的应用程序打下坚实基础。

    魂斗罗java程序源码-LearningNotes:知识点的总结和梳理

    在本资源中,我们主要关注的是一个名为"魂斗罗java程序源码"的项目,它结合了学习笔记和视频教程,旨在帮助爱好者理解和学习Java编程。"LearningNotes"可能是这个项目的名称或组织方式,而"系统开源"的标签表明该...

Global site tag (gtag.js) - Google Analytics