簡體   English   中英

php imap,從iphone發送的附有照片的電子郵件給出了奇怪的代碼

[英]php imap, email sent from iphone with attached photo gives weird code

這里是問題之前的上下文: 上下文:我有一個可用的門戶網站來發送和接收電子郵件。 我將 imap_open 與資源、電子郵件傳遞等一起使用,所有這些部分都可以,並且對於 99% 的收到電子郵件都運行良好

問題是 1% 不工作 示例:有人有一部 iPhone 並向我發送附有照片的電子郵件。

當我通過 imap_open 和 imap_fetchbody 收到電子郵件並根據 fetch_header 中標識的 imap 編碼進行解碼時...我明白了

????EXIFMM* ???????? AppleiPhone........

為什么以及如何解決它?

這是我處理解碼的代碼示例

switch ( $imap_encoding ) {
                            case 0 :    $imapx__fetchbody = $imapx__fetchbody; break;
                            case 1 :    $imapx__fetchbody = quoted_printable_decode(imap_8bit($imapx__fetchbody)); break;
                            case 2 :    $imapx__fetchbody = imap_binary($imapx__fetchbody); break;
                            case 3 :    $imapx__fetchbody = imap_base64($imapx__fetchbody); break;
                            case 4 :    $imapx__fetchbody = quoted_printable_decode($imapx__fetchbody); break;
                            default :   $imapx__fetchbody = $imapx__fetchbody; break;
                        }

//test body if base64 because some emails have  miss identified imap_encoding
if ( base64_encode(base64_decode($imapx__fetchbody, true)) === $imapx__fetchbody){ $imapx__fetchbody = imap_base64($imapx__fetchbody); }

這里是全身樣本

在此處輸入圖片說明

你應該讀這個:

https://www.php.net/manual/en/function.image-type-to-mime-type.php

if 向您展示如何確定圖像類型。 特別是EXIF你必須帶這個功能

https://www.php.net/manual/en/function.exif-read-data.php

https://www.php.net/manual/en/function.exif-imagetype.php

您有兩個用於解碼 exif 的函數

Configuration options
----------------------
exif.encode_unicode             "ISO-8859-15"
exif.decode_unicode_motorola    "UCS-2BE"
exif.decode_unicode_intel       "UCS-2LE"
exif.encode_jis                 ""
exif.decode_jis_motorola        "JIS"
exif.decode_jis_intel           "JIS"

Then you can write something like : 

<?php

    if (exif_imagetype('image.jpg') != IMAGETYPE_JPEG) {

      echo 'The picture is a JPEG';

      ini_set('exif.decode_unicode_motorola', 'UCS-2LE');

      $data = exif_read_data('exifPicture.jpg');

      var_dump($data);

    }

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM