Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
TransportBuilder Class Reference
Inheritance diagram for TransportBuilder:
TransportBuilder TransportBuilderMock

Public Member Functions

 __construct (FactoryInterface $templateFactory, MessageInterface $message, SenderResolverInterface $senderResolver, ObjectManagerInterface $objectManager, TransportInterfaceFactory $mailTransportFactory, MessageInterfaceFactory $messageFactory=null)
 
 addCc ($address, $name='')
 
 addTo ($address, $name='')
 
 addBcc ($address)
 
 setReplyTo ($email, $name=null)
 
 setFrom ($from)
 
 setTemplateIdentifier ($templateIdentifier)
 
 setTemplateModel ($templateModel)
 
 setTemplateVars ($templateVars)
 
 setTemplateOptions ($templateOptions)
 
 getTransport ()
 

Protected Member Functions

 reset ()
 
 getTemplate ()
 
 prepareMessage ()
 

Protected Attributes

 $templateIdentifier
 
 $templateModel
 
 $templateVars
 
 $templateOptions
 
 $transport
 
 $templateFactory
 
 $objectManager
 
 $message
 
 $_senderResolver
 
 $mailTransportFactory
 

Detailed Description

@api @SuppressWarnings(PHPMD.CouplingBetweenObjects)

Since
100.0.2

Definition at line 24 of file TransportBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( FactoryInterface  $templateFactory,
MessageInterface  $message,
SenderResolverInterface  $senderResolver,
ObjectManagerInterface  $objectManager,
TransportInterfaceFactory  $mailTransportFactory,
MessageInterfaceFactory  $messageFactory = null 
)
Parameters
FactoryInterface$templateFactory
MessageInterface$message
SenderResolverInterface$senderResolver
ObjectManagerInterface$objectManager
TransportInterfaceFactory$mailTransportFactory
MessageInterfaceFactory$messageFactory@SuppressWarnings(PHPMD.UnusedFormalParameter)

Definition at line 109 of file TransportBuilder.php.

116  {
117  $this->templateFactory = $templateFactory;
118  $this->objectManager = $objectManager;
119  $this->_senderResolver = $senderResolver;
120  $this->mailTransportFactory = $mailTransportFactory;
121  $this->messageFactory = $messageFactory ?: $this->objectManager->get(MessageInterfaceFactory::class);
122  $this->message = $this->messageFactory->create();
123  }

Member Function Documentation

◆ addBcc()

addBcc (   $address)

Add bcc address

Parameters
array | string$address
Returns
$this

Definition at line 157 of file TransportBuilder.php.

158  {
159  $this->message->addBcc($address);
160  return $this;
161  }
$address
Definition: customer.php:38

◆ addCc()

addCc (   $address,
  $name = '' 
)

Add cc address

Parameters
array | string$address
string$name
Returns
$this

Definition at line 132 of file TransportBuilder.php.

133  {
134  $this->message->addCc($address, $name);
135  return $this;
136  }
$address
Definition: customer.php:38
if(!isset($_GET['name'])) $name
Definition: log.php:14

◆ addTo()

addTo (   $address,
  $name = '' 
)

Add to address

Parameters
array | string$address
string$name
Returns
$this

Definition at line 145 of file TransportBuilder.php.

146  {
147  $this->message->addTo($address, $name);
148  return $this;
149  }
$address
Definition: customer.php:38
if(!isset($_GET['name'])) $name
Definition: log.php:14

◆ getTemplate()

getTemplate ( )
protected

Get template

Returns
\Magento\Framework\Mail\TemplateInterface

Definition at line 270 of file TransportBuilder.php.

271  {
272  return $this->templateFactory->get($this->templateIdentifier, $this->templateModel)
273  ->setVars($this->templateVars)
274  ->setOptions($this->templateOptions);
275  }

◆ getTransport()

getTransport ( )

Get mail transport

Returns
\Magento\Framework\Mail\TransportInterface

Definition at line 242 of file TransportBuilder.php.

