PHP 8.3.31
Preview: DelayedEnvelope.php Size: 2.36 KB
/home/getspomw/royalsquad.us/vendor/symfony/mailer/DelayedEnvelope.php

<?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\Mailer\Exception\LogicException;
use Symfony\Component\Mime\Address;
use Symfony\Component\Mime\Header\Headers;
use Symfony\Component\Mime\Message;

/**
 * @author Fabien Potencier <fabien@symfony.com>
 *
 * @internal
 */
final class DelayedEnvelope extends Envelope
{
    private bool $senderSet = false;
    private bool $recipientsSet = false;

    public function __construct(
        private Message $message,
    ) {
    }

    public function setSender(Address $sender): void
    {
        parent::setSender($sender);

        $this->senderSet = true;
    }

    public function getSender(): Address
    {
        if (!$this->senderSet) {
            parent::setSender(self::getSenderFromHeaders($this->message->getHeaders()));
        }

        return parent::getSender();
    }

    public function setRecipients(array $recipients): void
    {
        parent::setRecipients($recipients);

        $this->recipientsSet = (bool) parent::getRecipients();
    }

    /**
     * @return Address[]
     */
    public function getRecipients(): array
    {
        if ($this->recipientsSet) {
            return parent::getRecipients();
        }

        return self::getRecipientsFromHeaders($this->message->getHeaders());
    }

    private static function getRecipientsFromHeaders(Headers $headers): array
    {
        $recipients = [];
        foreach (['to', 'cc', 'bcc'] as $name) {
            foreach ($headers->all($name) as $header) {
                foreach ($header->getAddresses() as $address) {
                    $recipients[] = $address;
                }
            }
        }

        return $recipients;
    }

    private static function getSenderFromHeaders(Headers $headers): Address
    {
        if ($sender = $headers->get('Sender')) {
            return $sender->getAddress();
        }
        if ($return = $headers->get('Return-Path')) {
            return $return->getAddress();
        }
        if ($from = $headers->get('From')) {
            return $from->getAddresses()[0];
        }

        throw new LogicException('Unable to determine the sender of the message.');
    }
}

Directory Contents

Dirs: 9 × Files: 11

Name Size Perms Modified Actions
Command DIR
- drwxrwxrwx 2025-09-17 06:53:22
Edit Download
- drwxrwxrwx 2026-04-22 01:40:04
Edit Download
Event DIR
- drwxrwxrwx 2026-04-21 10:56:34
Edit Download
- drwxrwxrwx 2026-04-21 17:33:38
Edit Download
Exception DIR
- drwxrwxrwx 2026-04-19 15:12:53
Edit Download
Header DIR
- drwxrwxrwx 2026-04-21 10:02:11
Edit Download
Messenger DIR
- drwxrwxrwx 2025-09-17 06:53:22
Edit Download
Test DIR
- drwxrwxrwx 2026-04-19 15:13:45
Edit Download
Transport DIR
- drwxrwxrwx 2026-04-21 09:23:47
Edit Download
4.08 KB lrw-rw-rw- 2025-09-17 06:53:22
Edit Download
1.29 KB lrw-rw-rw- 2025-09-17 06:53:22
Edit Download
2.36 KB lrw-rw-rw- 2025-09-17 06:53:22
Edit Download
3.55 KB lrw-rw-rw- 2025-09-17 06:53:22
Edit Download
3.86 KB lrw-r--r-- 2026-04-26 10:04:25
Edit Download
1.04 KB lrw-rw-rw- 2025-09-17 06:53:22
Edit Download
2.63 KB lrw-rw-rw- 2025-09-17 06:53:22
Edit Download
768 B lrw-rw-rw- 2025-09-17 06:53:22
Edit Download
2.46 KB lrw-rw-rw- 2025-09-17 06:53:22
Edit Download
2.02 KB lrw-rw-rw- 2025-09-17 06:53:22
Edit Download
7.64 KB lrw-rw-rw- 2025-09-17 06:53:22
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).