TransportBuilderByStore.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Mail\Template;
  7. use Magento\Framework\Mail\MessageInterface;
  8. /**
  9. * Class TransportBuilderByStore
  10. *
  11. * @deprecated 102.0.1 The ability to set From address based on store is now available
  12. * in the \Magento\Framework\Mail\Template\TransportBuilder class
  13. * @see \Magento\Framework\Mail\Template\TransportBuilder::setFromByStore
  14. */
  15. class TransportBuilderByStore
  16. {
  17. /**
  18. * Message.
  19. *
  20. * @var \Magento\Framework\Mail\Message
  21. */
  22. protected $message;
  23. /**
  24. * Sender resolver.
  25. *
  26. * @var \Magento\Framework\Mail\Template\SenderResolverInterface
  27. */
  28. private $senderResolver;
  29. /**
  30. * @param MessageInterface $message
  31. * @param SenderResolverInterface $senderResolver
  32. */
  33. public function __construct(
  34. MessageInterface $message,
  35. SenderResolverInterface $senderResolver
  36. ) {
  37. $this->message = $message;
  38. $this->senderResolver = $senderResolver;
  39. }
  40. /**
  41. * Set mail from address by store.
  42. *
  43. * @param string|array $from
  44. * @param string|int $store
  45. *
  46. * @return $this
  47. */
  48. public function setFromByStore($from, $store)
  49. {
  50. $result = $this->senderResolver->resolve($from, $store);
  51. $this->message->setFromAddress($result['email'], $result['name']);
  52. return $this;
  53. }
  54. }