1、實驗目的及任務html
編寫一個簡單的SMTP服務器,要求實現的功能以下所示:express
實現的服務器應能與outlook express等現有的客戶端進行簡單的交互編程
記錄瀏覽器與服務的交互過程瀏覽器
在屏幕上直接顯示接收到的郵件內容服務器
將郵件附件中的圖像(如bmp或jpg圖像)顯示在屏幕上編程語言
能夠採用C/C++或Java語音進行實現調試
2、實驗環境htm
系統環境:Windows 10 家庭中文版 1607get
WireShark:Version 2.2.1源碼
IDE:Visual Studio 2015 Update 3
調試環境:MFC Release x86
編程語言:C++
利用Winsock實現本地SMTP服務器,並實現與郵件客戶端(如outlook)的交互。
SMTP工做原理以下所示:
客戶端使用TCP協議鏈接SMTP服務器的25端口
客戶端發送HELO報文將本身的域地址告訴給SMTP服務器
SMTP服務器接受鏈接請求,向客戶端發送請求帳號密碼的報文(AUTH LOGIN)
客戶端向SMTP服務器傳送帳號和密碼,若是驗證成功,向客戶端發送一個OK命令,表示能夠開始報文傳輸
客戶端使用MAIL命令將郵件發送者的名稱發送給SMTP服務器
SMTP服務器發送OK命令作出響應
客戶端使用RCPT命令發送郵件接收者地址,若是SMTP服務器能識別這個地址,就向客戶端發送OK命令,不然拒絕這個請求
收到SMTP服務器的OK命令後,客戶端使用DATA命令發送郵件的數據
客戶端發送QUIT命令終止鏈接
源碼下載地址:https://www.write-bug.com/article/1374.html