2009年5月17日 星期日

==轉載==[Gallery2]使用Gmail Smtp server 寄信

在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,不能亂動,所以就沒再仔細去測試。


原始網址

沒有留言:

張貼留言