001-006015
message/rfc822パートでFromヘッダが存在しない場合、message/rfc822パートを開こうとするとPHP00002エラーが発生する。
- 種別
- 不具合
- 機能
-
- メール
- 再現バージョン
-
- 3.5.0
- 改修バージョン
- 3.5.3
- 公開日
- 2012-09-20
- 更新日
- 2012-09-28
詳細
【発生条件】
次の条件を満たすメールを受信すると、現象が発生する場合があります。
- message/rfc822パートでFromヘッダが存在しない。
メールソースの例:
--------------------------------------------------------------------
Return-Path: user1@xxxxx.co.jp
Received: from xxxxx by xxxxx ; Mon, 01 Jan 20xx 00:00:00 +0900
Date: Mon, 01 Jan 20xx 00:00:00 +0900
Subject: Sample_Mail1
From: user1
To: user2@xxxxx.co.jp
Message-Id: <12345678901234567890123457890@xxxxx.co.jp>
X-Mailer: xxxxxxxxxx
mime-version: 1.0
Content-Type: multipart/mixed; boundary="_12345678901234567890123456789012345"
Content-Transfer-Encoding: 7bit
--_12345678901234567890123456789012345
Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
SampleMail1
--_12345678901234567890123456789012345
Content-Type: message/rfc822; name="Sample.eml"
Content-Transfer-Encoding: 7bit
Return-Path: user1@xxxxx.co.jp
Received: from xxxxx by xxxxx ; Mon, 01 Jan 20xx 00:00:00 +0900
Date: Mon, 01 Jan 20xx 00:00:00 +0900
Subject: Sample_Mail_2
To: user2@xxxxx.co.jp
X-Mailer: xxxxxxxxxx
Message-Id: <12345678901234567890123457890@xxxxx.co.jp>
mime-version: 1.0
Content-Type: text/plain;
Content-Transfer-Encoding: 7bit
SampleMail2
--_12345678901234567890123456789012345--
--------------------------------------------------------------------
【再現手順】
- 「発生条件」を満たすメールを受信します。
- アプリケーション画面にログインします。
- メールの一覧画面で、受信箱をクリックします。
- 手順1で受信したメールの標題をクリックします。
- 本文に添付されたメールの[表示]をクリックします。
→現象発生:
次のエラーが表示され、message/rfc822パートの詳細画面が開けません。
------
エラー (PHP00002)
予期しないエラーが発生しました。
原因
原因は不明です。
------
回避/対応方法
【対応方法】
次のいずれかの方法で、添付ファイル(Sample.eml)を正常に表示できる場合があります。
- 添付ファイル(Sample.eml)をダウンロードしてから開く。
- 他のメールクライアントでメールを読み込む。
- メールの「メールの詳細」画面で[ソースの表示]をクリックします。
- ダウンロードしたファイルの拡張子を「eml」に変更します。
例:
変更前:source.txt
変更後:source.eml - OutlookまたはOutlook Expressなどのメールクライアントで、手順2のファイルを読み込みます。
- 読み込んだメールを確認します。
- メールの「メールの詳細」画面で[ソースの表示]をクリックします。
- 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.3以降のガルーンにバージョンアップすると、error_reportingの設定値が変更後のものへ書き換わります。
このためバージョン 3.5.3以降のガルーンでは、上記の変更は不要です。
- php.iniは次のディレクトリーに配置されています。