public function addRecipient($recipient)
    {
        if (is_string($recipient)) {
            $recipient = new Recipient($recipient);
        } elseif (!$recipient instanceof Recipient) {
            throw new \InvalidArgumentException('$recipient must be a string or an instance of Recipient.');
        }

        $this->recipients[] = $recipient;

        return $this;
    }