isSetReturnPath = (int) $scopeConfig->getValue( self::XML_PATH_SENDING_SET_RETURN_PATH, ScopeInterface::SCOPE_STORE ); $this->returnPathValue = $scopeConfig->getValue( self::XML_PATH_SENDING_RETURN_PATH_EMAIL, ScopeInterface::SCOPE_STORE ); $this->zendTransport = new Sendmail($parameters); $this->message = $message; } /** * @inheritdoc */ public function sendMessage() { try { $zendMessage = Message::fromString($this->message->getRawMessage())->setEncoding('utf-8'); if (2 === $this->isSetReturnPath && $this->returnPathValue) { $zendMessage->setSender($this->returnPathValue); } elseif (1 === $this->isSetReturnPath && $zendMessage->getFrom()->count()) { $fromAddressList = $zendMessage->getFrom(); $fromAddressList->rewind(); $zendMessage->setSender($fromAddressList->current()->getEmail()); } $this->zendTransport->send($zendMessage); } catch (\Exception $e) { throw new MailException(new Phrase($e->getMessage()), $e); } } /** * @inheritdoc */ public function getMessage() { return $this->message; } }