|
11 | 11 | use Magento\Framework\App\TemplateTypesInterface;
|
12 | 12 | use Magento\Framework\Exception\LocalizedException;
|
13 | 13 | use Magento\Framework\Mail\MessageInterface;
|
| 14 | +use Magento\Framework\Mail\MessageInterfaceFactory; |
14 | 15 | use Magento\Framework\Mail\TransportInterfaceFactory;
|
15 | 16 | use Magento\Framework\ObjectManagerInterface;
|
16 | 17 | use Magento\Framework\Phrase;
|
@@ -88,25 +89,36 @@ class TransportBuilder
|
88 | 89 | */
|
89 | 90 | protected $mailTransportFactory;
|
90 | 91 |
|
| 92 | + /** |
| 93 | + * @var \Magento\Framework\Mail\MessageInterfaceFactory |
| 94 | + */ |
| 95 | + private $messageFactory; |
| 96 | + |
91 | 97 | /**
|
92 | 98 | * @param FactoryInterface $templateFactory
|
93 | 99 | * @param MessageInterface $message
|
94 | 100 | * @param SenderResolverInterface $senderResolver
|
95 | 101 | * @param ObjectManagerInterface $objectManager
|
96 | 102 | * @param TransportInterfaceFactory $mailTransportFactory
|
| 103 | + * @param MessageInterfaceFactory $messageFactory |
| 104 | + * |
| 105 | + * @SuppressWarnings(PHPMD.UnusedFormalParameter) |
97 | 106 | */
|
98 | 107 | public function __construct(
|
99 | 108 | FactoryInterface $templateFactory,
|
100 | 109 | MessageInterface $message,
|
101 | 110 | SenderResolverInterface $senderResolver,
|
102 | 111 | ObjectManagerInterface $objectManager,
|
103 |
| - TransportInterfaceFactory $mailTransportFactory |
| 112 | + TransportInterfaceFactory $mailTransportFactory, |
| 113 | + MessageInterfaceFactory $messageFactory = null |
104 | 114 | ) {
|
105 | 115 | $this->templateFactory = $templateFactory;
|
106 |
| - $this->message = $message; |
107 | 116 | $this->objectManager = $objectManager;
|
108 | 117 | $this->_senderResolver = $senderResolver;
|
109 | 118 | $this->mailTransportFactory = $mailTransportFactory;
|
| 119 | + $this->messageFactory = $messageFactory ?: \Magento\Framework\App\ObjectManager::getInstance() |
| 120 | + ->get(MessageInterfaceFactory::class); |
| 121 | + $this->message = $this->messageFactory->create(); |
110 | 122 | }
|
111 | 123 |
|
112 | 124 | /**
|
@@ -242,7 +254,7 @@ public function getTransport()
|
242 | 254 | */
|
243 | 255 | protected function reset()
|
244 | 256 | {
|
245 |
| - $this->message = $this->objectManager->create(\Magento\Framework\Mail\Message::class); |
| 257 | + $this->message = $this->messageFactory->create(); |
246 | 258 | $this->templateIdentifier = null;
|
247 | 259 | $this->templateVars = null;
|
248 | 260 | $this->templateOptions = null;
|
|
0 commit comments