「プレーンテキストMIMEメッセージ形式」の電子メールを含むファイルがあります。これがEML形式かどうかはわかりません。電子メールに添付ファイルが含まれているため、添付ファイルを抽出して再度作成したいとします。EML形式の電子メール添付ファイルを解析する適切なPHPの方法
...
...
Receive, deliver details
...
...
From: sac ascsac <[email protected]>
Date: Thu, 20 Jan 2011 18:05:16 +0530
Message-ID: <[email protected]>
Subject: Test attachments
To: [email protected]
Content-Type: multipart/mixed; boundary=20cf3054ac85d97721049a465e12
--20cf3054ac85d97721049a465e12
Content-Type: multipart/alternative; boundary=20cf3054ac85d97717049a465e10
--20cf3054ac85d97717049a465e10
Content-Type: text/plain; charset=ISO-8859-1
hello this is a test mail. It contains two attachments
--20cf3054ac85d97717049a465e10
Content-Type: text/html; charset=ISO-8859-1
hello this is a test mail. It contains two attachments<br>
--20cf3054ac85d97717049a465e10--
--20cf3054ac85d97721049a465e12
Content-Type: text/plain; charset=US-ASCII; name="simple_test.txt"
Content-Disposition: attachment; filename="simple_test.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gj5n2yx60
aGVsbG8gd29ybGQKYWMgYXNj
...
encoded things here
...
ZyBmZyAKCjIKNDIzCnQ2Mwo=
--20cf3054ac85d97721049a465e12
Content-Type: application/x-httpd-php; name="oscomm_backup_code.php"
Content-Disposition: attachment; filename="oscomm_backup_code.php"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gj5n5gxn1
PD9waHAKCg ...
...
encoded things here
...
X2xpbmsoRklMRU5BTUVfQkFDS1VQKSk7Cgo/Pgo=
--20cf3054ac85d97721049a465e12--
私は両方 含むX-Attachment-Id: f_gj5n2yx60
とZyBmZyAKCjIKNDIzCnQ2Mwo=
、間の部分は、最初の添付ファイルの内容であることがわかりますが - 取付部がどのように見えるかです。それらの添付ファイル(ファイル名と内容を解析してそれらのファイルを作成する)を解析したいと思います。
PHPクラスで利用可能なDBX Parserクラスを使用してdbx形式ファイルを解析した後、このファイルを取得しました。
私は多くの場所で検索しましたが、ここではこれについては、Script to parse emails for attachments以外ではこれ以上議論が見つかりませんでした。私は検索中にいくつかの言葉を忘れているかもしれません。
は、あなたが情報
エンコード BASE64を抽出するためにboundriesを使用することができますしかし、私は境界があり、どのように正確な境界を使用することを確認していない - その答えではそれが言及されていますか?すでにいくつかのライブラリやこれを行うための明確な方法が必要です。私はここに車輪を再発明しようとすると、私は多くの間違いを犯すだろうと思う。
明らかに役立ちます。ありがとう、私はMailparse拡張を試しています。 –
GoogleのPHP mimeメールパーサーはここで非常に役に立ちます。 http://code.google.com/p/php-mime-mail-parser/をご覧ください。 –