天天看點

基于Lumisoft.NET元件的SMTP賬号登陸檢測

在郵件處理的方面,Lumisoft.NET可以說是非常不錯的一個選擇,我在前面幾篇文章中都介紹過這個元件。

<a href="http://www.cnblogs.com/wuhuacong/archive/2013/05/06/3063166.html">基于Lumisoft.NET元件開發碰到亂碼等一些問題的解決</a>

<a href="http://www.cnblogs.com/wuhuacong/archive/2013/05/06/3062885.html">基于Lumisoft.NET元件和.NET API實作郵件發送功能的對比</a>

我的部落格内容幾乎全部來源我的項目開發或者研究工作,是以對于這個元件的使用還是有一定的說服力,這個元件封裝了很多底層的一些操作,對于我們操作郵件的發送、接收的處理,更加友善高效。本文主要介紹該元件一個小的應用,基于Lumisoft.NET元件的SMTP賬号登陸檢測。

做某種工作,一般都有一個背景知識,從背景裡面,我們可以大緻了解這個工作的應用場景和具體目的,這個基于SMTP賬号登陸檢測的功能來源我對一批郵件賬号進行交替郵件發送的時候需要,我手上有一批免費郵箱的SMTP賬号,可以用于郵件的發送,但是我不确信是否所有的賬号密碼都是可以登入使用的,是以我需要對它們進行檢測,隻有正确的賬号密碼,我才用來批量發送郵件。這種檢測我希望是通過自動化進行實作,不要人工一個個登入,在偶爾的一次Lumisoft.NET元件的使用過程中,我發現它發送郵件前,都會進行賬号密碼的登入操作,是以如果有成功的回應,那麼就算達到目的了。

Lumisoft元件裡面,SMTP_Client的對象有一個Auth方法(或者Authenticate方法),并且調用後,對象本身有一個IsAuthenticated的bool屬性,這樣就可以達到我們的操作目的了。

具體對SMTP_Client的SMTP賬号登陸檢測代碼如下所示。

為了更有效實作賬号的檢測,我們使用了背景線程進行處理,以達到更好的界面體驗。

然後在實作賬号檢測的事件裡面對背景線程進行調用,具體操作代碼如下所示。

這個線程處理後,會傳回一個結果,然後我們線上程完成的操作裡面對他們進行處理,即可實作把結果展示到界面上了。

當然,這個隻是對一個賬号密碼進行SMTP登入檢測,如果需要批量檢測,把思路變化一下,周遊需要檢測的賬号密碼,對賬号處理完成後,把結果顯示到界面上即可。

繼續閱讀