}

// выберем все купленные товары за последний месяц, теми пользователями которые откладывали товар
$dbBasketItems = CSaleBasket::GetList(array("NAME" => "ASC","ID" => "ASC"),
    array("LID" => SITE_ID,"DELAY" => 'N','>DATE_INSERT'=>$date_mount,'USER_ID'=>$user_ids),
    false,false, array("ID", "PRODUCT_ID",'USER_ID')
);
while ($arItems = $dbBasketItems->Fetch())
{
    $users_by_products[$arItems['USER_ID']][] = $arItems['PRODUCT_ID'];
}

// выбираем пользователей для рассылки
$user_ids_filter = implode('|',$user_ids);
$res_user = Cuser::GetList(($by="personal_country"), ($order="desc"),
                            array('ID'=>$user_ids_filter),
                            array('FIELDS'=>(array('ID','NAME','LAST_NAME','EMAIL'))));
while($row_user = $res_user->fetch()){
    // соберем финальный массив продуктов для пользователя, что бы не было пересечений отложен и уже был куплен
    $actual_product = actual_prod($users_delay_products[$row_user['ID']],$users_by_products[$row_user['ID']]);
    $actual_product = array_unique($actual_product);
    foreach($actual_product as $p){
        $actual_product_name[] = $products_names[$p];
    }
    $row_user['PRODUCTS'] = $actual_product_name;
    $users_array[$row_user['ID']] = $row_user;
}

/**
 * отправка писем. предположим что есть почтовый шаблон, отправляем по нему. так же сам список товаров,
 * сейчас будет через запятую имена. но можно доработать под нужный красивый вид