_objectManager = ObjectManager::getInstance(); $this->_escaper = $escaper; $this->_inlineTranslation = $inlineTranslation; $this->_transportBuilder = $transportBuilder; $this->_urlInterface = $urlInterface; $this->_messageManager = $messageManager; parent::__construct($context, $data); } public function execute() { $data = $this->getRequest()->getPostValue(); if(!empty($data)) { $scopeConfig = $this->_objectManager->create('\Magento\Framework\App\Config\ScopeConfigInterface'); $email_contact = $scopeConfig->getValue('trans_email/ident_general/email',\Magento\Store\Model\ScopeInterface::SCOPE_STORE); $this->_inlineTranslation->suspend(); $sender = [ "name" => $this->_escaper->escapeHtml($data["fullname"]), "email" => $this->_escaper->escapeHtml($data["email"]) ]; $transport = $this->_transportBuilder ->setTemplateIdentifier('email_asset_complain_template') ->setTemplateOptions( [ 'area' => \Magento\Framework\App\Area::AREA_FRONTEND, 'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID, ] ) ->setTemplateVars([ 'title' => $this->getData("complain_title"), 'gender' => $data["gender"], 'fullname' => $data["fullname"], 'email' => $data["email"], 'phone' => $data["phone"], 'company' => $data["company"], 'invoice' => $data['invoice'], 'article' => $data['article'], 'customer_number' => $data['customer_number'], 'reason' => $data['reason'], 'opinion' => $data["opinion"] ]) ->setFrom($sender) ->addTo($email_contact) ->getTransport(); $transport->sendMessage(); $this->_inlineTranslation->resume(); $this->_messageManager->addSuccess(__("Thanks you. We'll respond to you very soon.")); } } function getAssetUrl($asset) { $assetRepository = $this->_objectManager->get('Magento\Framework\View\Asset\Repository'); return $assetRepository->createAsset($asset)->getUrl(); } }