質問編集履歴

1

再現するソースコードを追記しました

2021/04/20 02:27

投稿

landy77
landy77

スコア1614

test CHANGED
File without changes
test CHANGED
@@ -73,3 +73,89 @@
73
73
 
74
74
 
75
75
  意外と情報が無いみたいで・・・
76
+
77
+
78
+
79
+ ---追記
80
+
81
+ 最低限?再現するコードを記述します。
82
+
83
+ ```php
84
+
85
+ <?php
86
+
87
+ date_default_timezone_set('Asia/Tokyo');
88
+
89
+ mb_internal_encoding('UTF-8');
90
+
91
+ mb_language('japanese');
92
+
93
+
94
+
95
+ //ルートの定義
96
+
97
+ $root = "/home/*****/*****/public_html";
98
+
99
+
100
+
101
+ //composer
102
+
103
+ require_once $root . "/vendor/autoload.php";
104
+
105
+
106
+
107
+ //ログの準備
108
+
109
+ //省略
110
+
111
+
112
+
113
+ //標準入力から受け取り
114
+
115
+ $source = file_get_contents("php://stdin");
116
+
117
+ //入力のログ(1)
118
+
119
+ $log->log($source);
120
+
121
+
122
+
123
+ //メール解析
124
+
125
+ $params = [
126
+
127
+ 'include_bodies' => true,
128
+
129
+ 'decode_bodies' => true,
130
+
131
+ 'decode_headers' => true,
132
+
133
+ 'crlf' => "\r\n",
134
+
135
+ ];
136
+
137
+
138
+
139
+ $decoder = new Mail_mimeDecode($source);
140
+
141
+ $rec = $decoder->decode($params);
142
+
143
+
144
+
145
+ //デコード内容(2)
146
+
147
+ $log->log($rec);
148
+
149
+
150
+
151
+ ```
152
+
153
+ ログ(1)で標準入力のメールソースは取得できています。
154
+
155
+ ログ(2)が前述の通りです。
156
+
157
+ $sourceに標準入力のログを変数やテキストファイル等にした物を読ませて、WEBブラウザから起動するとちゃんと(2)ではデコードできています。
158
+
159
+
160
+
161
+ apache経由じゃないことが何かあるのか?とも思いましたがトリガ時の起動するPHPをcliでもCGIにしてみても結果が同じだったので・・