/** * Creates a swift message from a ParsedMessage, handles defaults * * @param ParsedMessage $parsedMessage * * @return \Swift_Message */ protected function transformMessage(ParsedMessage $parsedMessage) { $message = new \Swift_Message(); if ($from = $parsedMessage->getFrom()) { $message->setFrom($from); } // handle to with defaults if ($to = $parsedMessage->getTo()) { $message->setTo($to); } // handle cc with defaults if ($cc = $parsedMessage->getCc()) { $message->setCc($cc); } // handle bcc with defaults if ($bcc = $parsedMessage->getBcc()) { $message->setBcc($bcc); } // handle reply to with defaults if ($replyTo = $parsedMessage->getReplyTo()) { $message->setReplyTo($replyTo); } // handle subject with default if ($subject = $parsedMessage->getSubject()) { $message->setSubject($subject); } // handle body, no default values here $message->setBody($parsedMessage->getMessageText()); if ($parsedMessage->getMessageHtml()) { $message->addPart($parsedMessage->getMessageHtml(), 'text/html'); } return $message; }
/** * Add default parameters when they are not provided from the MailDefinition * * @param ParsedMessage $parsedMessage */ protected function handleDefaults(ParsedMessage $parsedMessage) { if (!$parsedMessage->getFrom() && $this->defaults['from']['email']) { $parsedMessage->setFrom($this->defaults['from']['email'], $this->defaults['from']['name']); } if (!$parsedMessage->getTo() && $this->defaults['to']['email']) { $parsedMessage->addTo($this->defaults['to']['email'], $this->defaults['to']['name']); } if (!$parsedMessage->getCc() && $this->defaults['cc']['email']) { $parsedMessage->addCC($this->defaults['cc']['email'], $this->defaults['cc']['name']); } if (!$parsedMessage->getBcc() && $this->defaults['bcc']['email']) { $parsedMessage->addBcc($this->defaults['bcc']['email'], $this->defaults['bcc']['name']); } if (!$parsedMessage->getReplyTo() && $this->defaults['replyTo']) { $parsedMessage->setReplyTo($this->defaults['replyTo']); } if (!$parsedMessage->getSubject() && $this->defaults['subject']) { $parsedMessage->setSubject($this->defaults['subject']); } }