[PHP-users 33660] PEAR :: Mail_mimeDecode におけるマルチパートの取り出しについて

Omori toshi @ asama.net
2008年 6月 16日 (月) 13:53:21 JST


はじめまして。おおもりと申します。

PEAR :: Mail_mimeDecodeでメールの解析処理をしようとしていたのですが
マルチパートのメールの処理で、

Content-Type: multipart/mixed; boundary="------------Boundary_VzNO'cXjoRsGb9s"

のようにboundaryの途中に「'」の入ったメールがエラーになりました。
RFCをぐぐって見たのですがこれ自体は間違いではないような気がするのですが、
よくわかりません^^;

mimeDecode.phpの454行目付近の
$splitRegex = '/([^;\'"]*[\'"]([^\'"]*([^\'"]*)*)[\'"][^;\'"]*|([^;]+))(;|$)/';
を
$splitRegex = '/([^;\']*[\']([^\']*([^\']*)*)[\'][^;\']*|[^;"]*["]([^"]*([^"]*)*)["][^;"]*|([^;]+))(;|$)/';
とすることでうまく処理されているような気がしますがどうも正規表現は苦手で
正解かどうかもわかりません。

識者の方、ご指南頂ければ幸いです。

よろしくお願いいたします。


PHP-users メーリングリストの案内