mimeDecode.phpでメール解析をしているのですが、機種依存の文字化け、メールが切れてしまう問題。 mimeDecode.phpを使った、ネット上によくあるコードで解析をしています。
mimeDecode.phpでメール解析をしているのですが、機種依存の文字化け、メールが切れてしまう問題。 mimeDecode.phpを使った、ネット上によくあるコードで解析をしています。 細かいとこを省略してますが、こんな感じです。 --------------------------------- require_once '/Mail/mimeDecode.php'; mb_language("japanese"); $params['include_bodies'] = true; $params['decode_bodies'] = true; $params['decode_headers'] = true; $params['input'] = file_get_contents("php://stdin"); $params['crlf'] = "\r\n"; $structure = Mail_mimeDecode::decode($params); switch (strtolower($structure->ctype_primary)) { case "text": $body= $structure->body; break; } --------------------------------- 問題がメールの本文に(汗)の機種依存文字が入ると、本文がこの文字以降切れてしまいます。 知恵袋でも、この文字は削除されるようですので、以下のGoogle検索で文字をいれてますのでご参照ください。 https://www.google.co.jp/search?q=%F0%9F%92%A6&oq=%F0%9F%92%A6&aqs=chrome..69i57j0l5.1385j0j7&sourceid=chrome&es_sm=122&ie=UTF-8 文字化け対策として色々行ってるつもりで ①Ⅰ㈱髙﨑 ←こういうのは全てクリアされ問題ありません。 調べた結果、取得する$structure->bodyの段階で、 既に文字が切れてるようで、戻り値の文字コードをどうのこうのでは既に無理のようです。 もしかしたら、mimeDecode.phpの修正が必要かもしれませんが、どこを触ればよいか・・・ 同じような現象の方、原因がわかる方などいれば、ご教授頂ければ幸いです。 どうぞよろしくお願いいたします。
メールヘッダーはこんな感じです。 Return-Path: <xxxxxxxxx@hoge.com> Received: from mail-xxxxxxxx.google.com (mail-x.google.com [x.x.x.x]) (authenticated bits=0) by xxx.xxxxxxx.ne.jp (8.14.5/8.14.5) with ESMTP id tB40xtQb047556 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for <xxxxxxxxxx@hogehoge.com>; Fri, 4 Dec 2015 09:59:57 +0900 (JST) (envelope-from xxxxxxxxxx@hogehoge.com) Received: by ykfs79 with SMTP id s79so108075798ykf.1 for <xxxxxx@hogehoge.com>; Thu, 03 Dec 2015 16:59:55 -0800 (PST) MIME-Version: 1.0 X-Received: by x.x.x.x with SMTP id h65mr8872327ywc.121.1449190795385; Thu, 03 Dec 2015 16:59:55 -0800 (PST) Received: by 10.37.202.75 with HTTP; Thu, 3 Dec 2015 16:59:55 -0800 (PST) Date: Fri, 4 Dec 2015 09:59:55 +0900 X-Gmail-Original-Message-ID: <CAHm8iADFHNJFpa-ci3rsy1mq5UnSTf6V_jsiyS46oHp_ce9ihQ@mail.gmail.com> Message-ID: <CAHm8iADFHNJFpa-ci3rsy1mq5UnSTf6V_jsiyS46oHp_ce9ihQ@mail.gmail.com> Subject: pppp From: =?UTF-8?B?5paw5