ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilMailImapRfc822AddressParser.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22{
23 protected function parseAddressString(string $addresses): array
24 {
25 $parsed_addresses = imap_rfc822_parse_adrlist($addresses, $this->installation_host);
26
27 // #18992
28 $valid_parsed_addresses = array_filter($parsed_addresses, static function (stdClass $address): bool {
29 return $address->host !== '.SYNTAX-ERROR.';
30 });
31
32 if ($parsed_addresses !== $valid_parsed_addresses) {
33 throw new ilMailException($addresses);
34 }
35
36 return array_map(static function (stdClass $address): ilMailAddress {
37 return new ilMailAddress($address->mailbox, $address->host);
38 }, $valid_parsed_addresses);
39 }
40}