isValid($email)) { $invalidMessages = $emailAddressValidator->getMessages(); throw new Exception\InvalidArgumentException(array_shift($invalidMessages)); } if (null !== $name) { if (! is_string($name)) { throw new Exception\InvalidArgumentException('Name must be a string'); } if (preg_match("/[\r\n]/", $name)) { throw new Exception\InvalidArgumentException('CRLF injection detected'); } $this->name = $name; } $this->email = $email; } /** * Retrieve email * * @return string */ public function getEmail() { return $this->email; } /** * Retrieve name * * @return string */ public function getName() { return $this->name; } /** * String representation of address * * @return string */ public function toString() { $string = '<' . $this->getEmail() . '>'; $name = $this->getName(); if (null === $name) { return $string; } return $name . ' ' . $string; } }