c程式設計郵件傳輸

2021-06-18 21:36:36 字數 853 閱讀 1290

傳送郵件需要使用stmp協議,注意smtp協議的每條指令都是以「\r\n」作為結束標誌,所以必須在每一條要傳送的指令後加上「\r\n」。

我們先以傳送本地的ip位址為例。

要獲得本地位址資訊,要用到兩個函式,【gethostname】和【gethostbyname】,前者獲得本機的名稱,

struct hostent

char far * h_name;

char far *far *h_aliases;

short h_addrtype;

short h_length;

char far *far * h_addr__list;//ip位址

我們獲得的ip資訊就在h_addr_list中,但一台機器可能有很多的ip位址,我們要將其記錄下來,使用乙個迴圈,,並且

呼叫【inet_ntoa】函式將其轉化成我們習慣的點分字串格式的ip位址,如192.168.1.1.這樣就獲得了ip。

下面我們根據stmp協議的規定,傳送郵件,以qq郵箱作為傳送郵箱,

,用他的h_addr_list[0]來初始化sockaddr_in結構的sin_addr.s_un.s_addr成員,埠寫成25,這是郵件服務標準埠。

第二,伺服器鏈結。配置好引數後進行【connect】鏈結,鏈結上後就使用smtp來通訊了,要注意smtp協議一發一收的原則。

第三,郵件傳送。郵件傳送也有一定的格式,首先發件人,「發件人:《使用者名稱:@qq.co>\r\n",(其實也可以都不寫)。其次收件人」rcpt to: 《目的郵箱》",

要傳送給幾個人,就傳送幾個"tcpt to:《目的郵箱》"(這個是必寫的不然會找不到目的郵箱),然後「data\r\n" 表示要傳送具體資料了,資料格式為:郵件頭+郵件體

郵件傳輸協議

定義了郵件客戶端與smtp伺服器之間,以及兩台smtp伺服器之間的通訊規則。smtp協議的通訊雙方採用一問一答的命令 響應形式進行對話,smtp協議定義了對話的規則和所有命令 響應的語法格式。smtp協議分為標準smtp協議和擴充套件smtp協議 esmtp,extension mail trans...

郵件傳輸協議

使用者連線上郵件伺服器之後,要想給它傳送一封電子郵件,需要遵循一定的通訊規則,smtp 協議就是用來定義這種通訊規則的。因此,我們通常也把處理使用者 smtp請求 郵件傳送請求 的伺服器稱之為 smtp 伺服器 郵件傳送伺服器 通俗來說 smtp 協議是用來傳送郵件的 pop3 3封郵件並移動到其他...

郵件傳輸協議簡介

pop3協議 主要用於支援使用客戶端遠端管理訪問位於伺服器上的電子郵件。通常和埠110繫結。一般我們可以在本地通過telnet連線郵件伺服器,然後執行pop3命令管理位於郵件伺服器的電子郵件 比如在控制台輸入命令 telnet 郵件伺服器的ip位址 pop3埠號,這樣就會開啟乙個到郵件伺服器的pop...