243  {
244  $this->prepareMessage();
245  $mailTransport = $this->mailTransportFactory->create(['message' => clone $this->message]);
246  $this->reset();
247 
248  return $mailTransport;
249  }

◆ prepareMessage()

prepareMessage ( )
protected

Prepare message.

Returns
$this
Exceptions
LocalizedExceptionif template type is unknown

Definition at line 283 of file TransportBuilder.php.

284  {
285  $template = $this->getTemplate();
286  $body = $template->processTemplate();
287  switch ($template->getType()) {
289  $this->message->setBodyText($body);
290  break;
291 
293  $this->message->setBodyHtml($body);
294  break;
295 
296  default:
297  throw new LocalizedException(
298  new Phrase('Unknown template type')
299  );
300  }
301  $this->message->setSubject(html_entity_decode($template->getSubject(), ENT_QUOTES));
302  return $this;
303  }
$template
Definition: export.php:12

◆ reset()

reset ( )
protected

Reset object state

Returns
$this

Definition at line 256 of file TransportBuilder.php.

257  {
258  $this->message = $this->messageFactory->create();
259  $this->templateIdentifier = null;
260  $this->templateVars = null;
261  $this->templateOptions = null;
262  return $this;
263  }

◆ setFrom()

setFrom (   $from)

Set mail from address

Parameters
string | array$from
Returns
$this

Definition at line 182 of file TransportBuilder.php.

183  {
184  $result = $this->_senderResolver->resolve($from);
185  $this->message->setFrom($result['email'], $result['name']);
186  return $this;
187  }

◆ setReplyTo()

setReplyTo (   $email,
  $name = null 
)

Set Reply-To Header

Parameters
string$email
string | null$name
Returns
$this

Definition at line 170 of file TransportBuilder.php.

171  {
172  $this->message->setReplyTo($email, $name);
173  return $this;
174  }
$email
Definition: details.phtml:13
if(!isset($_GET['name'])) $name
Definition: log.php:14

◆ setTemplateIdentifier()

setTemplateIdentifier (   $templateIdentifier)

Set template identifier

Parameters
string$templateIdentifier
Returns
$this

Definition at line 195 of file TransportBuilder.php.

196  {
197  $this->templateIdentifier = $templateIdentifier;
198  return $this;
199  }

◆ setTemplateModel()

setTemplateModel (   $templateModel)

Set template model

Parameters
string$templateModel
Returns
$this

Definition at line 207 of file TransportBuilder.php.

208  {
209  $this->templateModel = $templateModel;
210  return $this;
211  }

◆ setTemplateOptions()

setTemplateOptions (   $templateOptions)

Set template options

Parameters
array$templateOptions
Returns
$this

Definition at line 231 of file TransportBuilder.php.

232  {
233  $this->templateOptions = $templateOptions;
234  return $this;
235  }

◆ setTemplateVars()

setTemplateVars (   $templateVars)

Set template vars

Parameters
array$templateVars
Returns
$this

Definition at line 219 of file TransportBuilder.php.

220  {
221  $this->templateVars = $templateVars;
222  return $this;
223  }

Field Documentation

◆ $_senderResolver

$_senderResolver
protected

Definition at line 87 of file TransportBuilder.php.

◆ $mailTransportFactory

$mailTransportFactory
protected

Definition at line 92 of file TransportBuilder.php.

◆ $message

$message
protected

Definition at line 80 of file TransportBuilder.php.

◆ $objectManager

$objectManager
protected

Definition at line 73 of file TransportBuilder.php.

◆ $templateFactory

$templateFactory
protected

Definition at line 66 of file TransportBuilder.php.

◆ $templateIdentifier

$templateIdentifier
protected

Definition at line 31 of file TransportBuilder.php.

◆ $templateModel

$templateModel
protected

Definition at line 38 of file TransportBuilder.php.

◆ $templateOptions

$templateOptions
protected

Definition at line 52 of file TransportBuilder.php.

◆ $templateVars

$templateVars
protected

Definition at line 45 of file TransportBuilder.php.

◆ $transport

$transport
protected

Definition at line 59 of file TransportBuilder.php.


The documentation for this class was generated from the following file: