code: public function sendAvailabilityAlertMail(FosAvailabilityAlertSubscription $fosAvailabilityAlertSubscription)
      {
          $availabilityAlertSubscriptionTransfer = $this->getAvailabilityAlertSubscriptionTransfer($fosAvailabilityAlertSubscription);
          $localeTransfer = $this->getLocaleTransfer($fosAvailabilityAlertSubscription);
          $productAbstractTransfer = $this->getProductAbstractTransfer($fosAvailabilityAlertSubscription);
          $productUrlTransfer = $this->productFacade->getProductUrl($productAbstractTransfer);
          $priceProductTransfer = $productAbstractTransfer->getPrices();
  
          /** @var \Generated\Shared\Transfer\LocalizedUrlTransfer $localizedUrlTransfer */
          foreach ($productUrlTransfer->getUrls() as $localizedUrlTransfer) {
              if ($localizedUrlTransfer->getLocale()->getIdLocale() == $localeTransfer->getIdLocale()) {
                  $currentLocaleProductUrlTransfer = $localizedUrlTransfer;
  
                  break;
              }
          }
  
          /** @var \Generated\Shared\Transfer\PriceProductTransfer $transfer */
          foreach ($priceProductTransfer as $transfer) {
              /** @var \Generated\Shared\Transfer\MoneyValueTransfer $moneyValueTransfer */
              $moneyValueTransfer = $transfer->getMoneyValue();
  
              break;
          }
  
          $mailTransfer = new MailTransfer();
          $mailTransfer->setAvailabilityAlertSubscription($availabilityAlertSubscriptionTransfer);
          $mailTransfer->setLocale($localeTransfer);
          $mailTransfer->setProductAbstract($productAbstractTransfer);
          $mailTransfer->setType(AvailabilityAlertMailTypePlugin::MAIL_TYPE);
          $mailTransfer->setLocalizedUrl($currentLocaleProductUrlTransfer);
          $mailTransfer->setMoneyValue($moneyValueTransfer);
  
          $this->mailFacade->handleMail($mailTransfer);
      }
docs: @param \Orm\Zed\AvailabilityAlert\Persistence\FosAvailabilityAlertSubscription $fosAvailabilityAlertSubscription
  
  @return void