1. 程式人生 > >C#通過POP3協議驗證 Email 賬號

C#通過POP3協議驗證 Email 賬號

static bool ValidateEmailAccount(string server, int port, string userName, string password, out string ErrorMessage)
        {
            ErrorMessage = "";

            //create a tcp connection
            TcpClient _server = new TcpClient(server, port);
            
            //prepare 
            NetworkStream netStream = _server.GetStream();
            StreamReader reader = new StreamReader(_server.GetStream());

            if (!reader.ReadLine().Contains("+OK"))
            {
                //失敗
                ErrorMessage = "server連結失敗";
                return false;
            }

            string data;
            byte[] charData;
            string CRLF = "\r\n";

            //login
            data = "USER " + userName + CRLF;
            charData = System.Text.Encoding.ASCII.GetBytes(data);
            netStream.Write(charData, 0, charData.Length);
            if (!reader.ReadLine().Contains("+OK"))
            {
                //賬戶錯誤
                ErrorMessage = "賬戶錯誤";
                return false;
            }
            data = "PASS " + password + CRLF;
            charData = System.Text.Encoding.ASCII.GetBytes(data);
            netStream.Write(charData, 0, charData.Length);
            if (!reader.ReadLine().Contains("+OK"))
            {
                //密碼錯誤
                ErrorMessage = "密碼錯誤";
                return false;
            }
            return true;
        }


 呼叫

            string errorMessage;
            bool isContains = ValidateEmailAccount("pop3.163.com", 110, "[email protected]", "************", out errorMessage);

            Console.WriteLine(isContains ? "使用者存在" : errorMessage);

相關推薦

C#通過POP3協議驗證 Email 賬號

static bool ValidateEmailAccount(string server, int port, string userName, string password, out string ErrorMessage) {

c#通過http協議讀取字串

 下面是c#通過http讀取字串的方法:           string urlstr = @"http://.../test.json";            Uri url = new Uri(urlstr);            HttpWebRequest my

linux C++通過ntp協議獲取網路時間

#include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.

C#通過POP3收取郵件(正文和附件)

使用方法:  獲取第1封郵件  複製程式碼 程式碼如下: Zgke.Net.POP3 _Popt = new Zgke.Net.POP3("192.168.0.1", 110);  DataTable _Mail = _Popt.GetMail("zk", "zk", 1)

C#中如何通過HTTP協議的不同請求方式獲取資料

private string GetRequest(string url)         {            string content = "";            Uri httpURL = new Uri(url);            ///Http

通過http協議克隆gitlab上的程式碼免賬號密碼輸入

大家都是知道克隆gitlab上的程式碼一般都是通過ssh協議以達到免祕鑰輸入的目的,但今天因公司gitlab伺服器的問題,導致ssh方式老出現認證失敗,很多開發人員發來求教,也有幾個提出了通過http/https方式能不能免費賬號密碼的輸入呢? 這裡提供兩個方法: 1.可

[轉]C#通過Http發送Soap請求

apr static utili stringbu end mar data resp 廣東 /// <summary> /// 發送SOAP請求,並返回響應xml /// </summary> /// &l

C#通過Redis實現分布式鎖

rom img com 分布式鎖 ase 即使 lock sta ons Redis有三個最基本屬性來保證分布式鎖的有效實現: 安全性: 互斥,在任何時候,只有一個客戶端能持有鎖。 活躍性A:沒有死鎖,即使客戶端在持有鎖的時候崩潰,最後也會有其他客戶端能獲得鎖,超時機制。

如何將TS源流重新封裝並通過P2P協議傳輸在安卓終端和蘋果終端播放

ts p2p 直播 什麽是TS流TS流(TransportStream)即在MPEG-2系統中,由視頻,音頻的ES流和輔助數據復接生成的用於實際傳輸的標準信息流稱為MPEG-2傳送流。根據傳輸媒體的質量不同,MPEG-2中定義了兩種復合信息流:傳送流(TS)和節目流(PS:ProgramStrea

C#通過NPOI逐行讀取excel數據

using System; using System.Collections.Generic; using System.Linq; using System.Text; using NPOI.SS.UserModel; using NPOI.HSSF.UserModel; using Syste

基於C#的UDP協議的異步實現

connect sleep ack bind 服務器 endpoint length ddr blog 一、摘要   總結UDP傳輸協議的異步實現。 二、實驗平臺   visual studio 2010 三、實驗實例   服務器端代碼:

C# 通過SendMessage獲取瀏覽器地址欄的地址

ntp bar pac login classname window edit and ces 1:通過SPY++獲得地址欄的層次結構,然後一層一層獲得 2:代碼 using System; using System.Collections.Generic; using

【物聯網雲端對接-4】通過MQTT協議與百度雲進行雲端通信

src 發布 訂閱 操作 websocket 編寫 通用 頁面 開發 百度雲的天工物聯網服務目前包括:物接入、物解析、物管理、時序數據庫和規則引擎等5大部分,本篇文章僅介紹物接入。 天工物聯網的物接入,從開發者的角度來說相對有些復雜,需要多步操作才能實現一個雲設備的創建,

(轉)服務端使用c++實現websocket協議解析及通信

nec req 和數 http響應 表示 new base64 枚舉 unsigned 轉自:http://blog.csdn.net/grafx/article/details/54234518 WebSocket 設計出來的目的就是要使客戶端瀏覽器具備像

C#通過對象屬性名修改值

需要 set 進行 object zh-cn tty on() 基礎 reat 摘自:csdn 給一個對象屬性賦值可以通過PropertyInfo.SetValue()方式進行賦值,但要註意值的類型要與屬性保持一致。 創建對象實例的兩種方法: 1. var o

隨機驗證碼-賬號密碼驗證

位數 撒旦 cti asa username -c 用戶 隨機驗證碼 title 一、默認賬號密碼為admin 驗證正確 然後繼續驗證驗證碼==隨機驗證碼 全部正確跳轉login.html 重點:Math.random(0-1)隨機獲取0-1的隨機數 <!DOCTY

c# 通過反射輸出成員變量以及成員變量的值

ext pub null ctu ref type() 反射 variables bin /*** @Author rexzhao* 工具類 僅限於* public variable*/using System.Collections;using System.Collec

瀏覽器通過http協議通過nginx訪問ftp服務器上的文件

es2017 協議 alt com 默認目錄 blog nginx nbsp 訪問 1、修改nginx配置文件 2、修改nginx默認目錄為ftp默認目錄 3、修改成自定義路徑後,並修改此目錄第一行,修改為root或是nginx用戶 4、重新加載 cd /usr/lo

C#通過反射實現動態調用WebService 告別Web引用(轉載)

sse data 語言 con classname ext 級別 creat 字符 我們都知道,調用WebService可以在工程中對WebService地址進行WEB引用,但是這確實很不方便。我想能夠利用配置文件靈活調用WebService。如何實現呢? 用C#通過反射

C# 通過url地址獲取頁面內容

pre .html res htm 頁面 ons light ebr dto using System.Net; using System.IO; HttpWebRequest request = (HttpWebRequest)WebRequest