кодирование — Как декодировать кодированное сообщение 7BIT с помощью PHP?

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

Проблема в том, что сообщение пришло в кодировке. поэтому мне придется сначала декодировать его, а затем добавить его в базу данных.

Я могу использовать imap_fetchstructure () чтобы выяснить, к какому типу кодирования относится сообщение, и из них я смогу его декодировать.

так вот что я сделал

$struct = imap_fetchstructure($this->conn, $id, 0);

if(isset($struct->encoding)){
$message = $this->_decodeMessage($message, $struct->encoding);
}

private function _decodeMessage($msg, $type){

if($type == 0){
return mb_convert_encoding($msg, "UTF-8", "auto");
} elseif($type == 1){
return imap_8bit($msg); //imap_utf8
} elseif($type == 2){
return imap_base64(imap_binary($msg));
} elseif($type == 3){
return imap_base64($msg);
} elseif($type == 4){
return imap_qprint($msg);
//return quoted_printable_decode($msg);
} else {
return $msg;
}
}

Проблема в том, что некоторые сообщения, закодированные с помощью 7BIT, не декодируются правильно, и я по-прежнему вижу сообщения, зашифрованные при печати $message

Как правильно декодировать сообщения, когда их тип 7BIT?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector