? ? ? ? 終于還是成功了,差點沒放棄指厌。由于之前在做一個異常處理的時候用到了郵件提醒功能,所以順便研究了一下在php下如何發(fā)送郵件踩验。第一次摸索,折騰了整整一天牡借,最后還是成功了。現(xiàn)做個經(jīng)歷總結(jié)钠龙,方便大家交流御铃,初次接觸,如有不對的地方歡迎指出上真。
? ? ? ? 那么如何在PHP環(huán)境下發(fā)送郵件呢,這里介紹一個比較常用的方法睡互,就是使用函數(shù)是mail()陵像。
關(guān)于mail函數(shù)的使用方法大家可以查看官方手冊: http://php.net/manual/zh/function.mail.php寇壳,這里我主要給大家介紹一下相關(guān)的服務(wù)器配置和sendmail搭建過程。
準(zhǔn)備:
1九巡、開發(fā)環(huán)境:WAMP(Windows+Apache+MySql+PHP),建議使用phpStudy集成環(huán)境疏日。
2、sendmail下載:
? ? ? ? 下載地址:https://www.glob.com.au/sendmail/
? ? ? ? 備用地址:http://pan.baidu.com/s/1eRC43aM ( 密碼:6hci )
3沟优、準(zhǔn)備好一個QQ郵箱
為什么要使用QQ郵箱睬辐?
? ? ? ? 這是我踩的一個坑,我一開始是用126郵箱和163郵箱來做測試的(126和163是一家的)溯饵。我按部就班地把一切都配置好了,但就是一直發(fā)送不成功丰刊,而且還沒有報錯,這就真讓我抓狂了寻歧。最后,是一樣的配置我換了QQ郵箱才可以成功發(fā)送郵件码泛,其中還有一個坑澄耍,下面再說。
當(dāng)然齐莲,你也可以試一下使用其它的郵件服務(wù)器。
當(dāng)然铅搓,如果你不想使用第三方的郵件星掰,你還可以嘗試自己搭建一個郵件服務(wù)器多望,在這里我就不多介紹了怀偷。
好,下面開始:
設(shè)置QQ郵箱
1椎工、登錄你的QQ
2蜀踏、點擊”設(shè)置“-”帳戶“,找到”POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)“這一項果覆,如圖:
3、點擊開啟”IMAP/SMTP服務(wù)“
配置sendmail
1斑响、把下載好的sendmail
把sendmail壓縮解壓到一個文件夾(隨便哪個文件夾都行,我的是放在E:\phpStudy\sendmail)
2舰罚、打開sendmail.ini配置文件薛耻,修改配置如下:
smtp_server=smtp.qq.com
smtp_port=25 ? ;默認(rèn)是25,默認(rèn)就行
auth_username=27378xxxx@qq.com ?;這里寫你的QQ郵箱
auth_password=************* ? ;?注意昭卓,這就是我想說的第二個坑。記缀蛐选!這里填寫的不是你郵箱的密碼伙菊,而是授權(quán)碼!授權(quán)碼也是在QQ設(shè)置里面可以獲得镜硕,這里我就不截圖了
force_sender=27378xxxx@qq.com? ;同樣返干,這里也是寫你的QQ郵箱
好了,到這sendmail配置完成矩欠,除了以上配置悠夯,在sendmail.ini文件里其它的配置項你都可以用分號";"注釋掉躺坟。
配置php.ini
打開php的配置文件php.ini搜索"[mail function]",配置如下:
sendmail_path = "E:\phpStudy\sendmail\sendmail.exe -t -i" ?;你的sendmail安裝的位置
在[mail function]區(qū)域內(nèi)其它的都注釋掉咪橙,就配置上面那一行就行。
至此产舞,配置結(jié)束。
重啟Apache庞瘸。
測試
測試代碼如下:
$message="Line 1...\nLine 2...\nLine 3...";
$message= wordwrap($message,70);
$r= mail('28460xxxx@qq.com','My Subject',$message);
var_dump($r);
附上成功截圖:
《完》