Removed \MailSo\Mime\Enumerations\MimeType

This commit is contained in:
the-djmaze 2022-11-16 16:20:10 +01:00
parent e5ef0eaa6a
commit 92240e84a6
3 changed files with 39 additions and 91 deletions

View file

@ -1,41 +0,0 @@
<?php
/*
* This file is part of MailSo.
*
* (c) 2014 Usenko Timur
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace MailSo\Mime\Enumerations;
/**
* @category MailSo
* @package Mime
* @subpackage Enumerations
*/
abstract class MimeType
{
const TEXT_PLAIN = 'text/plain';
const MULTIPART_ALTERNATIVE = 'multipart/alternative';
const MULTIPART_RELATED = 'multipart/related';
const MULTIPART_MIXED = 'multipart/mixed';
const MULTIPART_SIGNED = 'multipart/signed';
const APPLICATION_PGP_SIGNATURE = 'application/pgp-signature';
const MULTIPART_ENCRYPTED = 'multipart/encrypted';
const APPLICATION_PGP_ENCRYPTED = 'application/pgp-encrypted';
const APPLICATION_OCTET_STREAM = 'application/octet-stream';
const MESSAGE_RFC822 = 'message/rfc822';
const MESSAGE_PARTIAL = 'message/partial';
const MESSAGE_REPORT = 'message/report';
const APPLICATION_MS_TNEF = 'application/ms-tnef';
const APPLICATION_PKCS7_MIME = 'application/pkcs7-mime';
const APPLICATION_PKCS7_SIGNATURE = 'application/pkcs7-signature';
}

View file

