public static function BeforeSendMail($arMessageFields) { // ADD ADDITIONAL HEADERS $postingID = self::ExtractPostingID($arMessageFields); if ($postingID <= 0) { return $arMessageFields; } $dbActivity = CAllCrmActivity::GetList(array(), array('=TYPE_ID' => CCrmActivityType::Email, '=ASSOCIATED_ENTITY_ID' => $postingID, 'CHECK_PERMISSIONS' => 'N'), false, false, array('SETTINGS'), array()); $arActivity = $dbActivity ? $dbActivity->Fetch() : null; if (!$arActivity) { return $arMessageFields; } $settings = isset($arActivity['SETTINGS']) && is_array($arActivity['SETTINGS']) ? $arActivity['SETTINGS'] : array(); $messageHeaders = isset($settings['MESSAGE_HEADERS']) ? $settings['MESSAGE_HEADERS'] : array(); if (empty($messageHeaders)) { return $arMessageFields; } $header = isset($arMessageFields['HEADER']) ? $arMessageFields['HEADER'] : ''; $eol = CEvent::GetMailEOL(); foreach ($messageHeaders as $headerName => &$headerValue) { if (strlen($header) > 0) { $header .= $eol; } $header .= $headerName . ': ' . $headerValue; } unset($headerValue); $arMessageFields['HEADER'] = $header; return $arMessageFields; }