Điều này sẽ làm việc.
Lớp Transportbuilderbystore đã bị từ chối trong 2.3 và sẽ sớm có trong 2.2.
Đã sửa lỗi trong Magento 2.2.7.
Khắc phục: nhà cung cấp / magento / mô-đun bán hàng / Mô hình / Đơn hàng / Email / Người gửiBuilder.php
thay thế
$this->transportBuilderByStore->setFromByStore(
$this->identityContainer->getEmailIdentity(),
$this->identityContainer->getStore()->getId()
);
với
$this->transportBuilder->setFrom(
$this->identityContainer->getEmailIdentity(),
$this->identityContainer->getStore()->getId()
);
nhà cung cấp / magento / framework / Mail / Template / TransportBuilder.php
thay thế
/**
* Set mail from address
*
* @param string|array $from
* @return $this
*/
public function setFrom($from)
{
$result = $this->_senderResolver->resolve($from);
$this->message->setFrom($result['email'], $result['name']);
return $this;
}
với
/**
* Set mail from address
*
* @param string|array $from
* @return $this
*/
public function setFrom($from, $store = null)
{
$result = $this->_senderResolver->resolve($from, $store);
$this->message->setFrom($result['email'], $result['name']);
return $this;
}
và giống như vậy, chúng ta không cần TransportBuilderByStore nữa và nó hoạt động như mong đợi.