title: Advanced notification system (notify only about unread messages)
body: <p>I'm building an application based on Laravel 5.6 with live chat functionality (uses Pushier).
  I need to notify Users via email about new messages. The problem is that I should not send notification each time as message sent because user can be online and receive this message. Also if theme were 20 messages in a minute I do not need to send 20 emails, just one with "you have new messages".</p>
  
  <p>My idea is:
  1. on each message I have a Laravel Notification "Message received". If user online - notification deletes. So in notifications table I have notifications about unreceived messages.
  2. I should run Task (e.g. each 15 min) and if there Notification(s) for User - sent email "You have unread messages". 
  3. Now I have the problem that if user won't read notifications during 15 min - he will receive email again.. So I need to store in some table (or expand current notification table with mark) data about Notifications that already was emailed.</p>
  
  <p>Is my approach correct?
  Thanks! </p>