class TestMailCollector in Drupal 8
Same name and namespace in other branches
- 9 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 MailInterface
- class \Drupal\Core\Mail\Plugin\Mail\TestMailCollector implements MailInterface
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;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PhpMail:: |
protected | property | The configuration factory. | |
PhpMail:: |
public | function |
Concatenates and wraps the email body for plain-text mails. Overrides MailInterface:: |
1 |
PhpMail:: |
protected static | function | Disallows potentially unsafe shell characters. | |
PhpMail:: |
public | function | PhpMail constructor. | |
TestMailCollector:: |
public | function |
Sends an email message. Overrides PhpMail:: |