3

ユーザーが .msg ファイルを Web アプリにドラッグするアプリケーションを作成したいと考えています。その後、ColdFusion は、名前、送信者の電子メール、件名などのフィールドを抽出し、送信準備が整ったフォームに事前入力します。「read .msg ColdFusion」をグーグル検索しましたが、情報が見つからないようです。暗号化されているため、意味FileRead()不明な内容しか表示されません。ÐÏࡱá > þÿこれは可能ですか?誰かが私を正しい方向に向けてくれることを願っています。また、別のアプローチを試すことにもオープンです。

4

2 に答える 2

7

@imthepitts が述べたように、ファイルは暗号化されておらず、バイナリ形式です。ただし、 でバイトをロードするだけでは十分ではありませんfileReadBinary().msg ファイルの形式を理解し、その内容を解析できるツールが必要です。

簡単に検索すると、.msg ファイルを解析できるツールがたくさんあります (ほとんどは Java または .net です)。そのようなツールの 1 つがPOI の HSMF (Horrible Stupid Mail Format)です。すでにCFに組み込まれています。ですから、そこから始めたいと思うかもしれません。

HSMFの例 から翻訳された簡単で汚い例を次に示します。

<cfscript>
    pathToFile = "c:/path/to/someMessage.msg";
    MAPIMessage = createObject("java", "org.apache.poi.hsmf.MAPIMessage");
    message = MAPIMessage.init(pathToFile);


    try {
        WriteOutput("From: "& message.getDisplayFrom() &"<hr>");
        WriteOutput("To: "& message.getDisplayTo() &"<hr>");
        WriteOutput("CC: "& message.getDisplayCC() &"<hr>");
        WriteOutput("BCC: "& message.getDisplayBCC() &"<hr>");
        WriteOutput("Subject: "& message.getSubject() &"<hr>");
        WriteOutput("Body: "& message.getTextBody() &"<hr>");
    } catch (org.apache.poi.hsmf.exceptions.ChunkNotFoundException e) {
        WriteDump(e);
    }
</cfscript>
于 2013-05-10T02:17:59.187 に答える
1

FileRead()テキストファイル用です。意味不明な文字が表示される場合、それはバイナリ ファイルであるためです。試してみてくださいFileReadBinary()

于 2013-05-10T00:55:46.693 に答える