日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了如何以編程方式將Lotus Notes電子郵件文檔轉換為MIME格式的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我開始開發一個復雜的解決方案,然后發現DxlExporter將為您完成所有工作。我想分享這個簡單的解決方案。

推薦答案

通過convertToMIME()將文檔轉換為MIME后,使用DxlExporter完成其余工作。它創建包含<mime>標記的XML輸出,完全轉換的MIME格式文檔的輸出駐留在該標記中。此代碼不執行完整的XML解析。它只是獲取<mime> </mime>標記之間的所有內容。我已經用這個代碼成功地轉換了數以萬計的電子郵件文檔,只有幾次失敗-所有這些文檔都來自格式不佳的外部電子郵件文檔。我100%成功地處理了源自Notes的電子郵件文檔。

import lotus.domino.Document;
import lotus.domino.DxlExporter;
import lotus.domino.NotesException;
import lotus.domino.Session;

public class DocToMimeConverter
{
    private static final int MIMEOPTION_DXL = 0;
    private static final String tagStart = "<mime><![CDATA[";
    private static final String tagEnd = "]]></mime>";

    private DxlExporter exporter = null;
    
    public DocToMimeConverter(Session session) throws NotesException
    {
        super();
        exporter = session.createDxlExporter();
    }

    public String convert(Document doc) throws NotesException
    {
        String mimeDoc = null;
        
        exporter.setMIMEOption(MIMEOPTION_DXL);
        
        doc.removeItem("$KeepPrivate");
        doc.convertToMIME(Document.CVT_RT_TO_PLAINTEXT_AND_HTML);
        String dxl = exporter.exportDxl(doc);
        
        int idxStart = dxl.indexOf(tagStart);
        int idxEnd = dxl.indexOf(tagEnd);
        
        if (idxStart != -1 && idxEnd != -1 && idxEnd > idxStart)
        {
            mimeDoc = dxl.substring(idxStart + tagStart.length(), idxEnd);
        }
        
        return mimeDoc;
    }
}

$KeepPrivate將防止任何包含它的文檔失敗。因此,如果您也要轉換這些文檔,請包括doc.removeItem("$KeepPrivate")

也在調用程序中:

Session s = NotesFactory.createSession((String)null, (String)null, NotesAuth.getPassword());
s.setConvertMIME(false);

setConvertMIME(false)表示不將任何本地MIME格式的文檔轉換為Notes格式。如果您的目標是執行MIME轉換,則非常有用。節省一點時間和任何往返錯誤。

我使用以下代碼在呼叫程序中選擇電子郵件:

if ("Memo".equals(doc.getItemValueString("Form")) ||
        "Reply".equals(doc.getItemValueString("Form")))

對于我的用例,我使用了Notes文檔的UUID和'*.EML'來為每個電子郵件消息創建單獨的文件。然后,這些郵件已成功導入到另一個電子郵件系統。

這篇關于如何以編程方式將Lotus Notes電子郵件文檔轉換為MIME格式的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Lotus 文檔 方式 格式 電子郵件 編程 轉換為
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定