程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 用Socket發送電子郵件一

用Socket發送電子郵件一

編輯:關於PHP編程

在作者所申請的幾個PHP 主頁空間中,能夠提供mail功能的實在不多,總是調用完mail()函數之後就毫無下文了。但是電子郵件在網上生活中的作用越來越大。想一想網蟲上網不收郵件能叫真正的網蟲嗎?郵件的作用我不想再說了,但是如果主頁空間不支持mail()發送那麼怎麼辦呢?我也想過通過socket來實現郵件發送,但無奈對用php 進行socket編程不熟悉,再加上發送郵件要用到SMTP協議,又要讀不少的英文了,所以一直也沒有去研究過。終於有一天我發現了一篇文章,關於用socket編程發送郵件。我如獲至寶般將其拷貝下來,並且將其改造成了一個php 可用的類,供大家使用。原來的文章只是一個簡單的例子,而且還有一些錯誤,在我經過多次的實驗、改造終於將其改成了一個直接使用socket,向指定的郵箱發送郵件的類,如果大家和前面關於發送MIME的文章結合起來,就可以實現在不支持mail()函數的網站上發送郵件了。因為發送郵件的過程需要時間,可能與mail()的處理機制還不完全一樣,所以速度要慢一些,但是可以解決需要發送郵件功能的燃眉之急,同時你也可以學習用php 進行socket編程。下面就將這個類的實現原理介紹給大家,同時向大家講解一些關於SMTP的基本知識。
Socket編程介紹
  向大家申明,本人不是一個TCP/IP編程專家,故在此只是講出了我的一點理解和體會。
  使用fsockopen函數打開一個Internet連接,函數語法格式:
int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
  參數的意思我想不用講了,這裡由於要使用SMTP協議,所以端口號為25。在打開連接成功後,會返回一個socket句柄,使用它就可以象使用文件句柄一樣的。可使用的操作有fputs(),fgets(),feof(),fclose()等。
  很簡單地介紹就到這裡吧。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved