Description
I was having issue primarily with Outlook emails where for some reason a random email would get stuck and my script would just die. No errors at all. Just when it tried to access that message with $imap->getMessages()
it just died so I went through some digging and "think" I fixed my issue because it worked and the email was being brought in, but I have truly no idea why it worked but let me explain what I did and maybe you can figure it out.
In 'IncomingMessage.php' in line 370 you have
if (!isset($objNew->$subtype)) {
$objNew->$subtype = $obj;
} else {
$subtype = $subtype.'_'.$i;
$objNew->$subtype = $obj;
$i++;
}
What was happening is there were 3 $objNew->$subtype
that it was trying to loop through, but on the third time it would die. So I changed it to this
if (!isset($objNew->$subtype)) {
if (trim($obj) == '') {
$subtype = $subtype.'_'.$i;
$i++;
}
$objNew->$subtype = $obj;
} else {
$subtype = $subtype.'_'.$i;
$objNew->$subtype = $obj;
$i++;
}
The reason I came up with this was that even though the third time if (!isset($objNew->$subtype)) {
would trigger as true the object coming in was blank. So I thought adding the $subtype = $subtype.'_'.$i;
and $i++;
since it seemed to be a false positive.
Again I have no idea how this worked, it just did. Hoping someone can take a look and see something I am not.