Сделал дурацким путем, но это лучше (для меня), чем триггеры БД.
1. Делаем форк компонента subscribe.edit.
2. Внутри component.php ищем блок:
//confirmation code from letter or confirmation form
if($_REQUEST["CONFIRM_CODE"] <> "" && $ID > 0 && empty($_REQUEST["action"]))
{
if($arSubscription["CONFIRMED"] <> "Y" && count($arWarning)==0)
{
//subscribtion confirmation
if($obSubscription->Update($ID, array("CONFIRM_CODE"=>$_REQUEST["CONFIRM_CODE"])))
$arSubscription["CONFIRMED"] = "Y";
if($obSubscription->LAST_ERROR<>"")
$arWarning[] = $obSubscription->LAST_ERROR;
$iMsg = $obSubscription->LAST_MESSAGE;
//тут делаем то, что нам нужно.
}
}
Естественно, это не будет работать, если подписку подтвердили не через компонент (например, в админке), но лично я понял, что мне оно и не нужно.