public function testConstructWithAHtmlMessage()
 {
     $from = 'Domain <*****@*****.**>';
     $to = '*****@*****.**';
     $subject = 'subject';
     $message = "Hello\n\nThis is a <strong>test</strong> message.";
     $mail = new Message();
     $mail->setFrom($from);
     $mail->setTo($to);
     $mail->setSubject($subject);
     $mail->setMessage($message);
     $mail->setIsHtmlMessage(true);
     $expectedHeaders = array('From: Domain <*****@*****.**>', 'To: info <*****@*****.**>', 'MIME-Version: 1.0');
     $expectedHeaders = implode("\n", $expectedHeaders);
     $messageParser = new MessageParser($mail);
     $headers = implode("\n", $messageParser->getHeaders());
     $body = $messageParser->getBody();
     $this->assertEquals($subject, $messageParser->getSubject());
     $this->assertContains($expectedHeaders, $headers);
     $this->assertContains($message, $body);
     $this->assertContains(strip_tags($message), $body);
     $this->assertContains('Content-Type: multipart/alternative; boundary=', $headers);
     $this->assertContains('Content-Type: text/html; charset=utf-8', $body);
     $this->assertContains('Content-Type: text/plain; charset=utf-8', $body);
 }
Example #2
0
 /**
  * Creates the mail message
  * @return zibo\library\mail\Message
  */
 protected function createMail()
 {
     $mail = new Message();
     $mail->setSubject($this->subject);
     $mail->setMessage($this->parseMessage($this->message));
     $mail->setIsHtmlMessage(true);
     $mail->removePart(MailMessage::PART_ALTERNATIVE);
     return $mail;
 }
 /**
  * Sends a mail to the provided subscriber to request a unsubscribe
  * @param joppa\mailinglist\model\data\SubscriberData $subscriber The subscriber who wants to unsubscribe
  * @return null
  */
 public function requestUnsubscribe(SubscriberData $subscriber)
 {
     $translator = I18n::getInstance()->getTranslator();
     $zibo = Zibo::getInstance();
     $sender = $zibo->getConfigValue(self::CONFIG_SENDER);
     $website = $zibo->getRequest()->getBaseUrl();
     $unsubscribeUrl = $website . $zibo->getConfigValue(self::CONFIG_UNSUBSCRIBE_PATH);
     $confirmUrl = $unsubscribeUrl . '/' . $subscriber->email . '/' . $subscriber->getUnsubscribeKey();
     $parameters = array('email' => $subscriber->email, 'confirmUrl' => $confirmUrl, 'unsubscribeUrl' => $unsubscribeUrl, 'website' => $website);
     $subject = $translator->translate(self::TRANSLATION_UNSUBSCRIBE_SUBJECT, $parameters);
     $message = $translator->translate(self::TRANSLATION_UNSUBSCRIBE_MESSAGE, $parameters);
     $mail = new Message();
     if ($sender) {
         $mail->setFrom($sender);
     }
     $mail->setTo($subscriber->email);
     $mail->setSubject($subject);
     $mail->setMessage($message);
     $mail->setIsHtmlMessage(true);
     $mail->send();
 }