<?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\Transport; use Symfony\Component\Mailer\Envelope; use Symfony\Component\Mailer\Exception\RuntimeException; use Symfony\Component\Mailer\SentMessage; use Symfony\Component\Mime\Address; use Symfony\Component\Mime\Email; use Symfony\Component\Mime\MessageConverter; use Symfony\Contracts\HttpClient\ResponseInterface; /** * @author Fabien Potencier <fabien@symfony.com> */ abstract class AbstractApiTransport extends AbstractHttpTransport { abstract protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $envelope): ResponseInterface; protected function doSendHttp(SentMessage $message): ResponseInterface { try { $email = MessageConverter::toEmail($message->getOriginalMessage()); } catch (\Exception $e) { throw new RuntimeException(sprintf('Unable to send message with the "%s" transport: ', __CLASS__).$e->getMessage(), 0, $e); } return $this->doSendApi($message, $email, $message->getEnvelope()); } protected function getRecipients(Email $email, Envelope $envelope): array { return array_filter($envelope->getRecipients(), function (Address $address) use ($email) { return false === \in_array($address, array_merge($email->getCc(), $email->getBcc()), true); }); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Smtp | Folder | 0755 |
|
|
AbstractApiTransport.php | File | 1.59 KB | 0644 |
|
AbstractHttpTransport.php | File | 2.2 KB | 0644 |
|
AbstractTransport.php | File | 4.03 KB | 0644 |
|
AbstractTransportFactory.php | File | 1.65 KB | 0644 |
|
Dsn.php | File | 2.53 KB | 0644 |
|
FailoverTransport.php | File | 1012 B | 0644 |
|
NativeTransportFactory.php | File | 2.06 KB | 0644 |
|
NullTransport.php | File | 685 B | 0644 |
|
NullTransportFactory.php | File | 895 B | 0644 |
|
RoundRobinTransport.php | File | 3.73 KB | 0644 |
|
SendmailTransport.php | File | 4.32 KB | 0644 |
|
SendmailTransportFactory.php | File | 1001 B | 0644 |
|
TransportFactoryInterface.php | File | 748 B | 0644 |
|
TransportInterface.php | File | 948 B | 0644 |
|
Transports.php | File | 2.34 KB | 0644 |
|