class SendmailCommandValidationTransportFactory
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Mailer/Transport/SendmailCommandValidationTransportFactory.php \Drupal\Core\Mailer\Transport\SendmailCommandValidationTransportFactory
Command validation decorator for sendmail transport factory.
Hierarchy
- class \Drupal\Core\Mailer\Transport\SendmailCommandValidationTransportFactory implements \Symfony\Component\Mailer\Transport\TransportFactoryInterface
Expanded class hierarchy of SendmailCommandValidationTransportFactory
File
-
core/
lib/ Drupal/ Core/ Mailer/ Transport/ SendmailCommandValidationTransportFactory.php, line 16
Namespace
Drupal\Core\Mailer\TransportView source
class SendmailCommandValidationTransportFactory implements TransportFactoryInterface {
/**
* Construct command validation decorator for sendmail transport factory.
*
* @param \Symfony\Component\Mailer\Transport\TransportFactoryInterface $inner
* The decorated sendmail transport factory.
*/
public function __construct(#[AutowireDecorated] protected TransportFactoryInterface $inner) {
}
/**
* {@inheritdoc}
*/
public function create(Dsn $dsn) : TransportInterface {
$command = $dsn->getOption('command');
if (!empty($command)) {
$commands = Settings::get('mailer_sendmail_commands', []);
if (!in_array($command, $commands, TRUE)) {
throw new \RuntimeException("Unsafe sendmail command {$command}");
}
}
return $this->inner
->create($dsn);
}
/**
* {@inheritdoc}
*/
public function supports(Dsn $dsn) : bool {
return $this->inner
->supports($dsn);
}
}
Members
| Title Sort descending | Modifiers | Object type | Summary |
|---|---|---|---|
| SendmailCommandValidationTransportFactory::create | public | function | |
| SendmailCommandValidationTransportFactory::supports | public | function | |
| SendmailCommandValidationTransportFactory::__construct | public | function | Construct command validation decorator for sendmail transport factory. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.