@@ -16,7 +16,7 @@ class HeaderInfo
1616
1717 public static function fromMessage ($ message , $ defaultHost )
1818 {
19- # file_put_contents('t3.json', json_encode($message, JSON_PRETTY_PRINT));
19+ file_put_contents ('t3.json ' , json_encode ($ message , JSON_PRETTY_PRINT ));
2020
2121 $ replyTo = $ message ->replyto ?: $ message ->from ;
2222
@@ -26,13 +26,13 @@ public static function fromMessage($message, $defaultHost)
2626 'subject ' => $ message ->subject ,
2727 'Subject ' => $ message ->subject ,
2828 'message_id ' => $ message ->envelope [9 ],
29- 'toaddress ' => $ message ->to ,
29+ 'toaddress ' => self :: sanitizeAddress ( $ message ->to , $ defaultHost ) ,
3030 'to ' => self ::parseAddressList ($ message ->to , $ defaultHost ),
31- 'fromaddress ' => $ message ->from ,
31+ 'fromaddress ' => self :: sanitizeAddress ( $ message ->from , $ defaultHost ) ,
3232 'from ' => self ::parseAddressList ($ message ->from , $ defaultHost ),
33- 'reply_toaddress ' => $ replyTo ,
33+ 'reply_toaddress ' => self :: sanitizeAddress ( $ replyTo, $ defaultHost ) ,
3434 'reply_to ' => self ::parseAddressList ($ replyTo , $ defaultHost ),
35- 'senderaddress ' => $ message ->from ,
35+ 'senderaddress ' => self :: sanitizeAddress ( $ message ->from , $ defaultHost ) ,
3636 'sender ' => self ::parseAddressList ($ message ->from , $ defaultHost ),
3737 'Recent ' => ' ' ,
3838 'Unseen ' => ' ' ,
@@ -68,5 +68,17 @@ protected static function parseAddressList($address, $defaultHost)
6868
6969 return $ customAddressList ;
7070 }
71+
72+ public static function sanitizeAddress ($ address , $ defaultHost )
73+ {
74+ $ addressList = imap_rfc822_parse_adrlist ($ address , $ defaultHost );
75+
76+ $ sanitizedAddress = [];
77+ foreach ($ addressList as $ addressEntry ) {
78+ $ sanitizedAddress [] = imap_rfc822_write_address ($ addressEntry ->mailbox , $ addressEntry ->host , $ addressEntry ->personal );
79+ }
80+
81+ return implode (', ' , $ sanitizedAddress );
82+ }
7183}
7284
0 commit comments