fromName = $fromName; $this->fromAddress = $fromAddress; $this->replyTo = $replyTo; $this->toAddress = $toAddress; $this->subject = $subject; $this->msgHtml = $msgHtml; $this->msgText = $msgText; $this->additionalMailHeader = $additionalMailHeader; $this->toUid = $toUid; } /** * {@inheritDoc} */ public function getFromName() { return $this->fromName; } /** * {@inheritDoc} */ public function getFromAddress() { return $this->fromAddress; } /** * {@inheritDoc} */ public function getReplyTo() { return $this->replyTo; } /** * {@inheritDoc} */ public function getToAddress() { return $this->toAddress; } /** * {@inheritDoc} */ public function getSubject() { return $this->subject; } /** * {@inheritDoc} */ public function getMessage(bool $plain = false) { if ($plain) { return $this->msgText; } else { return $this->msgHtml; } } /** * {@inheritDoc} */ public function getAdditionalMailHeader() { return $this->additionalMailHeader; } /** * {@inheritDoc} */ public function getRecipientUid() { return $this->toUid; } /** * {@inheritDoc} */ public function withRecipient(string $address, int $uid = null) { $newEmail = clone $this; $newEmail->toAddress = $address; $newEmail->toUid = $uid; return $newEmail; } /** * {@inheritDoc} */ public function withMessage(string $plaintext, string $html = null) { $newMail = clone $this; $newMail->msgText = $plaintext; $newMail->msgHtml = $html; return $newMail; } /** * Returns the properties of the email as an array * * @return array */ private function toArray() { return get_object_vars($this); } /** * @inheritDoc */ public function __toString() { return json_encode($this->toArray()); } /** * @inheritDoc */ public function jsonSerialize() { return $this->toArray(); } }