Windows下使用php sendmail配置方法
大家非常好奇為什么別人大型公司的論壇注冊后會系統(tǒng)自動發(fā)送一封注冊信息的電子郵件到注冊人的信箱里,而同樣用的是一種內核的論壇程序,為什么自己架設的卻沒有這個功能,今天我來為大家解密這個原因。我們拿PHPBB來舉例,這個論壇內核早已經寫好了論壇郵件發(fā)送功能,只需要你本地有個SMTP轉發(fā)的服務在就可以,由于大公司服務器大多數用的是UNIX或者是LIUNX,因為這些服務器本身具有本地SMTP服務的作用,所以可以直接發(fā)注冊信息到注冊人的郵箱里,而我們個人架設網站大部分都是WINDOWS的平臺,由于ASP論壇非常不安全,而ASPX論壇又不好進行開源。
雖然這兩種論壇架構非常容易運用些IIS的相關的SMTP服務器來解決問題,但都先天不足,很多網友都非常喜歡用PHP內核的論壇來架設,比如PHPBB、PHPWIND、等這些都是具備論壇發(fā)信功能,但由于PHP先天就是LIUNX的寵愛,所以WINDOWS下支持SMTP的東西不是很多,Windows下使用php sendmail配置方法是否不太可能,但也不是絕路,現在告訴大家如何在WINDOWS平臺下解決php sendmail配置問題
1.修改 x:\xampp\sendmail\sendmail.ini 檔案,修改以下資料:
smtp_server=mail.vhost.tw
auth_username=sendmail@vhost.tw
auth_password=Xca1Bq
2.修改 x:\xampp\apache\bin\php.ini 檔案,修改以下資料:
[mail function]
; For Win32 only.
;smtp_port = 25
; For Win32 only.
;sendmail_from =
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "E:\xampp\sendmail\sendmail.exe -t"
3. 重新啟動 Apache,設定完畢!
4. 測試mail()功能
<'php
$now = date("Y-m-d h:i:s");
$from_name = '測試寄件者';
$from_email =
$headers = 'From: $from_name <$from_email>';
$body = '嗨, \n 這是一封測試信件來自 $from_name <$from_email>.';
$subject = '[$now] 測試信件發(fā)送';
if (mail($to, $subject, $body, $headers)) {
echo "success!";
} else {
echo "fail…";
}
'>
這樣,Windows下使用php sendmail配置就順利完成了!
【編輯推薦】