Skip to content

Commit ece5c91

Browse files
committed
Fix fatal error of imap_mime_header_decode
closes #202
1 parent 64e91cc commit ece5c91

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/PhpImap/Mailbox.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -703,14 +703,13 @@ protected function initMailPart(IncomingMail $mail, $partStructure, $partNum, $m
703703
}
704704
}
705705

706-
protected function decodeMimeStr($string, $charset = 'utf-8') {
706+
protected function decodeMimeStr($string, $toCharset = 'utf-8') {
707707
$newString = '';
708-
$elements = imap_mime_header_decode($string);
709-
for($i = 0; $i < count($elements); $i++) {
710-
if($elements[$i]->charset == 'default') {
711-
$elements[$i]->charset = 'iso-8859-1';
708+
foreach(imap_mime_header_decode($string) as $element) {
709+
if(isset($element->text)) {
710+
$fromCharset = !isset($element->charset) || $element->charset == 'default' ? 'iso-8859-1' : $element->charset;
711+
$newString .= $this->convertStringEncoding($element->text, $fromCharset, $toCharset);
712712
}
713-
$newString .= $this->convertStringEncoding($elements[$i]->text, $elements[$i]->charset, $charset);
714713
}
715714
return $newString;
716715
}

0 commit comments

Comments
 (0)