![](/img/trans.png)
[英]PHP - IMAP - Is it possible to get receivers email address from a sent email?
[英]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你必須帶這個功能
和
您有兩個用於解碼 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.