title = $title; $this->content = $content; $this->channels = $channels; } public function via($notifiable): array { return $this->channels; } public function toMail($notifiable): MailMessage { $emailAddress = config('mail.from.address'); $atSignPosition = strpos($emailAddress, '@'); if ($atSignPosition !== false) { $domain = substr($emailAddress, $atSignPosition + 1); $emailAddress = 'no-reply@'.$domain; } return (new MailMessage) ->from($emailAddress) ->subject($this->title) ->markdown('mail.custom', ['content' => $this->content]); } public function toCustom($notifiable): array { return [ 'title' => $this->title, 'content' => $this->content, ]; } public function toTelegram($notifiable): TelegramMessage { return TelegramMessage::create() ->token(sysConfig('telegram_token')) ->content($this->content); } public function toBark($notifiable): array { return [ 'title' => $this->title, 'content' => $this->content, 'group' => trans('common.bark.custom'), 'icon' => asset('assets/images/notification/custom.png'), 'sound' => 'newmail', 'url_type' => 'markdown', ]; } }