@@ -18,30 +18,38 @@ public static function fromMessage($message, $defaultHost)
1818 {
1919 file_put_contents ('t3.json ' , json_encode ($ message , JSON_PRETTY_PRINT ));
2020
21- $ replyTo = $ message ->replyto ?: $ message ->from ;
21+ $ to = Functions::writeAddressFromEnvelope ($ message ->envelope [5 ]);
22+ $ from = Functions::writeAddressFromEnvelope ($ message ->envelope [2 ]);
23+ $ sender = Functions::writeAddressFromEnvelope ($ message ->envelope [3 ]);
24+
25+ if (empty ($ message ->replyto )) {
26+ $ replyTo = $ from ;
27+ } else {
28+ $ replyTo = Functions::writeAddressFromEnvelope ($ message ->envelope [4 ]);
29+ }
2230
2331 return (object ) [
2432 'date ' => $ message ->date ,
2533 'Date ' => $ message ->date ,
26- 'subject ' => $ message ->subject ,
27- 'Subject ' => $ message ->subject ,
34+ 'subject ' => $ message ->envelope [ 1 ] ,
35+ 'Subject ' => $ message ->envelope [ 1 ] ,
2836 'message_id ' => $ message ->envelope [9 ],
29- 'toaddress ' => Functions:: sanitizeAddress ( $ message -> to , $ defaultHost ) ,
30- 'to ' => self ::parseAddressList ($ message -> to , $ defaultHost ),
31- 'fromaddress ' => Functions:: sanitizeAddress ( $ message -> from , $ defaultHost ) ,
32- 'from ' => self ::parseAddressList ($ message -> from , $ defaultHost ),
33- 'reply_toaddress ' => Functions:: sanitizeAddress ( $ replyTo, $ defaultHost ) ,
37+ 'toaddress ' => $ to ,
38+ 'to ' => self ::parseAddressList ($ to , $ defaultHost ),
39+ 'fromaddress ' => $ from ,
40+ 'from ' => self ::parseAddressList ($ from , $ defaultHost ),
41+ 'reply_toaddress ' => $ replyTo ,
3442 'reply_to ' => self ::parseAddressList ($ replyTo , $ defaultHost ),
35- 'senderaddress ' => Functions:: sanitizeAddress ( $ message -> from , $ defaultHost ) ,
36- 'sender ' => self ::parseAddressList ($ message -> from , $ defaultHost ),
43+ 'senderaddress ' => $ sender ,
44+ 'sender ' => self ::parseAddressList ($ sender , $ defaultHost ),
3745 'Recent ' => ' ' ,
3846 'Unseen ' => ' ' ,
3947 'Flagged ' => ' ' ,
4048 'Answered ' => ' ' ,
4149 'Deleted ' => ' ' ,
4250 'Draft ' => ' ' ,
4351 'Msgno ' => str_pad ($ message ->id , 4 , ' ' , STR_PAD_LEFT ),
44- 'MailDate ' => $ message ->internaldate ,
52+ 'MailDate ' => self :: sanitizeMailDate ( $ message ->internaldate ) ,
4553 'Size ' => strval ($ message ->size ),
4654 'udate ' => strtotime ($ message ->internaldate )
4755 ];
@@ -68,5 +76,14 @@ protected static function parseAddressList($address, $defaultHost)
6876
6977 return $ customAddressList ;
7078 }
79+
80+ public static function sanitizeMailDate ($ mailDate )
81+ {
82+ if ($ mailDate [0 ] == '0 ' ) {
83+ $ mailDate = ' ' .substr ($ mailDate , 1 );
84+ }
85+
86+ return $ mailDate ;
87+ }
7188}
7289
0 commit comments