protected function parseAddress(array $addresses)
    {
        return array_map(function ($address) {
            return (object) [
                'address' => $address->mailbox.'@'.$address->host,
                'domain' => $address->host,
                'name' => isset($address->personal)
                    ? static::convertBodyEncoding($address->personal)
                    : null
            ];
        }, array_filter($addresses, function ($address) {
            return property_exists($address, 'mailbox') && strtolower($address->mailbox) !== 'undisclosed-recipients';
        }));
    }