개발! 딱 깔끔하고 센스있게!

어떻게 PHP 로 이메일 첨부품을 서버에 저장합니까? 본문

개발 스크랩 메모/PHP

어떻게 PHP 로 이메일 첨부품을 서버에 저장합니까?

렉사이 2020. 12. 26. 22:39

이틀간의 대부분의 시간 동안 나는 줄곧 PHP 의 이메일 읽기 기능에 항쟁하고 있다.

나는 편지함에 있는 이메일을 읽고 모든 첨부품을 서버에 저장하고 있습니다.

만약 당신이 비슷한 일을 한 적이 있다면, 당신은 나의 고통을 이해할 수 있습니다: PHP 는 이메일을 잘 처리할 수 없습니다!

나는 이미 POP3 서버에 연결되었으니, 나는 이 서류들을 반복할 수 있다.

다음은 코드의 대체적인 윤곽:

if (!$mbox = imap_open ("{myserver.com:110/pop3/notls}INBOX", "u", "p")) die ('Cannot connect/check mail! Exiting'); if ($hdr = imap_check($mbox)) $msgCount = $hdr->Nmsgs; else die ("Failed to get mail"); foreach ($overview as $message) { $msgStruct = imap_fetchstructure($mbox, $message->msgno); // if it has parts, there are attachments that need reading if ($msgStruct->parts) { foreach ($msgStruct->parts as $key => $part) { switch (strtoupper($part->subtype)) { case 'GIF': case 'JPEG':case 'PNG': //do something - but what?! break; } } } } 

나는 이미 내가 갇힌 곳을 기억했다.

나는 imapu fetchbody ($mbox $messsage - > msgno $key + 1) 을 사용할 수 있지만 이러한 데이터를 무더기로 얻을 수 있습니다:

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8S EhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEU Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAAR CAHiAi0DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl 5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA ... 

나는 이것이 무언극 데이터라고 믿는다.

이미지 필요해!나는 인터넷에서 몇 차례 학급 폭발을 보았는데, 그들은 자신이 필요한 무술을 했다고 주장했다.

나는 그들 중 어느 누구도 일하게 할 수 없다.

나는 왜 내가 어렵다고 생각하는지 모르겠다!

원시 MIME 문자열을 실제 데이터로 바꿀 수 있는 것을 찾고 있습니다.

대답

나는 PHP 로 이메일을 처리하는 빠른 안내서를 찾았다.

이 페이지의 아래쪽에 첨부 본문 답장이 있습니다:

if (substr($ContentType,0,4) == "text") { echo imap_qprint($fileContent); } else { echo imap_base64($fileContent); } 

이것은 네가 필요할 수 있는 것이라고 생각한다.

(편집: 당신의 경우에는 그림이라면, if 부분을 뛰어넘을 수 있습니다.

물론 파일을 저장하는 것이 아니라

Comments