class TestMailCollector
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Mail/Plugin/Mail/TestMailCollector.php \Drupal\Core\Mail\Plugin\Mail\TestMailCollector
- 10 core/lib/Drupal/Core/Mail/Plugin/Mail/TestMailCollector.php \Drupal\Core\Mail\Plugin\Mail\TestMailCollector
- 8.9.x core/lib/Drupal/Core/Mail/Plugin/Mail/TestMailCollector.php \Drupal\Core\Mail\Plugin\Mail\TestMailCollector
Defines a mail backend that captures sent messages in the state system.
This class is for running tests or for development.
Plugin annotation
@Mail(
id = "test_mail_collector",
label = @Translation("Mail collector"),
description = @Translation("Does not send the message, but stores it in Drupal within the state system. Used for testing.")
)
Hierarchy
- class \Drupal\Core\Mail\Plugin\Mail\PhpMail implements \Drupal\Core\Mail\MailInterface
- class \Drupal\Core\Mail\Plugin\Mail\TestMailCollector implements \Drupal\Core\Mail\MailInterface extends \Drupal\Core\Mail\Plugin\Mail\PhpMail
Expanded class hierarchy of TestMailCollector
2 files declare their use of TestMailCollector
- MailTest.php in core/
modules/ system/ tests/ src/ Kernel/ Mail/ MailTest.php - TestHtmlMailCollector.php in core/
modules/ system/ tests/ modules/ mail_html_test/ src/ Plugin/ Mail/ TestHtmlMailCollector.php
File
-
core/
lib/ Drupal/ Core/ Mail/ Plugin/ Mail/ TestMailCollector.php, line 18
Namespace
Drupal\Core\Mail\Plugin\MailView source
class TestMailCollector extends PhpMail implements MailInterface {
/**
* {@inheritdoc}
*/
public function mail(array $message) {
$captured_emails = \Drupal::state()->get('system.test_mail_collector', []);
$captured_emails[] = $message;
\Drupal::state()->set('system.test_mail_collector', $captured_emails);
return TRUE;
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.