Laravel - 在db中插入新条目时发送电子邮件?

问题描述:

我有一种情况,用户可以保存他们的搜索(它被保存在一个带有用户ID和搜索到的项目ID的表格中)。我真正想要的是每次将新项目插入数据库时​​向该用户发送一封电子邮件。例如,如果用户保存搜索PlayStation 4,我想提醒用户(通过电子邮件)关于PS4的新文章已发布。文章存储在另一个表中。Laravel - 在db中插入新条目时发送电子邮件?

目前我不知道如何开始。我一直在阅读关于事件和处理程序的官方文档,但它对我来说还不是很清楚...... 顺便说一句。我使用Laravel 5.3和Mailgun进行电子邮件。

+0

这就像使用订阅您的数据库中的某些“项目”的权利?你可以做一个选择查询来找出他们订阅的用户吗?如果是这种情况,您可以通过电子邮件发送该组用户。你必须首先设置电子邮件功能,(网络服务,安全性,访问权限等),这只是从基本的SQL角度来看。 – bonCodigo

+0

我可以,但我只需要特定项目订阅(保存搜索)的电子邮件警报。例如PS4是电子类,但我不需要所有与电子相关的文章,只是PS4。 – harunB10

这是一个完美的使用情况laravel通知

// create new notification class 
php artisan make:notification ArticlePublished 

// to edit the view run this 
php artisan vendor:publish --tag=laravel-notifications 

,然后当一个新的文章存储只添加这行代码在你的控制器存储方法:

$user->notify(new ArticlePublished); 

这里是一个关于这个伟大的视频: https://laracasts.com/series/whats-new-in-laravel-5-3/episodes/9

+1

这很有帮助。谢谢!我还需要每天或每周发送电子邮件(根据用户的选择)。但可能有内置的功能,我想我看到他们的地方... – harunB10