- Модуль: mail
- Путь к файлу: ~/bitrix/modules/mail/classes/general/mail.php
- Класс: CAllMailMessage
- Вызов: CAllMailMessage::GetSpamRating
static function GetSpamRating($msgid, $arRow=false)
{
global $DB;
$res = null;
if(!is_array($arRow))
$res = $DB->Query("SELECT SPAM_RATING, SPAM_LAST_RESULT, HEADER, BODY_HTML, BODY FROM b_mail_message WHERE ID=".intval($msgid));
else
$ar = $arRow;
if(is_array($arRow) || $res && ($ar = $res->Fetch()))
{
if (empty($ar['FOR_SPAM_TEST']))
{
$ar['FOR_SPAM_TEST'] = sprintf('%s %s', $ar['HEADER'], $ar['BODY_HTML'] ?: $ar['BODY'] );
}
if($ar["SPAM_LAST_RESULT"]=="Y")
return $ar["SPAM_RATING"];
$arSpam = CMailFilter::GetSpamRating($ar["FOR_SPAM_TEST"]);
$num = Round($arSpam["RATING"], 4);
$DB->Query("UPDATE b_mail_message SET SPAM_RATING=".$num.", SPAM_LAST_RESULT='Y', SPAM_WORDS='".$DB->ForSql($arSpam["WORDS"], 255)."' WHERE ID=".intval($msgid));
return $num;
}
}