Dot-Net
通過 POP3 自動檢查退回的電子郵件?
任何人都可以推薦用於檢查退回電子郵件和退回原因的軟體或 .NET 庫嗎?我收到退回的電子郵件到我可以閱讀的 pop3 帳戶。
我需要它來保持我的使用者數據庫免受無效電子郵件地址的影響,並希望自動執行此操作(將使用者標記為無效電子郵件)。
我做了很多工作來處理退回郵件和不同類型的郵件。如果您想絕對確定您查看的電子郵件確實是特定類型的退回郵件,我強烈建議您使用一個好的過濾器。我曾與Boogie Tools合作過,而且效果很好。它可以讓您知道它是什麼類型的反彈,硬的、軟的、瞬態的,或者是否有人試圖取消訂閱。它有多個 API,包括 .Net,我發現它很容易上手。
使用 TcpClient 很容易做到。打開伺服器:
TcpClient tcpClient = new TcpClient(); tcpClient.Connect(POP3Server, POP3Port); NetworkStream stream = tcpClient.GetStream();閱讀歡迎資訊:
int read = stream.Read(inBuffer, 0, inBuffer.Length); string response = Encoding.ASCII.GetString(inBuffer, 0, read); if (response.IndexOf("+OK") != 0) throw new ...;寫回伺服器:
byte[] outBuffer = Encoding.ASCII.GetBytes("USER " + account + "\r\n"); stream.Write(outBuffer, 0, outBuffer.Length);發送 USER 命令。您需要登錄,然後才能開始獲取消息 - 請參閱 POP3 RFC以獲取完整的命令列表。如果您不想自己動手,請查看這篇CodeProject 文章。