Sendmail命令收發(fā)郵件
1、什么是 SMTP
SMTP (Simple Mail Transfer Protocol) : 電子郵件從客戶機(jī)傳輸?shù)椒?wù)器或從某一個服務(wù)器傳輸?shù)搅硪粋€服務(wù)器使用的傳輸協(xié)議。 SMTP 是請求/響應(yīng)協(xié)議,命令和響應(yīng)都是基于 ASCII 文本,并以 CR 和 LF 符結(jié)束。響應(yīng)包括一個表示返回狀態(tài)的三位數(shù)字代碼。SMTP 在 TCP 協(xié)議 25 端口監(jiān)聽連接請求。
2、什么是 ESMTP
ESMTP (Extended SMTP),顧名思義,擴(kuò)展 SMTP 就是對標(biāo)準(zhǔn) SMTP 協(xié)議進(jìn)行的擴(kuò)展。它與 SMTP 服務(wù)的區(qū)別僅僅是,使用 SMTP 發(fā)信不需要驗證用戶帳戶,而用 ESMTP 發(fā)信時,服務(wù)器會要求用戶提供用戶名和密碼以便驗證身份。驗證之后的郵件發(fā)送過程與 SMTP 方式?jīng)]有兩樣。
3、SMTP 命令
SMTP 命令包括:
HELO 向服務(wù)器標(biāo)識用戶身份。發(fā)送者能欺騙,說謊,但一般情況下服務(wù)器都能檢測到。
EHLO 向服務(wù)器標(biāo)識用戶身份。發(fā)送者能欺騙,說謊,但一般情況下服務(wù)器都能檢測到。
MAIL FROM 命令中指定的地址是發(fā)件人地址
RCPT TO 標(biāo)識單個的郵件接收人;可有多個 RCPT TO;常在 MAIL 命令后面。
DATA 在單個或多個 RCPT 命令后,表示所有的郵件接收人已標(biāo)識,并初始化數(shù)據(jù)傳輸,以 CRLF.CRLF 結(jié)束
VRFY 用于驗證指定的用戶/郵箱是否存在;由于安全方面的原因,服務(wù)器常禁止此命令
EXPN 驗證給定的郵箱列表是否存在,擴(kuò)充郵箱列表,也常被禁用
HELP 查詢服務(wù)器支持什么命令
NOOP 無操作,服務(wù)器應(yīng)響應(yīng) OK
RSET 重置會話,當(dāng)前傳輸被取消
QUIT 結(jié)束會話
連接 Winmail Server 使用 SMTP 命令發(fā)送郵件
例如:安裝 Winmail 的郵件服務(wù)器IP是192.168.0.1 (藍(lán)色字體內(nèi)容由客戶端輸入,紅色字體內(nèi)容是服務(wù)返回的)
telnet 192.168.0.1 25 --------------------------------------- 使用telnet命令連接服務(wù)器 25 端口
Trying 192.168.0.1... --------------------------------------- 正在連接服務(wù)器 25 端口
Connected to 192.168.0.1. ----------------------------------- 連接服務(wù)器 25 端口成功
220 Winmail Mail Server ESMTP ready ------------------------- 顯示服務(wù)器的標(biāo)識名稱 (Winmail 管理工具->高級設(shè)置->系統(tǒng)參數(shù)->基本參數(shù)中可更改)
helo domain.com ------------------------------------------------ 向服務(wù)器標(biāo)識用戶身份,發(fā)信不要認(rèn)證,跳過下面幾步直接發(fā)送 mail from 命令
250 Winmail Mail Server
ehlo domain.com ------------------------------------------------ ESMTP 命令,發(fā)信需要認(rèn)證。
250-Winmail Mail Server
250-PIPELINING
250-AUTH=LOGIN PLAIN
250-AUTH LOGIN PLAIN
250-SIZE 20480000
250 8BITMIME
auth login ------------------------------------------------- 進(jìn)行用戶身份認(rèn)證
334 VXNlcm5hbWU6
Y29zdGFAYW1heGl0Lm5ldA== ----------------------------------- BASE64 加密后的用戶名
334 UGFzc3dvcmQ6
MTk4MjIxNA== ----------------------------------------------- BASE64 加密后的密碼
235 auth successfully -------------------------------------- 身份認(rèn)證成功
(535 auth failure ------------------------------------------ 身份認(rèn)證失敗)
發(fā)到本系統(tǒng)中域名下的賬戶可跳過身份認(rèn)證。
mail from: ------------------------------ mail from 地址 test1@domain.com
250 ok ----------------------------------------------------- 命令執(zhí)行成功
rcpt to: -------------------------------- 遞送給地址 test2@domain.com
250 ok ----------------------------------------------------- 命令執(zhí)行成功
data ------------------------------------------------------- 數(shù)據(jù)傳輸初始化
354 go ahead ----------------------------------------------- 開始傳輸數(shù)據(jù)
From: test1@domain.com
To: test2@domain.com
Date: Mon, 25 Oct 2004 14:24:27 +0800
Subject: test mail
Hi, test2
This is a test mail, you don't reply it.
.
------------------------------------------------------------ 數(shù)據(jù)內(nèi)容,包括BASE64加密后的郵件內(nèi)容, 以 CRLF.CRLF 結(jié)束數(shù)據(jù)傳輸
250 ok message accepted for delivery ----------------------- 命令執(zhí)行成功
quit ------------------------------------------------------- 結(jié)束會話
221 Winmail Mail Server
Connection closed by foreign host .------------------------- 斷開連接
【編輯推薦】