代码之家  ›  专栏  ›  技术社区  ›  Daniel

停止发送电子邮件

  •  2
  • Daniel  · 技术社区  · 13 年前

    我正在为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 );
    

    我需要做什么才能停止电子邮件?

    1 回复  |  直到 13 年前
        1
  •  4
  •   speedball2001    13 年前

    为了防止电子邮件被发送,您需要防止事件冒泡:

    function send_event_handler( evt ) {
        if(shouldStopEmail) {
            evt.preventDefault();
            return false;
        }
    }
    
    window.addEventListener( "compose-send-message", send_event_handler, true );
    
    推荐文章