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 添加邮件模板

  • 相关阅读:
    (BFS 二叉树) leetcode 515. Find Largest Value in Each Tree Row
    (二叉树 BFS) leetcode513. Find Bottom Left Tree Value
    (二叉树 BFS DFS) leetcode 104. Maximum Depth of Binary Tree
    (二叉树 BFS DFS) leetcode 111. Minimum Depth of Binary Tree
    (BFS) leetcode 690. Employee Importance
    (BFS/DFS) leetcode 200. Number of Islands
    (最长回文子串 线性DP) 51nod 1088 最长回文子串
    (链表 importance) leetcode 2. Add Two Numbers
    (链表 set) leetcode 817. Linked List Components
    (链表 双指针) leetcode 142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/polax/p/15088291.html
Copyright © 2011-2022 走看看