PHPドリブンWebアプリケーションを開発しています。Outlook .msgから添付ファイルを抽出する必要があります。私はPHP、Python、それに隣接するWeb言語の外では不思議に思っていません。 興味がある場合は、メールアドレスを確認し、本文と添付ファイルを取得してDMSに追加します。 私は今何時間もグーグルをしていますが、PHPクラスのような簡単な方法はありませんので、回避策があれば大歓迎です。:)添付ファイルを.MSGから抽出してPHPアプリケーションで使用する
-1
A
答えて
1
OutlookのMSGファイルは実際にはCOM Structured Storageです。あなたはPEAR OLEを使ってそれらを読むことができるかもしれません。しかし、このページは、それが維持されていないと主張している。
ドキュメントを開いても、何かを見つけるために内部レイアウトを理解する必要があります。 FileFormatsには、MSGファイルを調べているときに参考にしておくと便利な内部情報が表示されます。
1
WindowsサーバーでMailConverterコマンドラインを使用してファイルをHTMLに処理する方法が見つかっただけです。プログラムは$ 60です。
まず、MailConverterコマンドラインジェネレータを使用して、任意のファイルを処理できるようにテンプレートバッチファイルを作成します。実際のファイル名は[[SOURCE]]と[[DESTINATION]]の2つのプレースホルダで変更しました。
chcp 65001
"C:\Program Files (x86)\CoolUtils\TotalMailConverter\MailConverter.exe" "[[SOURCE]]" "[[DESTINATION]]" -kfs -c XHTML -template [name] -body -clearsubj -timeout 10000 -dpi 300 -pc M -PDFAuthor Softplicity -PDFProducer Softplicity -TM 0.3 -LM 0.3 -BM 0.3 -RM 0.3 -ps A4 -tc G4 -tjq 80 -multipage -HeadText "Page [page]" -HeadAlign c -HeadFont Tahoma -HeadSize 10 -FootText [date] -FootAlign c -FootFont Tahoma -FootSize 10 -toclinestyle D -toclinecolor silver -tocfont [Calibri,11,black] -tocmargins [0.80,0.80,0.80,0.80] -dco [TOC]
PHPコードはプレースホルダを置き換えて最終的なバッチファイルを生成し、それを実行してhtmlを出力します。このコードは現在運用環境にあります。
同じ出力ファイルを2回処理するとハングアップするので、出力ファイルが最初に存在するかどうかを確認する必要があります。
<?php
$filename = "template.bat";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
//any name ok for output
$new_path = str_replace(".msg", "converted.html", $path);
if (!file_exists($new_path)) {
$new_content = str_replace("[[SOURCE]]", $path, $contents);
$new_content = str_replace("[[DESTINATION]]", $new_path, $new_content);
//write the new batch command to a new file
$fp = fopen('convert.bat', 'w');
fwrite($fp, $new_content);
fclose($fp);
//run the batch file
passthru ('convert.bat');
//wait a couple of seconds to let the exe process the file
sleep(2);
}
$filename = $new_path;
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
die($contents);
?>
関連する問題
- 1. Outlookのメールからmsg添付ファイルを抽出する
- 2. VBAを使用してLotus Notes添付ファイルを抽出する
- 3. PHPを使用してPDFファイルからページを抽出する
- 4. マネージコードを使用したExchangeメール添付ファイルの抽出
- 5. IMAPメッセージから添付ファイルを抽出する方法は?
- 6. 電子メールの添付ファイルからTo:ヘッダーを抽出する
- 7. .MSG添付ファイルからメールアイテムの詳細を取得
- 8. Sweaveを使用してソースファイルを添付ファイルに出力する
- 9. PHPを使用してPDFからコンテンツを抽出する
- 10. PHPカールを使用してブロックチェーンからデータを抽出する
- 11. PHPを使用してPDFからテキストを抽出する
- 12. PHPを使用してXMLファイルのセットからコンテンツを抽出します
- 13. PHPを使用してAndroidManifest.xmlからデータを抽出します
- 14. SOAP応答から複数パート添付ファイルを抽出する方法
- 15. awkを使用してファイルから行を抽出する
- 16. TagLibを使用してMP3ファイルからGUIDを抽出する
- 17. C#を使用して.xsnからファイルを抽出する#
- 18. OutlookでC#winformアプリケーションを使用して添付ファイルを送信する方法
- 19. Unix上の電子メール添付ファイルを抽出する
- 20. 電子メールFPDFを使用したPHPによる添付ファイル
- 21. S/MIME(PHP)を使用して添付ファイル付きの電子メールを送信
- 22. SwiftMailerを使用したPHPの添付
- 23. Httpを使用してJira 4.4から添付ファイルを削除する方法
- 24. PHP cURL XMLコールを使用してファイルを添付するには
- 25. C#アプリケーションでメールを受信して添付ファイルをダウンロードする
- 26. beautifullsoupとpythonを使用してウェブサイト/ファイルから.jsファイルを抽出する
- 27. PHPを使って動的添付ファイルを作成する
- 28. JAXでSAXパーサーを使用してXMLファイルからテキストノードを抽出する
- 29. AndroidのGmailアプリケーションから添付ファイルをダウンロードするインテントフィルタ
- 30. 電子メール添付ファイルをOutlookからWebアプリケーションにドラッグアンドドロップする
答えていただきありがとうございますが、私たちはPHPスクリプト(http://php.net/manual/en/function)から.msg抽出プログラム(http://e-viewers.com/)を使用することに決めました。 .exec.php) –