zoukankan      html  css  js  c++  java
  • Laravel 5.8 做个知乎 16 —— 用户关注 发送自定义的邮件通知

    1 新建频道

    1.1 appChannelsSendcloudChannel.php

    <?php
    /**
     * Created by PhpStorm.
     * User: SUN
     * Date: 2021/8/1
     * Time: 3:42
     */
    namespace AppChannels;
    
    use IlluminateNotificationsNotification;
    
    /**
     * 自定义channels
     */
    class SendcloudChannel
    {
        public function send($notifiable, Notification $notification)
        {
            $message = $notification->toSendcloud($notifiable,$notification);
        }
        
    }

    2 添加频道

    2.1 appNotificationsNewUserFollowNotinfication.php

    <?php
    
    namespace AppNotifications;
    
    
    use IlluminateBusQueueable;
    use IlluminateNotificationsNotification;
    use IlluminateContractsQueueShouldQueue;
    use IlluminateNotificationsMessagesMailMessage;
    use IlluminateSupportFacadesAuth;
    use IlluminateSupportFacadesMail;
    use NauxMailSendCloudTemplate;
    use AppChannelsSendcloudChannel;
    
    
    
    
    
    class NewUserFollowNotinfication extends Notification
    {
        use Queueable;
    
        /**
         * Create a new notification instance.
         *
         * @return void
         */
        public function __construct()
        {
            //
        }
    
        /**
         * Get the notification's delivery channels.
         *
         * @param  mixed  $notifiable
         * @return array
         */
        public function via($notifiable)
        {
            //        return ['mail'];   //邮件通知
            return ['database',SendcloudChannel::class]; //站内信
        }                      
        
        
        
        
      
        
        public function toSendcloud($notifiable)
        {
            //模板地址
            //https://www.sendcloud.net/email/#/sendAround/template
            $data = [
              'url' => url(config('app.url')),
              'name' => Auth::guard('api')->user()->name
            ];
            
            //test_template 邮件模板
            $template = new SendCloudTemplate('zhihu_app_new_user_follow',$data);
            Mail::raw($template,function ($message) use ($notifiable){
                $message->from(env('SEND_CLOUD_FROM'),'知乎管理员');
                $message->to($notifiable->email);
            });
        
        
        
            
            
            
        }
        
        public function toDatabase($notifiable)
        {
            return [
              'name'=> Auth::guard('api')->user()->name,
            
            ];
        }
    
        /**
         * Get the mail representation of the notification.
         *
         * @param  mixed  $notifiable
         * @return IlluminateNotificationsMessagesMailMessage
         */
        public function toMail($notifiable)
        {
            return (new MailMessage)
                        ->line('The introduction to the notification.')
                        ->action('Notification Action', url('/'))
                        ->line('Thank you for using our application!');
        }
    
        /**
         * Get the array representation of the notification.
         *
         * @param  mixed  $notifiable
         * @return array
         */
        public function toArray($notifiable)
        {
            return [
                //
            ];
        }
    }
    View Code

    3 添加邮件模板

  • 相关阅读:
    2017.4.18下午
    2017.4.18上午
    2017.4.17上午
    2017.4.14下午
    2017.4.14上午
    4.17下午
    4.17上午
    4.13下午
    4.13上午
    4.10上午
  • 原文地址:https://www.cnblogs.com/polax/p/15088291.html
Copyright © 2011-2022 走看看