問題發生了,大多數的 SMTP Server 都有阻止 Relar 的設定,所以只要發送信件,都會失敗,天啊!怎麼辦?
SMTP Server 都有阻止 Relar 的設定,那就自己轉寄啊,先 Enable SMTP 服務,再限定只有自己本身可以轉寄就 OK 了!
1. 先新增 Windows Server 2008 的 SMTP 功能。
2. 在 IIS 管理工具中,按 SMTP 右鍵->內容->存取,在轉送畫面中,新增自己的IP (127.0.0.1)
3. 修改 PHP 資料夾中的 php.ini,取消一些 ';' ,如下:
[mail function]
; Use SMTP for sending mail instead of mail()
smtp = On
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = YourMailID@YourMail.com
......
4. 重啟 Apache!
5. 自建一 PHP 送信程式試試!
<?php
$to ="yourmail@your.com"; // 收件者
$subject ="test"; // 信件主旨
$msg = "smtp發信測試"; // 信件內容
$headers = "From: admin@your.com"; // 寄件者
if(mail("$to","$subject", "$msg", "$headers"))
echo "信件已經發送成功。"; // 寄信成功就會顯示的提示訊息
else
echo "信件發送失敗!"; // 寄信失敗顯示的錯誤訊息
?>