很多玩discuz的盆友在使用在線發郵件的功能,但是測試了"通過 PHP 函數的 sendmail 發送(推薦此方式)"怎麼都沒用,因為本人現在用的是iis+php環境,所以就出這麼一個教程,教大家在自己服務器上配置sendmail
首先你需要先到從http://glob.com.au/sendmail/下載sendmail.zip文件,然後把它解壓到如D:\php\sendmail\目錄下。
然後打開php.ini文件,找到下面這段代碼
-
[mail function]
-
; For Win32 only.
-
SMTP = localhost
-
smtp_port = 25
-
; For Win32 only.
-
;sendmail_from = [email protected]
-
; For Unix only. You may supply arguments as well (default: ”sendmail -t -i”).
-
; sendmail_path = ”"
-
; Force the addition of the specified parameters to be passed as extra parameters
-
; to the sendmail binary. These parameters will always replace the value of
-
; the 5th parameter to mail(), even in safe mode.
-
;mail.force_extra_parameters =
默認情況下是以本機做為郵件服務器,這裡我們需要借用sendmail來發送郵件,用sendmail來配置如用qq、163的郵箱來發送(一般都是以這種方式)所以我們需要把所有的選項都注銷,即把SMTP = localhost和smtp_port = 25前面加上“;”然後把sendmai_path=""前面的“;”刪掉,改為sendmai_path="d:\php\sendmail\sendmail.exe -t",改完後的即是
-
[mail function]
-
; For Win32 only.
-
;SMTP = localhost
-
;smtp_port = 25
-
; For Win32 only.
-
;sendmail_from = [email protected]
-
; For Unix only. You may supply arguments as well (default: ”sendmail -t -i”).
-
sendmail_path = ”d:\php\sendmail\sendmail.exe -t"
-
; Force the addition of the specified parameters to be passed as extra parameters
-
; to the sendmail binary. These parameters will always replace the value of
-
; the 5th parameter to mail(), even in safe mode.
-
;mail.force_extra_parameters =
注意以上只需要開啟sendmail_path即可,然後保存
接著修改sendmail目錄下的sendmail.ini文件,主要填的內容有以下幾項
-
smtp_server=smtp服務器地址(如 smtp.ym.163.com)
-
auth_username=郵箱登錄名(如 [email protected])
-
auth_password=郵箱密碼(如 xxxxxx)
-
force_sender=發件人地址全寫(如 [email protected])
另外還有一項
-
; auto = use SSL for port 465, otherwise try to use TLS
把前面的“;”刪除,即開啟SSL安全登錄選項即可
以上四項正確填寫修改完成後保存,然後重啟IIS即可正常使用。