Drupal中可以設置向網站和用戶通過contact頁面聯系,填寫一個表格後,發送到相應的郵箱中,而郵箱地址不用對外公布。前些天都進行了設置,但今天卻發現郵件無法發送成功。查看了一些文檔,Drupal發送郵件主要有兩種方式:
- 通過Linux服務器自帶SMTP服務發送,例如Sendmail系統;
- 通過外部SMTP服務器發送,需要驗證,并可以用SSL加密。
前者應該更簡單的,但卻總是沒有成功,Sendmail的配置辦法還不是很了解。然後改用後者,如果是有企業郵箱系統是最好了,用專門的SMTP肯定好,如果沒有企業郵箱系統的話,就用通用的免費郵箱也可以,而用帶SSL加密的Gmail安全性還是足夠高的。不過需要在服務器的PHP上添加SSL補丁,今天在同事的幫助下也搞定了。
需要下載安裝的文件有3個:
- Drupal的SMTP模塊(我是用的Drupal 6版本);
- PHPMailer(選其中Linux下的PHP5/6版本);
- PHP的OPENSSL模塊(也和已經安裝的PHP版本有關)。
這個問題算是解決了。不過測試以前的MediaWiki系統,發現Linux服務器上的Sendmail還是有些問題,導緻郵件積壓無法發出,還要請同事幫忙檢查、解決。而MediaWiki也有外部SMTP方式,我以前見過,但因為還要裝個PEAR's Mail沒有搞好,也一直就用的Sendmail。
今天還發現以前一直有問題的郵件轉發問題,是因為根域名解析時用了CNAME造成後面設置的MX記錄無效,可以通過修改根域名解析用A記錄與MX記錄分開,或者在CNAME指向的另外域名中繼續做MX記錄來指向SMTP/POP3郵件服務器。
最近用Drupal系統遇到的新問題比較多,都作為日志記錄下來,但很具體的解決辦法和步驟就沒有時間細寫了,遇到類似問題的朋友可以自己搜索、摸索解決。
评论