用PHP通過SMTP發送郵件 - php語言 -

用PHP通過SMTP發送郵件

時間:2013-05-09 12:43:51   來源:   評論:加載中...   點擊:加載中...
由于PHP沒有提供現成的smtp函數,卻提供了一個功能不甚靈活的mail()函

由于PHP沒有提供現成的smtp函數,卻提供了一個功能不甚靈活的mail()函數,這個函數需要服務器配置上的支持,并且不支持smtp驗證,在很多場合無法正常的工作,因此不建議使用。本文的目的在于為新手指明方向,并沒有涉及那些高級的內容,一來本身水平有限,二來也擔心不能準確的講述相關的概念,進而對各位造成誤導,還請自行深入學習。

“使用php發送mail”最近已經成為繼“register_globals”以后本版第二個新手陷阱,今天特地寫這篇文章為新手解惑,希望可以為迷茫的人指明方向。

讓我們先從以下這個例子開始說起:

引用:

[[email protected]~/]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server.domain.com.br ESMTP Postfix (2.1.0)
MAIL FROM: [email protected]
250 Ok
RCPT TO: [email protected]
250 Ok
DATA
354 End data with .
teste
.
250 Ok: queued as 7B41F4665A
QUIT
221 Bye
Connection closed by foreign host.

注:以上來自netkiller的postfix文檔,偷懶,直接用現成的。

首先是使用telnet來連接本地的25端口,稍微熟悉點網絡的人都知道smtp協議使用25端口,這也就是說,現在在連接本地的smtp服務器。

引用:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server.domain.com.br ESMTP Postfix (2.1.0)

這些東西是系統輸出信息,說明已經連接上了,而且這個smtp服務器是postfix做的。

“MAIL FROM: [email protected]”這個命令指明了發件地址是[email protected],“250 Ok”說明這條命令被服務器接受并正確執行,這類似http協議的200、404、500等狀態代碼。接下來的“RCPT TO: [email protected]”指明了收件地址是[email protected]

引用:

DATA
354 End data with .
teste
.

這一段是輸入郵件正文,輸入“DATA”以后系統提示使用“<回車>.<回車>”來結束輸入,正文內容是“teste”。

最后使用“QUIT”退出。

 

注:以上來自netkiller的postfix文檔,偷懶,直接用現成的。

首先是使用telnet來連接本地的25端口,稍微熟悉點網絡的人都知道smtp協議使用25端口,這也就是說,現在在連接本地的smtp服務器。

引用:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server.domain.com.br ESMTP Postfix (2.1.0)

這些東西是系統輸出信息,說明已經連接上了,而且這個smtp服務器是postfix做的。

“MAIL FROM: [email protected]”這個命令指明了發件地址是[email protected],“250 Ok”說明這條命令被服務器接受并正確執行,這類似http協議的200、404、500等狀態代碼。接下來的“RCPT TO: [email protected]”指明了收件地址是[email protected]

引用:

DATA
354 End data with .
teste
.

這一段是輸入郵件正文,輸入“DATA”以后系統提示使用“<回車>.<回車>”來結束輸入,正文內容是“teste”。

最后使用“QUIT”退出。

 

注:以上來自netkiller的postfix文檔,偷懶,直接用現成的。

首先是使用telnet來連接本地的25端口,稍微熟悉點網絡的人都知道smtp協議使用25端口,這也就是說,現在在連接本地的smtp服務器。

引用:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server.domain.com.br ESMTP Postfix (2.1.0)

這些東西是系統輸出信息,說明已經連接上了,而且這個smtp服務器是postfix做的。

“MAIL FROM: [email protected]”這個命令指明了發件地址是[email protected],“250 Ok”說明這條命令被服務器接受并正確執行,這類似http協議的200、404、500等狀態代碼。接下來的“RCPT TO: [email protected]”指明了收件地址是[email protected]

引用:

DATA
354 End data with .
teste
.

這一段是輸入郵件正文,輸入“DATA”以后系統提示使用“<回車>.<回車>”來結束輸入,正文內容是“teste”。

最后使用“QUIT”退出。



相關熱詞搜索:

 
上一篇:PHP 5.0中多態性的實現方案淺析
下一篇:php編寫大型網站問題集
收藏 將此文推薦給朋友
分享到:
10个数复式三中三多少组公式