我正在构建一个基于Laravel 5.6的应用程序,具有实时聊天功能(使用Pushier) . 我需要通过电子邮件通知用户有关新消息的信息 . 问题是我不应该每次发送消息作为消息发送,因为用户可以在线并接收此消息 . 此外,如果主题是一分钟20条消息,我不需要发送20封电子邮件,只有一封“你有新消息” .

我的想法是:1 . 在每条消息上我都有一个Laravel Notification“Message received” . 如果用户在线 - 通知将删除 . 所以在通知表中我有关于未接收消息的通知 . 2.我应该运行任务(例如每15分钟),如果有用户通知,则发送电子邮件“你有未读消息” . 3.现在我遇到的问题是,如果用户在15分钟内不会阅读通知 - 他将再次收到电子邮件..所以我需要存储在某些表格中(或者扩展当前通知表带有标记)有关已通过电子邮件发送的通知的数据 .

我的方法是否正确?谢谢!