много реализаций придумать можно. Банальный и простой пример
- Когда человек нажимает кнопочку "отправить" - идет проверка текста на наличие паттерна "@Nichname,"
- Если есть, то
1) Выбрать емаил юзера из патерна выше
2) Добавить "flag" в DB юзера, что у него есть непрочитанное сообщение (можно как каунтер, к примеру что происходит в соц. сетях). А так же добавить всю мета-инфу о сообщении.
3) Отправить емаил и инфу о сообщении
4) Когда юзер обновляет страницу или заходит в профиль, то идет проверка ДБ на наличие поставленного флага. Если да, узкаывает на наличие оповещения и достает сохраненную мета-инфу по айди этого запроса.
5) при прочтении оповещений флаг обнуляется. И так по кругу.
Это просто что первое в голову пришло. Как уже писал выше - реализаций можно сделать десятки если хорошо подумать)