Понадобилось выполнить проверку подписан ли пользователь на конкретную рассылку. Подразумевается, что пользователь уже авторизован.
Дополнительно можно получить расширенную информацию о рассылках, изменив фильтр.
<?
\Bitrix\Main\Loader::includeModule('sender');
$news_suscription_id = 4;//Ид подписки которую проверяем
$user_mail = $USER->GetEmail();
$already_subscribe = false; //Subscribe status
// all subscribed mailings ids for current user
$mailingListId = \Bitrix\Sender\MailingSubscriptionTable::getSubscriptionList(array(
'select' => array("MAILING_ID"),
'filter' => array(
'=CONTACT.EMAIL' => trim($user_mail),
'=MAILING.ACTIVE' => 'Y',
'=MAILING.SITE_ID' => "s1",
'MAILING_ID' => $news_suscription_id
)
))->FetchAll();
$mailingListId = array_unique($mailingListId);
if ($mailingListId)
{
$already_subscribe = true;
}
?>