Ich versuche, E-Mails mit Zend_Mail_Storage_Imap zu erhalten, bekomme aber immer noch 'Invalid header value detected'
auf einigen E-Mails.'Ungültiger Header-Wert erkannt' beim Versuch, E-Mails mit Zend_Mail_Storage_Imap abzurufen
ich den Header gefunden haben, die den Absturz der folgenden verursacht:
Content-Type: application/vnd.oasis.opendocument.text;
name="=?UTF-8?Q?cc-demo-minutes-2014-09-09_-_=c3=a5_detta_=c3=a4r_en_kopia?=
=?UTF-8?Q?_av_det_vanliga_mellanslagsbefriade=2c_eller_mellanslagsl?=
=?UTF-8?Q?=c3=b6sa=2c_namnet_som_b=c3=b6r_bli_en_l=c3=a5ng_harang_p?=
=?UTF-8?Q?=c3=a5_flera_MIME-rader.odt?="
Obwohl es eine hässliche Dateiname ist sollte es so weit gültige Header sein, wie ich verstehen. Ich habe ein paar E-Mail-Validatoren ausprobiert und alle stimmen zu, dass es sich um einen gültigen Header handelt. Warum wirft Zend diese Ausnahme und wie kann ich sie verhindern?
Der Code, der den Absturz
$oMail = new Zend_Mail_Storage_Imap($aImapSettings);
foreach ($oMail as $iMessageNum => $oMessage) {
if ($oMessage->isMultipart()) {
// Multipart messages
foreach (new RecursiveIteratorIterator($oMessage) as $oPart) { // <--crash
}
}
}
Stapelüberwachung
verursacht[07-Apr-2016 10:40:12 Europe/Stockholm] PHP Fatal error: Uncaught exception 'Zend_Mail_Exception' with message 'Invalid header value detected' in /usr/local/zendsvr6/var/libraries/Zend_Framework_1/1.12.17/library/Zend/Mail/Header/HeaderValue.php:133
Stack trace:
#0 /usr/local/zendsvr6/var/libraries/Zend_Framework_1/1.12.17/library/Zend/Mail/Part.php(600): Zend_Mail_Header_HeaderValue::assertValid('application/vnd...')
#1 /usr/local/zendsvr6/var/libraries/Zend_Framework_1/1.12.17/library/Zend/Mail/Part.php(151): Zend_Mail_Part->_validateHeaders(Array)
#2 /usr/local/zendsvr6/var/libraries/Zend_Framework_1/1.12.17/library/Zend/Mail/Part.php(289): Zend_Mail_Part->__construct(Array)
#3 /usr/local/zendsvr6/var/libraries/Zend_Framework_1/1.12.17/library/Zend/Mail/Part.php(353): Zend_Mail_Part->_cacheContent()
#4 /usr/local/zendsvr6/var/libraries/Zend_Framework_1/1.12.17/library/Zend/Mail/Part.php(578): Zend_Mail_Part->countParts()
#5 /www/zendsvr6/website/application/app/exterior/email/AppMailReceiver.php(509): Zend_Mail_Part->rewind()
#6 /www/zendsvr6/website/applic in /usr/local/zendsvr6/var/libraries/Zend_Framework_1/1.12.17/library/Zend/Mail/Header/HeaderValue.php on line 133
Ich fand auch this post was darauf hindeutet, dass eine Änderung internal_encoding helfen würde. Es hat das Problem in meinem Fall nicht gelöst.