電子郵件服務作為Internet上應用最多和最廣的服務專案得到了非常廣泛的應用,在網路應用中也起到非常重要的作用。如同其他的網路服務,電子郵件系統也有其使用的傳輸協議,包括SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議)、POP(Post Office Protocol,郵局協議)和IMAP(Internet Message Access Protocal,訊息訪問協議)等,這些協議應用於電子郵件的傳送和接收。一些郵件處理軟體如OutLook Express和FoxMail等就是按照SMTP和POP3 協議結合Windows Sockets套接字進行設計來收發郵件的。本文以SMTP協議為研究物件,在Visual C++ 6.0程式設計環境下按照SMTP協議透過套接字傳送SMTP命令,接收並處理郵件伺服器的反饋資訊,從而實現對電子郵件的傳送。
電子郵件服務作為Internet上應用最多和最廣的服務專案得到了非常廣泛的應用,在網路應用中也起到非常重要的作用。如同其他的網路服務,電子郵件系統也有其使用的傳輸協議,包括SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議)、POP(Post Office Protocol,郵局協議)和IMAP(Internet Message Access Protocal,訊息訪問協議)等,這些協議應用於電子郵件的傳送和接收。一些郵件處理軟體如OutLook Express和FoxMail等就是按照SMTP和POP3 協議結合Windows Sockets套接字進行設計來收發郵件的。本文以SMTP協議為研究物件,在Visual C++ 6.0程式設計環境下按照SMTP協議透過套接字傳送SMTP命令,接收並處理郵件伺服器的反饋資訊,從而實現對電子郵件的傳送。
SMTP協議的通訊模型和會話流程
SMTP協議通訊模型
SMTP協議是TCP/IP協議族中的一員,主要對如何將電子郵件從傳送方地址傳送到接收方地址,也即是對傳輸的規則做了規定。SMTP協議的通訊模型並不複雜,主要工作集中在傳送SMTP和接收SMTP上:首先針對使用者發出的郵件請求,由傳送SMTP建立一條連線到接收SMTP的雙工通訊鏈路,這裡的接收SMTP是相對於傳送SMTP而言的,實際上它既可以是最終的接收者也可以是中間傳送者。傳送SMTP負責向接收SMTP傳送SMTP命令,而接收SMTP則負責接收並反饋應答。