我有一個非常簡單的機器人來收集和解析網頁。它位於網路中的一台電腦上,位於 NAT 後面(因此,例如,我無法設定 Web 伺服器)。我沒有設定 MTA。機器人應該通知我有關已解析頁面的變更(一兩個小時一次,通知一個收件人)。如何才能做到這一點?
是否有任何 RESTful 電子郵件網關,例如 SMS 網關?
我可以為他設定一個 Twitter 帳戶並用於curl
發布狀態/DM,但這是一個非常臨時的機器人。
UPD:現在透過使用 MTA 在遠端伺服器上設定自訂 PHP HTTP 到電子郵件網關來解決問題。賞金仍然會授予最佳答案(我對這個問題的另一種解決方案感興趣,以防萬一)。
答案1
這裡很難回答。
您有什麼類型的網路存取?您有 SMTP 存取權限嗎? HTTP(S) 怎麼樣?直接還是透過代理? VPN?還要別的嗎?
另外,您的機器人是用哪種語言寫的?您在哪個作業系統上運行它?
有地段程式可以向您發送通知的方式;但哪一個更適合您的場景取決於許多因素。
更新:
如果您可以開啟出站 TCP 連接,那麼您可以連接到任何 SMTP 伺服器(甚至是您自己的伺服器)並發送電子郵件。如果您有 SMTP 庫,這確實很容易,但即使您必須與遠端伺服器進行本機 SMTP 對話,這也會非常容易。
答案2
您可以使用XMPP/賈伯傳遞訊息
您可以使用獲取檢查/下載http內容和一些時間來發布數據
讓Google引導您:)
答案3
您在什麼語言/環境中開發?它沒有用於連接 SMTP 伺服器的 API 嗎?
如果您想使用 RESTful API,如果通知長度小於 140 個字符,那麼 twitter 選項對我來說確實是最好的選擇。它使用起來非常簡單,而且無論你的機器人是用什麼語言寫的,甚至可能都有很棒的函式庫。
如果您需要發送更多資訊並且仍然想使用 RESTful 介面,那麼您可以在(例如)Blogspot 上為機器人提供一個部落格。他們有一個應用程式介面對於您的目的來說,這看起來還不錯。