title: Customizing Email Verification Notification
body: <p>I have a project requirement whereby we wish to send the email validation messages from SendGrid. To this end, I've overridden the <strong>sendEmailVerificationNotification</strong> in <strong>App\User</strong></p>
  
  <pre><code>public function sendEmailVerificationNotification()
      {
          $this-&gt;notify(new \App\Notifications\SendGridEmailNotifications);
      }
  </code></pre>
  
  <p>And generated a notification class:</p>
  
  <pre><code>namespace App\Notifications;
  
  use Illuminate\Bus\Queueable;
  use Illuminate\Notifications\Notification;
  use Illuminate\Contracts\Queue\ShouldQueue;
  use Illuminate\Notifications\Messages\MailMessage;
  
  use Illuminate\Support\Carbon;
  use Illuminate\Support\Facades\URL;
  use Illuminate\Support\Facades\Lang;
  use Illuminate\Support\Facades\Config;
  use Log;
  
  class SendGridEmailNotifications extends Notification
  {
      use Queueable;
  
      public static $toMailCallback;
  
      /**
       * 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'];
      }
  
      /**
       * Get the mail representation of the notification.
       *
       * @param  mixed  $notifiable
       * @return \Illuminate\Notifications\Messages\MailMessage
       */
      public function toMail($notifiable)
      {
  
  
          /* Send via SendGrid. */
  
          //Array of variables for SendGrid.
          $payload = array();
  
          $this-&gt;callSendGridAPI('mail/send', 'POST', $payload);
  
          /*
          return (new MailMessage)
                      -&gt;line('The introduction to the notification.')
                      -&gt;action('Notification Action', url('/'))
                      -&gt;line('Thank you for using our application!');
  
          */
  
          return true;
      }
  
      /**
       * Get the verification URL for the given notifiable.
       *
       * @param  mixed  $notifiable
       * @return string
       */
      protected function verificationUrl($notifiable)
      {
          return URL::temporarySignedRoute(
              'verification.verify',
              Carbon::now()-&gt;addMinutes(Config::get('auth.verification.expire', 60)),
              ['id' =&gt; $notifiable-&gt;getKey()]
          );
      }
  
      /**
       * Get the array representation of the notification.
       *
       * @param  mixed  $notifiable
       * @return array
       */
      public function toArray($notifiable)
      {
          return [
              //
          ];
      }
  </code></pre>
  
  <p>My issues is that the process assumes a return of type MailMessage to be sent later via the MailChannel. However, if I remove the 'via' e.g.</p>
  
  <pre><code>public function via($notifiable)
      {
          return;
      }
  </code></pre>
  
  <p>Then the class is not run at all and nothing happens. If I leave the 'mail' in place, I hit an error in MailChannel as obviously not MailMessage is being returned here.</p>
  
  <p>In short, how can I configure this notification to simply hit the SendGrid API and then quit? Can I define a 'null' or dead-end channel?</p>
  
  <p>Thank you!</p>