/** * @inheritDoc */ public static function fromWrappedMessage(MailWrappedMessage $wrappedMessage = null, $transport = null) { if (!$wrappedMessage instanceof MailWrappedMessage) { throw new MailWrapperSetupException('Not MailWrappedMessage'); } $message = new \Swift_Message(); foreach ($wrappedMessage->getToRecipients() as $address) { $message->addTo($address); } foreach ($wrappedMessage->getCcRecipients() as $address) { $message->addCc($address); } foreach ($wrappedMessage->getBccRecipients() as $address) { $message->addBcc($address); } $message->setReplyTo($wrappedMessage->getReplyTo()); $message->setFrom($wrappedMessage->getFrom()); $message->setSubject($wrappedMessage->getSubject()); if ($wrappedMessage->getContentText()) { $message->setBody($wrappedMessage->getContentText()); } if ($wrappedMessage->getContentHtml()) { $message->setBody($wrappedMessage->getContentHtml(), 'text/html'); } return $message; }
/** * @param MailgunManager $transport * @param MailWrappedMessage|null $message * @return bool|int * @throws MailWrapperSetupException * @throws \Exception * @throws \Mailgun\Messages\Exceptions\TooManyParameters */ public static function send(MailgunManager $transport, MailWrappedMessage $message = null) { if (!$message) { throw new MailWrapperSetupException('No Message'); } if (MailgunMessage::RECIPIENT_COUNT_LIMIT <= count($message->getToRecipients())) { throw new MailWrapperSetupException(MailgunMessage::RECIPIENT_COUNT_LIMIT . ' limit exceeded'); } $batch = MessageTransformerMailgun::fromWrappedMessage($message, $transport); try { $batch->finalize(); } catch (\Exception $e) { throw new MailWrapperSendException($e->getMessage(), $e->getCode(), $e); } $ids = $batch->getMessageIds(); return 1 == count($ids) ? $ids[0] : false; }
/** * @inheritDoc */ public static function fromWrappedMessage(MailWrappedMessage $wrappedMessage = null, $transport = null) { if (!$wrappedMessage instanceof MailWrappedMessage) { throw new MailWrapperSetupException('Not MailWrappedMessage'); } $message = new \PHPMailer(); foreach ($wrappedMessage->getToRecipients() as $address) { $message->addAddress($address); } foreach ($wrappedMessage->getCcRecipients() as $address) { $message->addCC($address); } foreach ($wrappedMessage->getBccRecipients() as $address) { $message->addBCC($address); } $message->Subject = $wrappedMessage->getSubject(); $message->Body = $wrappedMessage->getContentHtml(); $message->AltBody = $wrappedMessage->getContentText(); return $message; }