mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-11 00:14:50 +03:00
cleanup mime header encoding handling
This commit is contained in:
parent
4d9fb41d73
commit
8749d189df
6 changed files with 8 additions and 11 deletions
|
|
@ -21,7 +21,6 @@ abstract class Encoding
|
|||
const QUOTED_PRINTABLE_LOWER = 'quoted-printable';
|
||||
const QUOTED_PRINTABLE_SHORT = 'Q';
|
||||
|
||||
const BASE64 = 'Base64';
|
||||
const BASE64_LOWER = 'base64';
|
||||
const BASE64_SHORT = 'B';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -356,7 +356,10 @@ abstract class Utils
|
|||
return $sResultHeaders;
|
||||
}
|
||||
|
||||
public static function EncodeUnencodedValue(string $sEncodeType, string $sValue) : string
|
||||
/**
|
||||
* https://datatracker.ietf.org/doc/html/rfc2047
|
||||
*/
|
||||
public static function EncodeHeaderValue(string $sValue, string $sEncodeType = 'B') : string
|
||||
{
|
||||
$sValue = \trim($sValue);
|
||||
if (\strlen($sValue) && !static::IsAscii($sValue)) {
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ class Attachment
|
|||
$oAttachmentPart->Body =
|
||||
\MailSo\Base\StreamWrappers\Binary::CreateStream($oAttachmentPart->Body,
|
||||
\MailSo\Base\StreamWrappers\Binary::GetInlineDecodeOrEncodeFunctionName(
|
||||
\MailSo\Base\Enumerations\Encoding::BASE64, false));
|
||||
\MailSo\Base\Enumerations\Encoding::BASE64_LOWER, false));
|
||||
|
||||
\MailSo\Base\StreamWrappers\Binary::RememberStream($oAttachmentPart->Body);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -184,9 +184,7 @@ class Email implements \JsonSerializable
|
|||
|
||||
$sDisplayName = \str_replace('"', '\"', $this->sDisplayName);
|
||||
if ($bConvertSpecialsName) {
|
||||
$sDisplayName = \strlen($sDisplayName)
|
||||
? \MailSo\Base\Utils::EncodeUnencodedValue(\MailSo\Base\Enumerations\Encoding::BASE64_SHORT, $sDisplayName)
|
||||
: '';
|
||||
$sDisplayName = \strlen($sDisplayName) ? \MailSo\Base\Utils::EncodeHeaderValue($sDisplayName) : '';
|
||||
}
|
||||
|
||||
$sDisplayName = \strlen($sDisplayName) ? '"'.$sDisplayName.'"' : '';
|
||||
|
|
|
|||
|
|
@ -66,9 +66,7 @@ class Parameter implements \JsonSerializable
|
|||
\strtolower(Enumerations\Parameter::FILENAME)
|
||||
)))
|
||||
{
|
||||
return $this->sName . '="' . \MailSo\Base\Utils::EncodeUnencodedValue(
|
||||
\MailSo\Base\Enumerations\Encoding::BASE64_SHORT,
|
||||
$this->sValue) . '"';
|
||||
return $this->sName . '="' . \MailSo\Base\Utils::EncodeHeaderValue($this->sValue) . '"';
|
||||
}
|
||||
|
||||
return $this->sName . '="' . $this->sValue . '"';
|
||||
|
|
|
|||
|
|
@ -779,8 +779,7 @@ trait Messages
|
|||
if (!empty($sRawBody)) {
|
||||
$sMailTo = \trim($aToCollection->ToString(true));
|
||||
$sMailSubject = \trim($oMessage->GetSubject());
|
||||
$sMailSubject = 0 === \strlen($sMailSubject) ? '' : \MailSo\Base\Utils::EncodeUnencodedValue(
|
||||
\MailSo\Base\Enumerations\Encoding::BASE64_SHORT, $sMailSubject);
|
||||
$sMailSubject = \strlen($sMailSubject) ? \MailSo\Base\Utils::EncodeHeaderValue($sMailSubject) : '';
|
||||
|
||||
$sMailHeaders = $sMailBody = '';
|
||||
list($sMailHeaders, $sMailBody) = \explode("\r\n\r\n", $sRawBody, 2);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue