drpogkqqi536984960 2017-12-06 22:02
浏览 232

如何在laravel 5.5中监听messageSent事件

Hi I am a beginner for events and listeners in laravel. So please explain me how to achieve this :

Aim :

Send an email to user. And know whether email is sent or not.

My Understanding :

Laravel has in-built event Illuminate\Mail\Events\MessageSent to fire after email is sent and I have to write a listener to listen the event.

What I did :

To send email :

Mail::to($receiverAddress)->send(new SendNewUserPassword($content));

This is working fine. Able to send email to user successfully.

To listen messageSent event, I created this listener :

<?php

namespace App\Listeners;

use Illuminate\Mail\Events\MessageSent;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

class LogSentMessage
{
    /**
     * Create the event listener.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Handle the event.
     *
     * @param  MessageSent  $event
     * @return void
     */
    public function handle(MessageSent $event)
    {
        return $event->message;
    }
}  

To Register Event :

protected $listen = [
    'App\Events\Event' => [
        'App\Listeners\EventListener',
    ],

    'Illuminate\Mail\Events\MessageSent' => [
        'App\Listeners\LogSentMessage',
    ],
];

In Controller :

event(new MessageSent())  

Please guide me how to return the message handled in Listener from controller. If my above approach is wrong explain me how to achieve it. This I am using for an api, so if sending mail is success/fail I want to know.

  • 写回答

3条回答 默认 最新

  • drphfy1198 2017-12-06 23:17
    关注

    In your EventServiceProvider add your event and listener

    protected $listen = [
           'Illuminate\Notifications\Events\NotificationSent' => [
           'App\Listeners\YourListenerClass',
        ],
    ]; 
    

    and in YourListnerClass

    public function handle(NotificationSent $event)
    {
    
     //access your $event data here 
     //which includes notification details too
    
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#网络安全#的问题:求ensp的网络安全,不要步骤要完成版文件
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥20 使用Photon PUN2解决游戏得分同步的问题
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM