Catch Exception when interpretting date, Create MSGID if it doesnt exist, Fix when \r\n is used in messages.

This commit is contained in:
Deon George
2021-08-27 23:16:39 +10:00
parent ba7f9c1c99
commit 85d9dd1545
2 changed files with 17 additions and 5 deletions

View File

@@ -307,8 +307,14 @@ class Message extends FTNBase
return Address::findFTN($this->tboss);
case 'date':
return Carbon::createFromFormat('d M y H:i:s O',
sprintf('%s %s%04d',chop(Arr::get($this->header,$key)),($this->tzutc < 0) ? '-' : '+',abs($this->tzutc)));
try {
return Carbon::createFromFormat('d M y H:i:s O',
sprintf('%s %s%04d',chop(Arr::get($this->header,$key)),($this->tzutc < 0) ? '-' : '+',abs($this->tzutc)));
} catch (\Exception $e) {
Log::error(sprintf('%s: ! Date doesnt parse [%s] (%s)',self::LOGKEY,$e->getMessage(),Arr::get($this->header,$key)));
return NULL;
}
case 'flags':
case 'cost':
@@ -651,6 +657,7 @@ class Message extends FTNBase
{
// Remove DOS \n\r
$message = preg_replace("/\n\r/","\r",$message);
$message = preg_replace("/\r\n/","\r",$message);
// Split out the <SOH> lines
$result = collect(explode("\x01",$message))->filter();