Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Message.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Framework\Mail;
7 
8 use Zend\Mime\Mime;
9 use Zend\Mime\Part;
10 
11 class Message implements MailMessageInterface
12 {
16  private $zendMessage;
17 
23  private $messageType = self::TYPE_TEXT;
24 
30  public function __construct($charset = 'utf-8')
31  {
32  $this->zendMessage = new \Zend\Mail\Message();
33  $this->zendMessage->setEncoding($charset);
34  }
35 
43  public function setMessageType($type)
44  {
45  $this->messageType = $type;
46  return $this;
47  }
48 
56  public function setBody($body)
57  {
58  if (is_string($body) && $this->messageType === MailMessageInterface::TYPE_HTML) {
59  $body = self::createHtmlMimeFromString($body);
60  }
61  $this->zendMessage->setBody($body);
62  return $this;
63  }
64 
68  public function setSubject($subject)
69  {
70  $this->zendMessage->setSubject($subject);
71  return $this;
72  }
73 
77  public function getSubject()
78  {
79  return $this->zendMessage->getSubject();
80  }
81 
85  public function getBody()
86  {
87  return $this->zendMessage->getBody();
88  }
89 
93  public function setFrom($fromAddress)
94  {
95  $this->zendMessage->setFrom($fromAddress);
96  return $this;
97  }
98 
102  public function addTo($toAddress)
103  {
104  $this->zendMessage->addTo($toAddress);
105  return $this;
106  }
107 
111  public function addCc($ccAddress)
112  {
113  $this->zendMessage->addCc($ccAddress);
114  return $this;
115  }
116 
120  public function addBcc($bccAddress)
121  {
122  $this->zendMessage->addBcc($bccAddress);
123  return $this;
124  }
125 
129  public function setReplyTo($replyToAddress)
130  {
131  $this->zendMessage->setReplyTo($replyToAddress);
132  return $this;
133  }
134 
138  public function getRawMessage()
139  {
140  return $this->zendMessage->toString();
141  }
142 
149  private function createHtmlMimeFromString($htmlBody)
150  {
151  $htmlPart = new Part($htmlBody);
152  $htmlPart->setCharset($this->zendMessage->getEncoding());
153  $htmlPart->setType(Mime::TYPE_HTML);
154  $mimeMessage = new \Zend\Mime\Message();
155  $mimeMessage->addPart($htmlPart);
156  return $mimeMessage;
157  }
158 
162  public function setBodyHtml($html)
163  {
164  $this->setMessageType(self::TYPE_HTML);
165  return $this->setBody($html);
166  }
167 
171  public function setBodyText($text)
172  {
173  $this->setMessageType(self::TYPE_TEXT);
174  return $this->setBody($text);
175  }
176 }
setReplyTo($replyToAddress)
Definition: Message.php:129
endifif( $block->getLastPageNum()>1)( 'Page') ?></strong >< ul class $text
Definition: pager.phtml:43
__construct($charset='utf-8')
Definition: Message.php:30
$type
Definition: item.phtml:13