ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
class.ilMailImapRfc822AddressParser.php
Go to the documentation of this file.
1 <?php
2 
19 declare(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 }