Skip to content

Commit 5ec0e4d

Browse files
Merge pull request #2122 from magento-chaika/Chaika_2.2.4_PR5
Fixed issues: - MAGETWO-86670: New user created from admin for non default store view receives Welcome Email from default store view
2 parents 95626aa + 1bc491d commit 5ec0e4d

File tree

3 files changed

+142
-78
lines changed

3 files changed

+142
-78
lines changed

app/code/Magento/Customer/Model/EmailNotification.php

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33
* Copyright © Magento, Inc. All rights reserved.
44
* See COPYING.txt for license details.
55
*/
6+
67
namespace Magento\Customer\Model;
78

89
use Magento\Framework\App\Config\ScopeConfigInterface;
10+
use Magento\Framework\App\ObjectManager;
11+
use Magento\Framework\Mail\Template\SenderResolverInterface;
912
use Magento\Store\Model\StoreManagerInterface;
1013
use Magento\Framework\Mail\Template\TransportBuilder;
1114
use Magento\Customer\Helper\View as CustomerViewHelper;
@@ -90,28 +93,36 @@ class EmailNotification implements EmailNotificationInterface
9093
*/
9194
private $scopeConfig;
9295

96+
/**
97+
* @var SenderResolverInterface
98+
*/
99+
private $senderResolver;
100+
93101
/**
94102
* @param CustomerRegistry $customerRegistry
95103
* @param StoreManagerInterface $storeManager
96104
* @param TransportBuilder $transportBuilder
97105
* @param CustomerViewHelper $customerViewHelper
98106
* @param DataObjectProcessor $dataProcessor
99107
* @param ScopeConfigInterface $scopeConfig
108+
* @param SenderResolverInterface|null $senderResolver
100109
*/
101110
public function __construct(
102111
CustomerRegistry $customerRegistry,
103112
StoreManagerInterface $storeManager,
104113
TransportBuilder $transportBuilder,
105114
CustomerViewHelper $customerViewHelper,
106115
DataObjectProcessor $dataProcessor,
107-
ScopeConfigInterface $scopeConfig
116+
ScopeConfigInterface $scopeConfig,
117+
SenderResolverInterface $senderResolver = null
108118
) {
109119
$this->customerRegistry = $customerRegistry;
110120
$this->storeManager = $storeManager;
111121
$this->transportBuilder = $transportBuilder;
112122
$this->customerViewHelper = $customerViewHelper;
113123
$this->dataProcessor = $dataProcessor;
114124
$this->scopeConfig = $scopeConfig;
125+
$this->senderResolver = $senderResolver ?: ObjectManager::getInstance()->get(SenderResolverInterface::class);
115126
}
116127

117128
/**
@@ -230,6 +241,7 @@ private function passwordReset(CustomerInterface $customer)
230241
* @param int|null $storeId
231242
* @param string $email
232243
* @return void
244+
* @throws \Magento\Framework\Exception\MailException
233245
*/
234246
private function sendEmailTemplate(
235247
$customer,
@@ -243,10 +255,17 @@ private function sendEmailTemplate(
243255
if ($email === null) {
244256
$email = $customer->getEmail();
245257
}
258+
259+
/** @var array $from */
260+
$from = $this->senderResolver->resolve(
261+
$this->scopeConfig->getValue($sender, 'store', $storeId),
262+
$storeId
263+
);
264+
246265
$transport = $this->transportBuilder->setTemplateIdentifier($templateId)
247266
->setTemplateOptions(['area' => 'frontend', 'store' => $storeId])
248267
->setTemplateVars($templateParams)
249-
->setFrom($this->scopeConfig->getValue($sender, 'store', $storeId))
268+
->setFrom($from)
250269
->addTo($email, $this->customerViewHelper->getCustomerName($customer))
251270
->getTransport();
252271

0 commit comments

Comments
 (0)