2017-05-08 42 views
0
var notifier = require('mail-notifier'); 
    var imap = { 
      username: "siddharthsogani1", 
      password: "MYGMAILPASSWORD", 
      host: "imap.gmail.com", 
      port: 993, // imap port 
      secure: true // use secure connection 
    }; 

notifier(imap).on('mail',function(mail){console.log(mail);}).start(); 

我試圖聽我的Gmail收件箱中的新郵件事件。我正在使用node mail-notifier2模塊來執行此操作(如上面的代碼片段所示)。但是,我無法驗證。當使用節點收聽新郵件事件時,imap證書不起作用郵件 - notifier2模塊

當我使用上面的代碼時,我得到錯誤:'uncaughtException:超時使用服務器進行身份驗證',當我傳遞tls:true在imap對象時,我得到未捕獲的異常:'uncaughtException:證書中的自簽名證書鏈'。請讓我知道我錯了,我該怎麼做才能做到這一點?

+0

由於您正在使用NodeJS,因此請嘗試[NodeJS Quickstart for Gmail](https://developers.google.com/gmail/api/quickstart/) nodejs)並遵循OAuth流程。關於錯誤,請查看此[github論壇](https://github.com/request/request/issues/2061),其中建議的備選方案是a)在您的負載平衡器 處進行SSL終止b)使用免費證書。 – noogui

+0

@noogui非常感謝! github論壇幫助:) –

回答

0

此問題已得到解決在這個論壇:https://github.com/request/request/issues/2061

由於回答的關鍵是要設置 process.env.NODE_TLS_REJECT_UNAUTHORIZED =「0」; 由於假SSL驗證可用於檢查客戶端和服務器通信