ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilMailImapRfc822AddressParser.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2016 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once 'Services/Mail/classes/Address/Parser/class.ilBaseMailRfc822AddressParser.php';
5
11{
15 protected function parseAddressString($a_addresses)
16 {
17 require_once 'Services/Mail/classes/class.ilMail.php';
18 $parsed_addresses = imap_rfc822_parse_adrlist($a_addresses, ilMail::ILIAS_HOST);
19
20 // #18992
21 $valid_parsed_addresses = array_filter($parsed_addresses, function($address) {
22 return '.SYNTAX-ERROR.' != $address->host;
23 });
24 if($parsed_addresses != $valid_parsed_addresses)
25 {
26 throw new ilMailException($a_addresses);
27 }
28
29 require_once 'Services/Mail/classes/Address/class.ilMailAddress.php';
30 return array_map(function($address) {
31 return new ilMailAddress($address->mailbox, $address->host);
32 }, $valid_parsed_addresses);
33 }
34}
An exception for terminatinating execution or to throw for unit testing.
Class ilBaseMailRfc822AddressParser.
Class ilMailAddress.
Class ilMailException.
Class ilImapMailRfc822AddressParser.
parseAddressString($a_addresses)
{ilMailAddress[]}
const ILIAS_HOST