title: Laravel - Send Mail in Future based on condition
body: <p>I want to send emails to various users based on the schedules they have set.</p>
  
  <p>I read about <a href="https://laracasts.com/lessons/beanstalkd-queues-with-laravel" rel="nofollow noreferrer">beanstalkd</a>, <a href="https://laravel.com/docs/5.3/queues" rel="nofollow noreferrer">queues</a> and <a href="https://laravel.com/docs/master/mail" rel="nofollow noreferrer">Delayed Message Queueing</a> and for now it looks like fitting in: </p>
  
  <pre><code>$when = Carbon::now()-&gt;addMinutes($minutes); // i can calculate minutes at this moment
  \Mail::to($user)-&gt;later($when, new \App\Mail\TestMail);
  </code></pre>
  
  <p>But i'm not quite sure on few things:</p>
  
  <ol>
  <li><p>User can cancel a future schedule. In that case how do i cancel an email that's suppose to send in future. Can i set condition somewhere that gets checked before sending the actual email? Tried <code>return false</code> on <code>handle</code> method of <code>\App\Mail\TestMail</code> and it started throwing error</p></li>
  <li><p>Am i using the right approach. I also read about <a href="https://laravel.com/docs/5.3/scheduling" rel="nofollow noreferrer">Scheduler</a> but i don't get how i am going to cancel future emails(if they need to be)</p></li>
  </ol>