@ -387,10 +387,7 @@ class Message extends Part
if ($oAttachment->IsLinked()) { if ($oAttachment->IsLinked()) {
$oRelatedPart = new Part; $oRelatedPart = new Part;
$oRelatedPart->Headers->append( $oRelatedPart->Headers->append(
new Header( new Header(Enumerations\Header::CONTENT_TYPE, 'multipart/related')
Enumerations\Header::CONTENT_TYPE,
Enumerations\MimeType::MULTIPART_RELATED
)
); );
$oRelatedPart->SubParts->append($oRootPart); $oRelatedPart->SubParts->append($oRootPart);
$oRootPart = $oRelatedPart; $oRootPart = $oRelatedPart;
@ -399,10 +396,7 @@ class Message extends Part
} }
} else { } else {
$oRootPart = new Part; $oRootPart = new Part;
$oRootPart->Headers->AddByName( $oRootPart->Headers->AddByName(Enumerations\Header::CONTENT_TYPE, 'multipart/mixed');
Enumerations\Header::CONTENT_TYPE,
Enumerations\MimeType::MULTIPART_MIXED
);
$oRootPart->SubParts = $this->SubParts; $oRootPart->SubParts = $this->SubParts;
} }
@ -413,10 +407,7 @@ class Message extends Part
} else { } else {
if (!$oMixedPart) { if (!$oMixedPart) {
$oMixedPart = new Part; $oMixedPart = new Part;
$oMixedPart->Headers->AddByName( $oMixedPart->Headers->AddByName(Enumerations\Header::CONTENT_TYPE, 'multipart/mixed');
Enumerations\Header::CONTENT_TYPE,
Enumerations\MimeType::MULTIPART_MIXED
);
$oMixedPart->SubParts->append($oRootPart); $oMixedPart->SubParts->append($oRootPart);
$oRootPart = $oMixedPart; $oRootPart = $oMixedPart;
} }

View file

@ -10,6 +10,7 @@ use MailSo\Imap\SequenceSet;
use MailSo\Imap\Enumerations\FetchType; use MailSo\Imap\Enumerations\FetchType;
use MailSo\Imap\Enumerations\MessageFlag; use MailSo\Imap\Enumerations\MessageFlag;
use MailSo\Mime\Part as MimePart; use MailSo\Mime\Part as MimePart;
use MailSo\Mime\Enumerations\Header as MimeEnumHeader;
trait Messages trait Messages
{ {
@ -715,7 +716,7 @@ trait Messages
'text' => $oFetchResponse->GetFetchValue(FetchType::BODY.'['.$sBodyPartId.']'), 'text' => $oFetchResponse->GetFetchValue(FetchType::BODY.'['.$sBodyPartId.']'),
'signature' => '' 'signature' => ''
]; ];
$decode = (new \MailSo\Mime\HeaderCollection($sBodyMime))->ValueByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING); $decode = (new \MailSo\Mime\HeaderCollection($sBodyMime))->ValueByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING);
if ('base64' === $decode) { if ('base64' === $decode) {
$result['text'] = \base64_decode($result['text']); $result['text'] = \base64_decode($result['text']);
} else if ('quoted-printable' === $decode) { } else if ('quoted-printable' === $decode) {
@ -837,8 +838,8 @@ trait Messages
if ($this->Config()->Get('labs', 'mail_func_clear_headers', true)) if ($this->Config()->Get('labs', 'mail_func_clear_headers', true))
{ {
$sMailHeaders = \MailSo\Base\Utils::RemoveHeaderFromHeaders($sMailHeaders, array( $sMailHeaders = \MailSo\Base\Utils::RemoveHeaderFromHeaders($sMailHeaders, array(
\MailSo\Mime\Enumerations\Header::TO_, MimeEnumHeader::TO_,
\MailSo\Mime\Enumerations\Header::SUBJECT MimeEnumHeader::SUBJECT
)); ));
} }
@ -1027,8 +1028,8 @@ trait Messages
$this->Plugins()->RunHook('filter.read-receipt-message-plain', array($oAccount, $oMessage, &$sText)); $this->Plugins()->RunHook('filter.read-receipt-message-plain', array($oAccount, $oMessage, &$sText));
$oPart = new MimePart; $oPart = new MimePart;
$oPart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'text/plain; charset="utf-8"'); $oPart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset="utf-8"');
$oPart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, 'quoted-printable'); $oPart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
$oPart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream( $oPart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
\MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sText))), \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sText))),
'convert.quoted-printable-encode' 'convert.quoted-printable-encode'
@ -1130,7 +1131,7 @@ trait Messages
$oPart = new MimePart; $oPart = new MimePart;
$oPart->Headers->AddByName( $oPart->Headers->AddByName(
\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, MimeEnumHeader::CONTENT_TYPE,
'multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="'.$sBoundary.'"' 'multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="'.$sBoundary.'"'
); );
$oPart->Body = $aSigned[1]; $oPart->Body = $aSigned[1];
@ -1143,22 +1144,22 @@ trait Messages
} else if ($sEncrypted = $this->GetActionParam('Encrypted', '')) { } else if ($sEncrypted = $this->GetActionParam('Encrypted', '')) {
$oPart = new MimePart; $oPart = new MimePart;
$oPart->Headers->AddByName( $oPart->Headers->AddByName(
\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, MimeEnumHeader::CONTENT_TYPE,
'multipart/encrypted; protocol="application/pgp-encrypted"' 'multipart/encrypted; protocol="application/pgp-encrypted"'
); );
$oMessage->SubParts->append($oPart); $oMessage->SubParts->append($oPart);
$oAlternativePart = new MimePart; $oAlternativePart = new MimePart;
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'application/pgp-encrypted'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'application/pgp-encrypted');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_DISPOSITION, 'attachment'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_DISPOSITION, 'attachment');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, '7Bit');
$oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString('Version: 1'); $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString('Version: 1');
$oPart->SubParts->append($oAlternativePart); $oPart->SubParts->append($oAlternativePart);
$oAlternativePart = new MimePart; $oAlternativePart = new MimePart;
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'application/octet-stream'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'application/octet-stream');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_DISPOSITION, 'inline; filename="msg.asc"'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_DISPOSITION, 'inline; filename="msg.asc"');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, '7Bit');
$oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sEncrypted))); $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sEncrypted)));
$oPart->SubParts->append($oAlternativePart); $oPart->SubParts->append($oAlternativePart);
@ -1168,10 +1169,7 @@ trait Messages
} else { } else {
if ($sHtml = $this->GetActionParam('Html', '')) { if ($sHtml = $this->GetActionParam('Html', '')) {
$oPart = new MimePart; $oPart = new MimePart;
$oPart->Headers->AddByName( $oPart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'multipart/alternative');
\MailSo\Mime\Enumerations\Header::CONTENT_TYPE,
\MailSo\Mime\Enumerations\MimeType::MULTIPART_ALTERNATIVE
);
$oMessage->SubParts->append($oPart); $oMessage->SubParts->append($oPart);
$sHtml = \MailSo\Base\HtmlUtils::BuildHtml($sHtml, $aFoundCids, $aFoundDataURL, $aFoundContentLocationUrls); $sHtml = \MailSo\Base\HtmlUtils::BuildHtml($sHtml, $aFoundCids, $aFoundDataURL, $aFoundContentLocationUrls);
@ -1181,8 +1179,8 @@ trait Messages
$sPlain = $this->GetActionParam('Text', '') ?: \MailSo\Base\HtmlUtils::ConvertHtmlToPlain($sHtml); $sPlain = $this->GetActionParam('Text', '') ?: \MailSo\Base\HtmlUtils::ConvertHtmlToPlain($sHtml);
$this->Plugins()->RunHook('filter.message-plain', array($oAccount, $oMessage, &$sPlain)); $this->Plugins()->RunHook('filter.message-plain', array($oAccount, $oMessage, &$sPlain));
$oAlternativePart = new MimePart; $oAlternativePart = new MimePart;
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'text/plain; charset=utf-8'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset=utf-8');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, 'quoted-printable'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
$oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream( $oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
\MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain))), \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain))),
'convert.quoted-printable-encode' 'convert.quoted-printable-encode'
@ -1192,8 +1190,8 @@ trait Messages
// Now add HTML // Now add HTML
$oAlternativePart = new MimePart; $oAlternativePart = new MimePart;
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'text/html; charset=utf-8'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/html; charset=utf-8');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, 'quoted-printable'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
$oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream( $oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
\MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sHtml))), \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sHtml))),
'convert.quoted-printable-encode' 'convert.quoted-printable-encode'
@ -1208,27 +1206,27 @@ trait Messages
if ($sSignature = $this->GetActionParam('Signature', null)) { if ($sSignature = $this->GetActionParam('Signature', null)) {
$oPart = new MimePart; $oPart = new MimePart;
$oPart->Headers->AddByName( $oPart->Headers->AddByName(
\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, MimeEnumHeader::CONTENT_TYPE,
'multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"' 'multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"'
); );
$oMessage->SubParts->append($oPart); $oMessage->SubParts->append($oPart);
$oAlternativePart = new MimePart; $oAlternativePart = new MimePart;
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'text/plain; charset="utf-8"; protected-headers="v1"'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset="utf-8"; protected-headers="v1"');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, 'base64'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'base64');
$oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain))); $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain)));
$oPart->SubParts->append($oAlternativePart); $oPart->SubParts->append($oAlternativePart);
$oAlternativePart = new MimePart; $oAlternativePart = new MimePart;
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'application/pgp-signature; name="signature.asc"'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'application/pgp-signature; name="signature.asc"');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, '7Bit');
$oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sSignature))); $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sSignature)));
$oPart->SubParts->append($oAlternativePart); $oPart->SubParts->append($oAlternativePart);
} else { } else {
$this->Plugins()->RunHook('filter.message-plain', array($oAccount, $oMessage, &$sPlain)); $this->Plugins()->RunHook('filter.message-plain', array($oAccount, $oMessage, &$sPlain));
$oAlternativePart = new MimePart; $oAlternativePart = new MimePart;
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'text/plain; charset="utf-8"'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'text/plain; charset="utf-8"');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, 'quoted-printable'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, 'quoted-printable');
$oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream( $oAlternativePart->Body = \MailSo\Base\StreamWrappers\Binary::CreateStream(
\MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain))), \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\r?\\n/su', "\r\n", \trim($sPlain))),
'convert.quoted-printable-encode' 'convert.quoted-printable-encode'
@ -1319,7 +1317,7 @@ trait Messages
$oPart = new MimePart; $oPart = new MimePart;
$oPart->Headers->AddByName( $oPart->Headers->AddByName(
\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, MimeEnumHeader::CONTENT_TYPE,
'multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"' 'multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"'
); );
$oMessage->SubParts->append($oPart); $oMessage->SubParts->append($oPart);
@ -1329,8 +1327,8 @@ trait Messages
$oPart->SubParts->append($oBody); $oPart->SubParts->append($oBody);
$oSignaturePart = new MimePart; $oSignaturePart = new MimePart;
$oSignaturePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'application/pgp-signature; name="signature.asc"'); $oSignaturePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'application/pgp-signature; name="signature.asc"');
$oSignaturePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit'); $oSignaturePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, '7Bit');
$oSignaturePart->Body = $sSignature; $oSignaturePart->Body = $sSignature;
$oPart->SubParts->append($oSignaturePart); $oPart->SubParts->append($oSignaturePart);
} }
@ -1354,22 +1352,22 @@ trait Messages
$oPart = new MimePart; $oPart = new MimePart;
$oPart->Headers->AddByName( $oPart->Headers->AddByName(
\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, MimeEnumHeader::CONTENT_TYPE,
'multipart/encrypted; protocol="application/pgp-encrypted"' 'multipart/encrypted; protocol="application/pgp-encrypted"'
); );
$oMessage->SubParts->append($oPart); $oMessage->SubParts->append($oPart);
$oAlternativePart = new MimePart; $oAlternativePart = new MimePart;
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'application/pgp-encrypted'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'application/pgp-encrypted');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_DISPOSITION, 'attachment'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_DISPOSITION, 'attachment');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, '7Bit');
$oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString('Version: 1'); $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString('Version: 1');
$oPart->SubParts->append($oAlternativePart); $oPart->SubParts->append($oAlternativePart);
$oAlternativePart = new MimePart; $oAlternativePart = new MimePart;
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'application/octet-stream'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TYPE, 'application/octet-stream');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_DISPOSITION, 'inline; filename="msg.asc"'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_DISPOSITION, 'inline; filename="msg.asc"');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit'); $oAlternativePart->Headers->AddByName(MimeEnumHeader::CONTENT_TRANSFER_ENCODING, '7Bit');
$oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString($sEncrypted); $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString($sEncrypted);
$oPart->SubParts->append($oAlternativePart); $oPart->SubParts->append($oAlternativePart);
} }