這兩天寫(xiě)了個(gè)方法用到php mail()本以為php提供的這個(gè)方法非常簡(jiǎn)單、方便、易用,其實(shí)不然!
php mail()函數(shù)需要配置才可以發(fā)郵件的哦,下面配置方法:
如果你沒(méi)有使用windows,那么sendmail_path指令就是你唯一要擔(dān)心的東西.如果你正在使用Windows,你就需要看看最后兩個(gè)指令.
如果你使用的是Linux或是一個(gè)Unix變種,sendmail_path看起來(lái)應(yīng)該象這樣:
sendmail_path = /usr/sbin/sendmail
或者如果你使用Qmail:
sendmail_path = /var/qmail/bin/sendmail
在PHP mail()函數(shù)中的這條指令里,你還可以設(shè)置配置參數(shù)來(lái)指明隊(duì)列緩沖選項(xiàng)或是顯示的設(shè)置Return-Path頭,如下所示:
sendmail_path = /usr/sbin/sendmail -t -fyou@yourdomain.com
作為一個(gè)非Windows用戶(hù),這就是你要做的一切了.如果你使用的是Windows,你有更多的事情要做.你還需要看一看SMTP和sendmail_from的值.不要被sendmail_from指令名字中的sendmail弄迷糊了.雖然你沒(méi)有在Windows上使用名叫Sendmail的程序,但那只是指令的名字.不要被它嚇到了.
在你的phpinfo()顯示的結(jié)果里,看看SMTP和sendmail_from的缺省值--它們要么是空白,要么包含了胡亂的值.你應(yīng)該把它們改成有意義的值.
如果你決心在這臺(tái)電腦上運(yùn)行一個(gè)SMTP服務(wù)程序,你在php.ini文件中的條目就應(yīng)該如下:SMTP = localhost
但是,如果你要使用你ISP(在這個(gè)例子中是EarthLink)的外發(fā)郵件服務(wù)器,那么php.ini中的郵件看起來(lái)應(yīng)該如下:SMTP = mail.earthlink.net
你也可以使用IP地址而不是域名,因?yàn)橛?jì)算機(jī)不區(qū)分這兩種條目.
sendmail_from = youraddress@yourdomain.com
發(fā)送一個(gè)簡(jiǎn)單的電子郵件,代碼如下:
- $txt = "First line of textnSecond line of text";
- // Use wordwrap() if lines are longer than 70 characters
- $txt = wordwrap($txt,70);
- // Send email
- mail("somebody@example.com","My subject",$txt);
剛開(kāi)始感覺(jué)非常不錯(cuò),網(wǎng)易郵箱、QQ郵箱、GMAIL郵箱常用的郵箱都可以收到,但經(jīng)測(cè)試HOTMAIL、TOM、LIVE等郵箱是收不到此類(lèi)郵件的!
經(jīng)查詢(xún)郵件發(fā)送的時(shí)候,一般都需要身份驗(yàn)證,而PHP自帶的mail()無(wú)能為力,很脆弱啊!
新聞熱點(diǎn)
疑難解答