我正在开发一个 Laravel 5.8 API 应用程序,该应用程序需要在用户成功下订单时通知他们。订单流程有效,但我没有收到电子邮件通知。以下是我将如何使用 mailtrap 进行演示
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=**************
MAIL_PASSWORD=**************
MAIL_ENCRYPTION=tls
在订单模型中,我使用了可通知特征
<?php
namespace App;
use App\User;
use App\Product;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Model;
class Order extends Model
{
use Notifiable;
...
}
创建OrderSuccesful通知并OrderController像这样在商店方法中使用它
<?php
...
use App\Notifications\OrderSuccessful;
use App\Order;
use Illuminate\Http\Request;
class OrderController extends Controller
{
public function store(Request $request, Product $product)
{
// create order
$order = Order::create([
'user_id' => auth()->user()->id,
'product_id' => $product->id,
'barrels' => $request->barrels,
'status' => 'successful'
]);
$user = auth()->user();
// notify user of successful order
$user->notify(new OrderSuccessful($order));
return new OrderResource($order);
}
}
现在,当我成功下单时,我没有收到通知。由于我是第一次使用通知,我想知道我错过了什么。如果有人能指出这一点并告诉我如何解决它,我将不胜感激。
呼如林