Получить изображение электронной почты с PHP - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь получить изображение из электронного письма, которое отправляется на мой почтовый сервер, и сохранить файл на сервере.Я попробовал это с этим кодом:

                $no_of_occurences = 0;
                $intStatic = 2;

                $decode = imap_fetchbody($mbox, $val , null);    
                $no_of_occurences = substr_count($decode,"Content-Transfer-Encoding: base64");
                $no_of_occurences--;
                echo $no_of_occurences;   
                if($no_of_occurences > 0){
                    for($i = 0; $i < $no_of_occurences; $i++){  
                        $strChange =   strval($intStatic+$i);
                        $decode = imap_fetchbody($mbox, $val , $strChange);
                        $data = base64_decode($decode);
                        $x = 1;
                        $fName = './images/'.$ticketurl."_".$x. '.png';
                        while(file_exists($fName)){
                            $x++;
                            $fName = './images/'.$ticketurl."_".$x. '.png';
                        }
                        if($x==500){
                            $valid = false;
                            exit;
                        }

                        $file = $fName;
                        $success = file_put_contents($file, $data);        
                    }           
                }

Этот код работает нормально, но только если у вас есть один тип приложения в нем.Если вы поместите одно изображение на почту, оно будет работать.Если вы поместите один в качестве вложения, это также работает.Но если у вас есть оба (встроенный и как вложение), он просто получает одно изображение и второй чистый png-файл.Любые предложения, как решить это поведение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...