Пример #1
0
 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;
 }