class CaptureTransport

Defines a mail transport that captures sent messages in a key value store.

This class is for running tests or for development.

Hierarchy

Expanded class hierarchy of CaptureTransport

1 file declares its use of CaptureTransport
MailerCaptureServiceProvider.php in core/modules/mailer/tests/modules/mailer_capture/src/MailerCaptureServiceProvider.php

File

core/modules/mailer/tests/modules/mailer_capture/src/Transport/CaptureTransport.php, line 18

Namespace

Drupal\mailer_capture\Transport
View source
class CaptureTransport extends AbstractTransport implements TransportInterface {
  
  /**
   * Key value factory.
   */
  protected KeyValueFactoryInterface $keyValueFactory;
  
  /**
   * Set key value factory.
   */
  public function setKeyValueFactory(KeyValueFactoryInterface $keyValueFactory) : void {
    $this->keyValueFactory = $keyValueFactory;
  }
  
  /**
   * {@inheritdoc}
   */
  protected function doSend(SentMessage $message) : void {
    $keyValueStore = $this->keyValueFactory
      ->get('mailer_capture');
    $capturedMails = $keyValueStore->get('messages', []);
    $capturedMails[] = $message;
    $keyValueStore->set('messages', $capturedMails);
  }
  
  /**
   * {@inheritdoc}
   */
  public function __toString() : string {
    return 'drupal.test-capture';
  }

}

Members

Title Sort descending Modifiers Object type Summary
CaptureTransport::$keyValueFactory protected property Key value factory.
CaptureTransport::doSend protected function
CaptureTransport::setKeyValueFactory public function Set key value factory.
CaptureTransport::__toString public function

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.