亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C#語言集成Lotus Notes客戶端實(shí)現(xiàn)郵件發(fā)送

        2016-05-14 04:35:11林凱李曉偉倪伏躍

        林凱 李曉偉 倪伏躍

        摘要:Lotus Notes通常被稱為群件,它是一款集電子郵件、通訊軟件、數(shù)據(jù)庫軟件、文件管理軟件、工作流軟件于一體的辦公軟件。目前,Lotus Notes系統(tǒng)在氣象部門的應(yīng)用主要體現(xiàn)在公文的收發(fā),預(yù)警信號(hào),災(zāi)情直報(bào)等。本文介紹了通過 COM 訪問 Lotus Domino 資源類,使用Microsoft .NET訪問Lotus Notes的數(shù)據(jù)庫,實(shí)現(xiàn)快速發(fā)送Lotus Notes郵件。

        關(guān)鍵詞:Microsoft.NET Lotus Notes Domino COM

        中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)05-0000-00

        1 設(shè)計(jì)思路

        Windows通常通過開放數(shù)據(jù)庫互連標(biāo)準(zhǔn)ODBC進(jìn)行數(shù)據(jù)交換與操作,后來微軟又推出了ADO技術(shù)用于 Oracle等關(guān)系數(shù)據(jù)庫管理系統(tǒng),盡管也提供了Notes ODBC,但它并不支持全文檢索,因此要在Microsoft .NET中實(shí)現(xiàn)對(duì)Lotus Notes數(shù)據(jù)庫的存取,必須通過別的方法,即在Notes中使用COM和OLE。

        ??OLE是Windows的一個(gè)特征,OLE通過把應(yīng)用程序的功能作為對(duì)象暴露給其他應(yīng)用程序,這些對(duì)象擁有屬性(數(shù)據(jù))和方法(函數(shù)),應(yīng)用程序通過OLE中的對(duì)象去執(zhí)行相應(yīng)的任務(wù)。Domino既可以作為一個(gè)OLE提供給外部程序調(diào)用,也可以通過OLE去控制其他OLE對(duì)象。在R5.03以后,Lotus提供了一個(gè)后臺(tái)的COM類NotesSession。NotesSession是一個(gè)功能強(qiáng)大的對(duì)象模型,它提供了其他Notes對(duì)象的接口,即只有通過它才能訪問Notes中的數(shù)據(jù)庫對(duì)象NotesDatabase、NotesView等。

        2 程序?qū)崿F(xiàn)

        下面僅介紹通過Domino COM的NotesSession和NotesDatabase屬性和方法,來實(shí)現(xiàn)郵件發(fā)送的功能。其它的應(yīng)用可參考Lotus Notes的幫助文檔.設(shè)計(jì)程序之前必須取得三個(gè)信息:?服務(wù)器的描述(如:besz_s/河北/CMA),?郵件文件信息(如mail\zkyangyuan.nsf )?用戶密碼(如:yangyuan)。啟動(dòng)VS2008項(xiàng)目,添加COM引用。

        (1)首先先登陸當(dāng)前激活的郵箱,以下函數(shù)模塊可以實(shí)現(xiàn)登陸郵箱的功能。

        private void loginMail()

        {

        try

        {

        string PassWord = "yangyuan";//登陸時(shí)需要輸入的密碼

        //定義Notes會(huì)話

        NotesSession ns = new NotesSession();

        //初始化Notes會(huì)話

        ns.Initialize(PassWord);

        //郵件數(shù)據(jù)庫的服務(wù)器描述

        string mail_Server="besz_s/河北/CMA";

        //當(dāng)前用戶的郵件數(shù)據(jù)庫

        string mail_dbName=@"mail\zkyangyuan.nsf";

        //定義郵件數(shù)據(jù)庫

        NotesDatabase ndb;

        //初始化NotesDatabase登陸Notes

        ndb =ns.GetDatabase(mail_Server, mail_dbName, false);

        if (ndb.IsOpen == false)

        ndb.Open();

        }

        catch (Exception ex)

        {

        MessageBox.Show("遠(yuǎn)程數(shù)據(jù)庫連接失??!");

        }

        }

        (2) 正常登陸郵箱后可以通過以下函數(shù)模塊可以實(shí)現(xiàn)發(fā)送帶附件的郵件到指定收件人的郵箱。

        // Subject表示郵件主題;Body表示郵件正文;Attachment表示郵件附件的文件;Receive_People表示收件人信息

        Private void MailSend(String Subject,String Body,String[] Attachment,String Receive_People)

        {

        try

        {

        if (ns != null)

        {

        string[] people = Receive_People.Split(',');

        foreach (string str in people)

        {

        NotesDocument doc = ndb.CreateDocument();

        doc.ReplaceItemValue("Form", "Memo");

        doc.ReplaceItemValue("SendTo", str);

        //郵件主題

        doc.ReplaceItemValue("Subject", Subject);

        //郵件正文

        NotesRichTextItem rt = doc.CreateRichTextItem("Body");

        rt.AppendText(Body);

        //附件

        if (!string.IsNullOrEmpty(Attachment[0]))

        {//可以添加多個(gè)附件

        NotesRichTextItem attachment = doc.CreateRichTextItem("attachment");

        foreach (string Str in Attachment)

        {

        attachment.EmbedObject(EMBED_TYPE.EMBED_ATTACHMENT,"",Str,attachment");

        }

        }

        //發(fā)送郵件

        object obj = doc.GetItemValue("SendTo");

        doc.Send(false, ref obj);

        doc = null;

        }

        MessageBox.Show("郵件發(fā)送成功!");

        }

        }

        catch (Exception ex)

        {

        MessageBox.Show("郵件發(fā)送失??!");

        }

        }

        (3)如下可以實(shí)現(xiàn)把” 道路結(jié)冰黃色預(yù)警信號(hào)”給多個(gè)收件人發(fā)送

        //表示收件人信息

        String Receive_People=”赤城縣氣象局,崇禮縣氣象局,沽源縣氣象局,懷安縣氣象局,懷來縣氣象局”;

        //表示郵件主題;

        String Subject=” 道路結(jié)冰黃色預(yù)警信號(hào)”

        //表示郵件正文

        String Body =” 張家口市氣象臺(tái)2009年11 月11日16時(shí) 00分發(fā)布道路結(jié)冰黃色預(yù)警信號(hào)”

        //表示郵件附件的文件

        String[]Attachment={”200911111604544010道路結(jié)冰黃色.xml”}

        //調(diào)用郵件發(fā)送函數(shù)

        MailSend(Subject, Body, Attachment, Receive_People);

        (4)下面的函數(shù)可以得到指定某一群體的所有收件人信息

        //初始化

        private void People_View ()

        {

        try

        {

        //郵件數(shù)據(jù)庫的服務(wù)器描述

        string mail_Server="besz_s/河北/CMA";

        //某一個(gè)群體的數(shù)據(jù)庫,如河北省氣象部門通訊錄如下

        string mail_dbName=" hebnames.nsf ";

        //定義郵件數(shù)據(jù)庫

        NotesDatabase ndb;

        //初始化NotesDatabase登陸Notes

        ndb =ns.GetDatabase(mail_Server, mail_dbName, false);

        //獲取用戶視圖

        NotesView vw = ndb.GetView("People");

        //遍歷所有用戶

        NotesDocument doc = vw.GetFirstDocument();

        while (doc != null)

        {

        //獲取用戶全名

        object[] fullname = doc.GetFirstItem("FullName").Values as object[];

        lb_People.Items.Add(fullname[1].ToString());

        //查找下一個(gè)用戶

        doc = vw.GetNextDocument(doc);

        }

        if (lb_People.Items.Count > 0)

        lb_People.SelectedIndex = 0;

        }

        catch (Exception ex)

        {

        MessageBox.Show("Error:" + ex.Message);

        }

        }

        3 結(jié)語

        采用COM作為Microsoft .NET與Domino的橋梁,既可以發(fā)揮Domino的強(qiáng)大的文檔處理能力,又可以發(fā)揮Microsoft .NET友好的可視化功能。可以把Lotus Notes集成到應(yīng)用程序中,可以適當(dāng)提高工作效率。

        黑人免费一区二区三区| 国产高潮刺激叫喊视频| 国产看黄网站又黄又爽又色| 无码人妻视频一区二区三区99久久| 尤物AV无码色AV无码麻豆| 日韩激情av不卡在线| 夜夜骚久久激情亚洲精品| 日本熟妇色xxxxx日本妇| 免费人成视频在线观看网站| 本道无码一区二区久久激情| av免费一区在线播放| 国产乱码精品一区二区三区久久 | 亚洲乱码中文字幕一线区| 黑人老外3p爽粗大免费看视频| 久久久av波多野一区二区| 国产a三级久久精品| 免费在线观看一区二区| 网址视频在线成人亚洲| 成人午夜高潮a∨猛片| 免费人成在线观看视频播放| 囯产精品无码va一区二区| 国产精东一区二区三区| 一区二区视频在线观看地址| 国产成人av一区二区三区| 久久中文字幕av一区二区不卡| 加勒比精品一区二区三区| 人妻精品久久一区二区三区| 日韩日韩日韩日韩日韩| 精品久久久无码中文字幕| 国产真实伦视频在线视频| 最近中文字幕精品在线| 精品国产三级a∨在线欧美| 亚洲精品无码久久久久秋霞| 国产午夜精品福利久久| 日韩国产一区二区三区在线观看 | 日韩少妇人妻精品中文字幕| 欧美人妻aⅴ中文字幕| 亚洲av成人精品日韩一区| 国产高清女人对白av在在线| 国产亚洲精品一区在线| 国产精品美女一区二区av|