| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?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\Mailer;
- use Symfony\Component\Mime\Message;
- use Symfony\Component\Mime\RawMessage;
- /**
- * @author Fabien Potencier <fabien@symfony.com>
- */
- class SentMessage
- {
- private RawMessage $original;
- private RawMessage $raw;
- private string $messageId;
- private string $debug = '';
- /**
- * @internal
- */
- public function __construct(
- RawMessage $message,
- private Envelope $envelope,
- ) {
- $message->ensureValidity();
- $this->original = $message;
- if ($message instanceof Message) {
- $message = clone $message;
- $headers = $message->getHeaders();
- if (!$headers->has('Message-ID')) {
- $headers->addIdHeader('Message-ID', $message->generateMessageId());
- }
- $this->messageId = $headers->get('Message-ID')->getId();
- $this->raw = new RawMessage($message->toIterable());
- } else {
- $this->raw = $message;
- }
- }
- public function getMessage(): RawMessage
- {
- return $this->raw;
- }
- public function getOriginalMessage(): RawMessage
- {
- return $this->original;
- }
- public function getEnvelope(): Envelope
- {
- return $this->envelope;
- }
- /**
- * Sets the transport-level message ID.
- */
- public function setMessageId(string $id): void
- {
- $this->messageId = $id;
- }
- /**
- * Gets the transport-level message ID.
- *
- * Not to be confused with the Message-ID header, which is available via getOriginalMessage()
- */
- public function getMessageId(): string
- {
- return $this->messageId;
- }
- public function getDebug(): string
- {
- return $this->debug;
- }
- public function appendDebug(string $debug): void
- {
- $this->debug .= $debug;
- }
- public function toString(): string
- {
- return $this->raw->toString();
- }
- public function toIterable(): iterable
- {
- return $this->raw->toIterable();
- }
- }
|