protected function SMTPMailSystem::getComponents in SMTP Authentication Support 8
Returns an array of name and email address from a string.
Parameters
string $input: A string that contains different possible combinations of names and email address.
Return value
array An array containing a name and an email address.
2 calls to SMTPMailSystem::getComponents()
- SMTPMailSystem::mail in src/
Plugin/ Mail/ SMTPMailSystem.php - Send the e-mail message.
- SMTPMailSystemTestHelper::publicGetComponents in tests/
src/ Unit/ Plugin/ Mail/ SMTPMailSystemTest.php - Exposes getComponents for testing.
File
- src/
Plugin/ Mail/ SMTPMailSystem.php, line 792
Class
- SMTPMailSystem
- Modify the drupal mail system to use smtp when sending emails.
Namespace
Drupal\smtp\Plugin\MailCode
protected function getComponents($input) {
$input = trim($input);
$components = [
'input' => $input,
'name' => '',
'email' => '',
];
// If the input is a valid email address in its entirety,
// then there is nothing to do, just return that.
if ($this->emailValidator
->isValid($input)) {
$components['email'] = $input;
return $components;
}
// Check if $input has one of the following formats, extract what we can:
// some name <address@example.com>.
// "another name" <address@example.com>.
// <address@example.com>.
if (preg_match('/^"?([^"\\t\\n]*)"?\\s*<([^>\\t\\n]*)>$/', $input, $matches)) {
$components['name'] = trim($matches[1]);
$components['email'] = trim($matches[2]);
}
return $components;
}