Дополнительные поля в почтовом уведомлении Битрикс

В шаблон добавляем наши поля:

Контактный телефон: #PHONE#
Адрес доставки: #FULL_ADDRESS#

В /bitrix/php_interface/init.php добавляем код

//-- Добавление обработчика события

AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");

//-- Сам обработчик

function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
  $arOrder = CSaleOrder::GetByID($orderID);
  
  //-- получаем телефоны и адрес
  $order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
  $phone="";
  $index = ""; 
  $country_name = "";
  $city_name = "";  
  $address = "";
  while ($arProps = $order_props->Fetch())
  {
    if ($arProps["CODE"] == "PHONE") {
       $phone = htmlspecialchars($arProps["VALUE"]);
    }
    
    if ($arProps["CODE"] == "LOCATION") {
        $arLocs = CSaleLocation::GetByID($arProps["VALUE"]);
        $country_name =  $arLocs["COUNTRY_NAME_ORIG"];
        $city_name = $arLocs["CITY_NAME_ORIG"];
    }

    if ($arProps["CODE"] == "ZIP") {
      $index = $arProps["VALUE"];   
    }

    if ($arProps["CODE"] == "ADDRESS") {
      $address = $arProps["VALUE"];
    }
    
    if ($arProps["CODE"] == "DOM") {
      $address .= ', д.'.$arProps["VALUE"];
    }
    
    if ($arProps["CODE"] == "KVARTIRA") {
      $address .= ', кв.'.$arProps["VALUE"];
    }
  }

  $full_address = $index.", ".$country_name."-".$city_name.", ".$address;

  //-- добавляем новые поля в массив результатов
  $arFields["PHONE"] =  $phone;
  $arFields["FULL_ADDRESS"] = $full_address;   
}