PHP應用技巧:通過SMTP寄送電子郵件_PHP

來源:互聯網
上載者:User
關鍵字 網吧 網吧技術 軟體 病毒 資訊
SMTP

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

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

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

引用:

[root@server~/]# 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: teste@dominio.com.br

250 Ok

RCPT TO: teste@dominio.com.br

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: teste@dominio.com.br”這個命令指明了發件地址是teste@dominio.com.br,“250 Ok”說明這條命令被伺服器接受並正確執行,這類似http協議的200、404、500等狀態碼。接下來的“RCPT TO: teste@dominio.com.br”指明了收件地址是teste@dominio.com.br。

引用:

DATA

354 End data with .

teste

.

這一段是輸入郵件內文,輸入“DATA”以後系統提示使用“<斷行符號>.<斷行符號>”來結束輸入,本文內容是“teste”。

最後使用“QUIT”退出。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.