Остановить отправку электронной почты

Я работаю над надстройкой для Thunderbird и хотел бы иметь возможность отменить отправку электронной почты при определенных условиях. У меня есть следующий код, который позволяет мне выполнить код до отправки электронного письма, но я не знаю, как его остановить.

document.getElementById("msgcomposeWindow").addEventListener( "compose-send-message", function(){
  var msgcomposeWindow = document.getElementById( "msgcomposeWindow" );
  var msg_type = msgcomposeWindow.getAttribute( "msgtype" );

  // do not continue unless this is an actual send event
  if( !(msg_type == nsIMsgCompDeliverMode.Now || msg_type == nsIMsgCompDeliverMode.Later) )
      return;


  alert('Sending Message...');//works fine
  if(true){ //eventually this would have more logic...
    //stop email
  }else{
    //let email go
  }
}, true );

Что мне нужно сделать, чтобы остановить письмо?


person Daniel    schedule 20.09.2012    source источник


Ответы (1)


Чтобы предотвратить отправку электронного письма, вам нужно предотвратить всплывающее событие:

function send_event_handler( evt ) {
    if(shouldStopEmail) {
        evt.preventDefault();
        return false;
    }
}

window.addEventListener( "compose-send-message", send_event_handler, true );
person speedball2001    schedule 20.09.2012