Windows Server SMTP 問題
網頁設計中常常需要有由系統發送信件的狀況 , 如Moodle、電子報系統、會員系統、購物車系統等, 而以PHP在Windows環境下 , mail()函式無法順利發信 , 以下列舉兩種狀況及解決方法
php.ini的設定錯誤
一般而言php.ini的路徑為 C:\xampp\php\php.ini
將php.ini打開,修改裡面的設定如下
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
;sendmail_from = account@example.com
若出現錯誤訊息 SMTP server response: 550 5.7.1
從我的電腦按右鍵 , 點選IIS管理
選取IIS服務管理工具 >>internet information services>>預設SMTP虛擬伺服器
選取工具列下的 執行>>內容(會彈出一個新視窗)
選取存取標籤分頁下轉接限制的轉接(會彈出一個新視窗)
選取新增>>單一電腦>>IP位置 填入127.0.0.1或主機IP 將您的主機列入允許清單
重新啟動IIS
當設定好SMTP伺服器後,接下來就是重啟阿帕契(Apache),重啟後就可以了!
你也可以建立下列的程式,測試系統是不是可以發信了,如果你的信箱可以收到信,這表示你的SMTP設定對了,如果不能收到信,那很可能是主機哪邊沒設定好,或者是說SMTP不能使用,也有可能是被防火牆、防毒軟體擋下來也說不定。
<?php
$to ="yourmail@gmail.com"; // 收件者
$subject = "test"; // 信件標題
$msg = "SMTP 發信測試"; // 信件內容
$headers = "From: admin@gmail.com"; //寄件者
if(mail("$to", "$subject", "$msg", "$headers")):
echo "信件已經發送成功。"; //寄信成功就會顯示的提示訊息
else:
echo "信件發送失敗!"; //寄信失敗顯示的錯誤訊息
endif;
?>
Online betting and esports at LACBet.com fun88 fun88 1xbet 1xbet 670Оан이지노 골드골드볜 - Sportsbook - Legalbet
回覆刪除