merchantResolver = $merchantResolver; } public function send($params = []) { $merchantCurrent = $this->merchantResolver->getCurrent(); $merchantConfigEmailFrom = $this->settingSolver->getSettingValue( $merchantCurrent, MerchantSettingDefinition::SETTING_EMAIL_FROM ); $emailFrom = (isset($params[self::FROM_EMAIL]) && $params[self::FROM_EMAIL] && strlen( $params[self::FROM_EMAIL] )) ? $params[self::FROM_EMAIL] : $merchantConfigEmailFrom; $merchantConfigEmailFromName = $this->settingSolver->getSettingValue( $merchantCurrent, MerchantSettingDefinition::SETTING_EMAIL_FROM_NAME ); $emailFromName = isset($params[self::FROM_NAME]) ?? $merchantConfigEmailFromName; $merchantConfigEmailSubjectPrefix = $this->settingSolver->getSettingValue( $merchantCurrent, MerchantSettingDefinition::SETTING_EMAIL_SUBJECT_PREFIX ); $emailSubjectPrefix = isset($params[self::SUBJECT_PREFIX]) ?? $merchantConfigEmailSubjectPrefix; if ($emailSubjectPrefix && strlen($emailSubjectPrefix)) { $emailSubjectPrefix .= ' '; } return parent::send( array_merge($params, [ self::FROM_EMAIL => $emailFrom, self::FROM_NAME => $emailFromName, self::SUBJECT_PREFIX => $emailSubjectPrefix ]) ); } }