在Gallery2的後台管理有個電子郵件的設定
之前我這裡是沒設定任何資料,所以當Gallery2需要寄信出去時(如註冊認證信、系統事件通知信等),就是使用系統內建的php mail來寄信。
前幾天有老師問我這方面的問題,他的系統為Windows2003(安裝Appserv),所以好像沒辦法用php mail的方式寄信出去。
我就想到了要試試用 Gmail SMTP郵件伺服器來幫我們寄信。找了一些資料,改個檔案就可以使用這服務了。
1.修改 gallery2
參考 http://gallery.menalto.com/node/49490#comment-190850 ,修改
- gallery2/libs/smtp/smtp.php 第 68行
list ($config['smtp.host'], $port) = array_merge(explode(':', $config['smtp.host']), array(25));
改成
list ($config['smtp.host'], $port) = array_merge(explode('^', $config['smtp.host']), array(25));
2.windows系統下 (我的測試環境 Appserv 2.5.10 ),再修改
啟用openssl的功能
- 修改 c:\windows\php.ini
;extension=php_openssl.dll
改成
extension=php_openssl.dll
然後重啟 Apache
3.Gallery2設定
在「後台管理」/「一般」 /「電子郵件」 的設定
- 伺服器:ssl://smtp.gmail.com^465
這是Gmail Smtp的設定(Gmail Help說明網頁),port可用 465 或 587,但我若使用了 port 587會發生錯誤,無法寄信。 - 用戶名稱:你的Google email
不能只使用username,必須使用 user@gmail.com ,若你的單位有申請Google Apps服務,也可以使用。 - 密碼
- SMTP發件人地址:
這的地址會顯示在Galery2寄出信件的送信人mail。
4.測試
上面設定完成,如下圖自己測試看看
若一切正常,就可以收到測試信件了
5.目前遇過的問題
某一台主機 Windows 2003 server 安裝 Appserv 2.4.7,php版本好像為4.4吧,同樣的設定但卻無法寄出測試信,由於該主機是別校的線上server,不能亂動,所以就沒再仔細去測試。
沒有留言:
張貼留言