SenderResolver.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Email\Model\Template;
  7. class SenderResolver implements \Magento\Framework\Mail\Template\SenderResolverInterface
  8. {
  9. /**
  10. * Core store config
  11. *
  12. * @var \Magento\Framework\App\Config\ScopeConfigInterface
  13. */
  14. protected $_scopeConfig;
  15. /**
  16. * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
  17. */
  18. public function __construct(\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig)
  19. {
  20. $this->_scopeConfig = $scopeConfig;
  21. }
  22. /**
  23. * {@inheritdoc}
  24. */
  25. public function resolve($sender, $scopeId = null)
  26. {
  27. $result = [];
  28. if (!is_array($sender)) {
  29. $result['name'] = $this->_scopeConfig->getValue(
  30. 'trans_email/ident_' . $sender . '/name',
  31. \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
  32. $scopeId
  33. );
  34. $result['email'] = $this->_scopeConfig->getValue(
  35. 'trans_email/ident_' . $sender . '/email',
  36. \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
  37. $scopeId
  38. );
  39. } else {
  40. $result = $sender;
  41. }
  42. if (!isset($result['name']) || !isset($result['email'])) {
  43. throw new \Magento\Framework\Exception\MailException(__('Invalid sender data'));
  44. }
  45. return $result;
  46. }
  47. }