2013-02-21 48 views
0

我對smpt服務器使用simplesmpt。我想創建我的錯誤答案。例如,當用戶嘗試認證時,我想寫入「用戶不存在」或「帳戶被禁止」。我看着server.js,並找到代碼發送給客戶端這個答案。但我怎樣才能發送我的答案?NodeJS SimpleSMTP

this.client.send("535 5.7.8 Error: authentication failed: no mechanism available"); 

這是從server.js的代碼的一部分。如何從我的腳本中更改此答案並生成我自己的答案?

回答

0

如果我理解正確,您希望在用戶認證失敗時發送自定義錯誤消息。不應該需要編輯SimpleSMTP源代碼。

當創建一個簡單的SMTP服務器實例時,請將requireAuthentication設置爲true併爲authorizeUser添加事件處理函數。

示例代碼樣機:

var options = { 
    ... 
    requireAuthentication: true 
}; 


var smtp = simplesmtp.createServer(); 
smtp.listen(25); 

smtp.on("authorizeUser", function (connection, username, password, callback) { 

     // your custom asynchronous validation function 
     userIsNotAuthorized(function(isValidated){ 
      if(isValidated) 
      { 
       return callback(new Error("535 5.7.8 Error: authentication failed: no mechanism available", false); 
      } 

      callback(null, true); 

     }); 

});