<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      用PHP發電子郵件1,很容易?我也是這樣認為的...

      [摘要]一個發送E-MAIL的腳本也許是你能夠在Web 站點上找到的最普通的腳本之一了,雖然它很簡單,一個郵件腳本有時會令程序員非常沮喪.PHP中有一個叫做mail()的函數,它只需要知道接收方的地址和信件...
      一個發送E-MAIL的腳本也許是你能夠在Web 站點上找到的最普通的腳本之一了,雖然它很簡單,一個郵件腳本有時會令程序員非常沮喪.PHP中有一個叫做mail()的函數,它只需要知道接收方的地址和信件主體就可以發送郵件,但是要讓mail()按你的意思運行你還需要解決一些棘手的問題.

      要使mail()能夠運行,你必須有一個SMTP服務器以便PHP能夠連接上去.不管這個服務器對郵件程序多么重要,大多數人對它如何運轉沒有一星半點的概念.在本教程中,我們將揭示SMTP的秘密并解決一些使用PHP發送郵件的常見問題.而本文中的另一些主題將包括循環遍歷一個地址列表的方法以及同時以文本和HTML格式向接收者發送一個郵件的方法.

      SMTP是簡單郵件傳輸協議(Simple Mail Transfer Protocol)的縮寫,而一個SMTP服務器是一臺運行這種協議并發出郵件的計算機.運行這種協議實際上指的是運行諸如Sendmail和Qmail的程序--如果你使用的是一臺非Windows計算機的話.在Windows平臺上,作為Windows NT Service Pack一部分或是內建于Windows 2000內部的SMTP服務程序就是典型的這種程序.

      我并不是說SMTP軟件包就只有那些,但是它們是最普通的.如果你的Web站點使用了互聯網服務提供者的主機軟件包(Internet Service Provider's virtual hosting package)的一部分,那么SMTP服務程序就應該已經在這臺計算機上安裝了.如果你是一臺位于ISP或是室內的計算機的系統管理員,那么你很有可能已經在這臺計算機上安裝了某種SMTP軟件,用來處理從Web服務器發送郵件的過程.

      但是,如果你是一個個人用戶并只有一個開發用的Web服務程序運行在你的個人電腦上,你可能沒有在自己的機器上運行SMTP軟件.下面是一個非常簡單但是準確的拇指定律:如果你是一個Windows用戶而從沒有看見SMTP服務器這樣的字眼,那么你就沒有運行這個程序.如果你確實沒有,那么你有兩種選擇:安裝,配置,和維護一個SMTP服務程序(如果你不知道那是怎么一回事的話就不推薦你使用這種方法)或是使用一個現存的SMTP服務器.
      "如果一個服務器現在沒有運行的話,我又怎么使用它呢?"你可能要問.如果你的計算機是通過撥號連接(或是DSL或電纜)連到互聯網的話,你可以使用你ISP的外發郵件服務器.例如,如果你開發用的 計算機是一個Windows98的系統并使用56kbps modem通過EarthLink連接到互聯網,那么你就可以使用mail.earthlink.net作為你的SMTP服務器.不論你對你的外發郵件服務器使用什么樣的郵件客戶端(Eudora, Outlook, Netscape Mail等等),它們都將和你的PHP代碼使用你的SMTP服務器的過程一樣.技巧就是使PHP知道一點點事實.

      在php.ini管理配置文件里,有幾個條目需要被設置以便mail()函數能夠正常運行.在改變它們以前,搞清楚它們都是做什么用的.你可以使用phpinfo()函數通過創建一個文件來顯示系統當前的配置情況,這個文件包括:

      <? phpinfo() ?>

      保存這個文件,將它放置到你的Web服務程序的文件根目錄,然后通過你的瀏覽器訪問它.你應該可以看到一個被優美的格式化了的信息,顯示你的配置情況.你要查看的條目如下:

      SMTP
      sendmail_from
      sendmail_path
      如果你沒有使用windows,那么sendmail_path指令就是你唯一要擔心的東西.如果你正在使用Windows,你就需要看看最后兩個指令.

      如果你使用的是Linux或是一個Unix變種,sendmail_path看起來應該象這樣:

      sendmail_path = /usr/sbin/sendmail

      或者如果你使用Qmail:

      sendmail_path = /var/qmail/bin/sendmail

      在這條指令里,你還可以設置配置參數來指明隊列緩沖選項或是顯示的設置Return-Path頭,如下所示:

      sendmail_path = /usr/sbin/sendmail -t -fyou@yourdomain.com

      作為一個非Windows用戶,這就是你要做的一切了.如果你使用的是Windows,你有更多的事情要做.你還需要看一看SMTP和sendmail_from的值.不要被sendmail_from指令名字中的sendmail弄迷糊了.雖然你沒有在Windows上使用名叫Sendmail的程序,但那只是指令的名字.不要被它嚇到了.

      在你的phpinfo()顯示的結果里,看看SMTP和sendmail_from的缺省值--它們要么是空白,要么包含了胡亂的值.你應該把它們改成有意義的值.

      如果你決心在這臺電腦上運行一個SMTP服務程序,你在php.ini文件中的條目就應該如下:

      SMTP = localhost

      但是,如果你要使用你ISP(在這個例子中是EarthLink)的外發郵件服務器,那么php.ini中的郵件看起來應該如下:

      SMTP = mail.earthlink.net

      你也可以使用IP地址而不是域名,因為計算機不區分這兩種條目.

      第二條配置指令是sendmail_from,它應該被設置成From頭中的電子郵件地址.它可以在腳本里被修改但是通常作為缺省值使用.下面就是這個配置指令的示例youraddress@yourdomain.com指的是你自己的郵件地址.

      sendmail_from = youraddress@yourdomain.com

      在做了這些配置上的改動以后,重啟Web服務程序然后使用phpinfo()函數來驗證這些修改.在這些工作完成以后,你就可以用PHP來發送電子郵件了.



      日韩精品一区二区三区高清