001-006486
Content-Typeにnumberが設定されていないメールを受信すると、PHPエラーが発生する。
- 種別
- 不具合
- 機能
-
- メール
- 再現バージョン
-
- 3.5.0
- 改修バージョン
- 3.7.1
- 公開日
- 2013-05-31
- 更新日
- 2013-06-18
詳細
【発生条件】
次の条件を満たすメールを受信すると、現象が発生する場合があります。
- Content-typeにnumberパラメーターがないメールである。
メールソースの例:
-----------------------------------------------------
Return-Path: user1@xxxxx.co.jp
Received: from xxxxx by xxxxx ; Mon, 01 Jan 20xx 00:00:00 +0900
Message-ID: <12345678901234567890123457890@xxxxx.co.jp>
From: user1
To: user2@xxxxx.co.jp
X-Mailer: xxxxxxxxxx
Subject: Sample_Mail
Date: Mon, 01 Jan 20xx 00:00:00 +0900
MIME-Version: 1.0
Content-Type: message/partial;
total=2;
id="12345678901234567890123457890@xxxxx.co.jp";
From: user1
To: user2@xxxxx.co.jp
Subject: Sample_Mail
Date: Mon, 01 Jan 20xx 00:00:00 +0900
MIME-Version: 1.0
Content-Type: multipart/mixed;boundary="_12345678901234567890123456789012345"
--=_12345678901234567890123456789012345
Content-Type: text/plain;charset="iso-2022-jp";
Content-Transfer-Encoding: 7bit
SampleText
--=_12345678901234567890123456789012345
Content-Type: image/png;
name="SampleImage"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="=SampleImage.png"
Qk12AQAAAAAAADYAAAAoAAAACgAAAAoAAAABABgAAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAD/
AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAAAAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8A
AP8AAAAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAAAAD/AAD/AAD/AAD/AAD/AAD/AAD/
・・・(省略)
AAD/AAD/AAD/AAAAAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAAAA/wAA/wAA/wAA/wAA
/wAA/wAA/wAA/wAA/wAA/wAAAAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAAAAP8AAP8A
AP8AAP8AAP8AAP8AAP8AAP8AAP8AAP8AAAAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA/wAA
-----------------------------------------------------
【再現手順】
- 「発生条件」を満たすメールを受信します。
- アプリケーション画面にログインし、[メール] > [受信箱]の順にクリックします。
→現象発生:
次のエラーが発生し、メールを受信することができません。
------------------------
エラー (PHP00004)
予期しないエラーが発生しました。
原因
原因は不明です。
------------------------
回避/対応方法
【対応方法】
php.iniファイルのerror_reportingの設定値を変更することで対応できます。
例:
変更前
------------------------------
error_reporting = E_ALL
------------------------------
変更後
------------------------------
error_reporting = E_ERROR|E_PARSE|E_CORE_ERROR|E_COMPILE_ERROR|E_USER_ERROR
------------------------------
補足:
- php.iniは次のディレクトリーに配置されています。
(cgi実行ディレクトリ)/(インストール識別子)/php.ini - バージョン 3.5.1以降のガルーンにバージョンアップすると、error_reportingの設定値が変更後のものへ書き換わります。
このためバージョン 3.5.1以降のガルーンでは、上記の変更は不要です。
------------------------------------------------------------
【更新履歴】
2013/06/18 再現バージョンを修正しました。