Cancel if condition not met, show status
You can use hook_mail_alter() for that, e.g.

function MYMODULE_mail_alter(&amp;$message) {
  if ($message['id'] == 'MYMODULE_foo' &amp;&amp; any_other_condition()) {
    $message['send'] = FALSE;        
  }
}