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