本冰箱的架站環境是由WinXP+Apache構成,主機上並沒有架設郵件伺服器,問說為什麼?因為片片懶嘛!所以才想尋找替代方案(其實好像更麻煩),Google了好一陣子,查到PHP可以透過設定php.ini使用SMTP方式寄信:
打開"C:\WINDOWS\php.ini",搜尋"mail function",將以下幾個參數填進去並且去掉分號";"讓mail功能啟動:

SMTP = 填上ISP提供的SMTP位址
smtp_port = 25
sendmail_from =填上你的名字or暱稱

(以上是在win32環境下的設定,LINUX的使用者應該不會有無法寄信這個問題,因為預設本機就有安裝sendmail阿,除非是兄臺您沒裝或者不想用。)

再來將apache重新啟動就…


還是不能寄XD

至少片片試過很多遍都沒有成功過,有可能是台固線路不能用這種免驗證方式寄信,或是現在所有ISP都行不通,個人覺得後者比較有可能,在廣告垃圾信猖獗的網路世界,不必輸入帳號及密碼就能任由有心人士以匿名方式廣發信件,實在是說不通。雖然上述設定是真的能寄信,不過必須去找個不必經由驗證步驟的SMTP Server,片片是沒有在網路上找到這種Server,但是透過自己架的SMTP Server有成功的寄出,說到這裡真的是自打嘴巴,明明前面才說懶的架的,為了貫徹愛與正義…應該說貫徹實驗精神,不試出個所以然絕不罷休,離題了拉回來…總之必須另找能夠使用驗證寄信的方法。

再插播一下,剛剛片片說的SMTP Server是用"Free SMTP Server",從名字上就可以看出這個軟體是Free,但是限制每天只能寄10封,拿來測試還算OK,真的要架SMTP Server還是另尋其他軟體吧;這是個簡單易用的小程式,安裝完執行後不必經過設定就能用了,供設定的項目只有自訂DNS Server和Port,沒有帳號密碼驗證,剛好符合需求,將php.ini中的

SMTP = localhost

改好,就可以寄信了。

將問題一一抽絲剝繭的解開,片片非常樂在其中,在此歸納一下結論:假如要採用PHP的mail()來達成寄信動作,必須自架SMTP Server(需驗證不知道行不行),或是尋找其它免驗證的伺服器,而且也證明一件事,WordPress的自動寄信功能是正常的,下一篇來探討要如何讓WordPress使用Gmail寄信。



Leave a Comment

blank