看到ecshop官方論壇里有很多關(guān)于此問(wèn)題的提問(wèn),剛好有空,測(cè)試了一下郵箱服務(wù)器設(shè)置,163郵箱可以正常發(fā)送,gmail不能正常發(fā)送,自己修改了一下代碼,就可順利發(fā)送郵件,解決如下:
1. 檢查php是否支持openssh
首先查看phpinfo,查看看PHP是否支持OpenSSL,看到下面的字樣,就標(biāo)示支持OpenSSL。一般現(xiàn)在的PHP都會(huì)默認(rèn)支持的。
OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.8b 04 May 2006
2. 修改Discuz!代碼
vi includes/cls_smtp.php大概在93行處,
把
$this->connection = @fsockopen($this->host, $this->port, $errno, $errstr, $this->timeout);
修改
$this->connection = @fsockopen('ssl://'.$this->host, $this->port, $errno, $errstr, $this->timeout);
3. 修改Gmail設(shè)置
1.登錄到您的 Gmail 帳戶。
2.點(diǎn)擊任一 Gmail 頁(yè)頂部的設(shè)置。
3.點(diǎn)擊橙色框郵件設(shè)置中的轉(zhuǎn)發(fā)和 POP。
4.選擇針對(duì)所有郵件啟用 POP 或者針對(duì)從現(xiàn)在起開(kāi)始接收的郵件啟用 POP。
5.使用 POP 訪問(wèn) Gmail 郵件后,選擇您要對(duì)郵件采用的處理方式。
4. 配置ecshop郵件設(shè)置
登錄ecshop后臺(tái),在左邊導(dǎo)航欄,單擊【系統(tǒng)設(shè)置】-》郵件服務(wù)器設(shè)置,在郵件服務(wù)選擇采用其他的SMTP服務(wù),其他的參考下圖設(shè)置
ecshop郵箱服務(wù)器設(shè)置
然后按發(fā)送測(cè)試郵件,看到如下圖代表發(fā)送成功
現(xiàn)在就可以到郵箱就收看測(cè)試郵件了,
5. 最后驗(yàn)證發(fā)送到y(tǒng)ahoo,hotmail,163,qq郵箱都能快速收到
參考文件:
原文地址:http://www.lihaixin.com/2008/10/ecshop-support-gmail-409.html