[分享]如何設定SMTP (註冊有問題的看這篇)

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

moontea 寫:會員填完要註冊的帳號、信箱、密碼後
已經註冊成功,但送出後會出現\r

代碼: 選擇全部

『一般錯誤 
  
Failed sending email 』
我的後台設定如下:

系統管理員電子郵件信箱 :***@msa.hinet.net
電子郵件簽名檔: Thanks, The Management
使用 SMTP 伺服器傳送電子郵件:否\r
SMTP 伺服器網域名稱 :空白\r
SMTP 使用者帳號:空白\r
SMTP 密碼:空白\r

php.ini

[mail function]
; For Win32 only.
SMTP = localhost

; For Win32 only.
;sendmail_from = ***@msa.hinet.net

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =\r

=================
而且更換風格後,會員註冊時,居然沒有會員名稱的欄位可以填 :?:

而後台的權限設定也出現\r

代碼: 選擇全部

一般錯誤 
Couldn't obtain forum list 

請問要如何解決呢?

=========================
●架設主機作業系統:Xp Pro(sp Ⅱ)
●快速架站程式:Appserv 2.3.0
●您的上網方式:hinet 2M/256
●您的 phpBB2 版本:phpBB (2.0.3)。



謝謝哦
我來解釋一下吧~
基本上~你的觀念錯很大~~~
你的設定
使用 SMTP 伺服器傳送電子郵件:否
這個設定表示~你將不使用phpbb團隊守編寫的smtp物件來傳送郵件~
而使用php內建的mail()函式來傳送郵件~
mail()函式則是依據php.ini裡面的設定來送信~
接著~來看看你的php.ini吧~
php.ini

[mail function]
; For Win32 only.
SMTP = localhost

; For Win32 only.
;sendmail_from = ***@msa.hinet.net

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

SMTP = localhost
表示你的SMTP service在localhost
根據windowsXP內建的host檔案規則~
localhost表示127.0.0.1(本機)
也就是說~你機器必須有一個可以使用的SMTP service
再者~
;sendmail_from = ***@msa.hinet.net
被你取消~也就是你沒有送信人~

但我相信你的錯誤是因為你機器裡沒有任何一個可用的SMTPservice導致的~

居然沒有會員名稱的欄位可以填\r
這個錯誤根本討論串一點關係都沒有~~~
絕大多數是你安裝外掛疏忽所導致~

基本上~這個討論串已經很清楚的說明設定~
偏偏一堆人不想想某個設定是什麼~
而一股腦的亂抄~

想想看自己的網路環境在想想之前的說明文章~
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

ez8250 寫:看了這麼多
也跟著設定
可是還是出了問題... :-?

系統管理員電子郵件信箱:cs0232@ms16.hinet.net
使用 SMTP 伺服器傳送電子郵件:否\r
SMTP 伺服器網域名稱:ms16.hinet.net
SMTP 使用者帳號:cs0232
SMTP 使用者密碼:********


Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\program files\apache group\apache\htdocs\modules\Your_Account\index.php on line 2122350351
這個問題很簡單~
使用 SMTP 伺服器傳送電子郵件:否\r
表示你不使用phpbb團隊編寫的smtp物件去傳送郵件~
而使用php內建的mail()函式傳送~
mail()函式傳送郵件是依據php.ini的設定~
說白話點~你的php.ini設錯惹~

再者~錯誤訊息好像也都跟你說了阿~~~~~~
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\program files\apache group\apache\htdocs\modules\Your_Account\index.php on line 2122350351

錯誤:mail()函式:無法連接遠端主機localhost連接埠25的郵件主機,請檢查你的php.ini或使用use ini_set()函式去設定正確的SMTP和smtp_port的值,錯誤於c:\program files\apache group\apache\htdocs\modules\Your_Account\index.php 第2122350351行
moontea
星球普通子民
星球普通子民
文章: 3
註冊時間: 2005-08-14 02:46

文章 moontea »

messagebox 寫: 基本上~這個討論串已經很清楚的說明設定~
偏偏一堆人不想想某個設定是什麼~
而一股腦的亂抄~

想想看自己的網路環境在想想之前的說明文章~
真的是很抱歉,造成您的困擾\r

我今天已經重新再安裝php2.0.3了

真的因為對網路很不懂,很想學會,所以可能要再麻煩您了

系統管理員電子郵件信箱:***@msa.hinet.net
使用 SMTP 伺服器傳送電子郵件:否
SMTP 伺服器網域名稱:請問這裡要填嗎?若要填的話是不是填msa.hinet.net
SMTP 使用者帳號:
SMTP 使用者密碼:
(帳號啟用功能也是預設的關閉)

第二個問題

[mail function]
; For Win32 only.
SMTP = localhost

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =


以上為php.ini的預設內容

若我選「否」的話,請問是否要修改,若要修改,應如何修改呢?


簡而言之,就是我並不需要有關mail的東西
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

文章 messagebox »

真的因為對網路很不懂,很想學會,所以可能要再麻煩您了

系統管理員電子郵件信箱:***@msa.hinet.net
使用 SMTP 伺服器傳送電子郵件:否
SMTP 伺服器網域名稱:請問這裡要填嗎?若要填的話是不是填msa.hinet.net
SMTP 使用者帳號:
SMTP 使用者密碼:
(帳號啟用功能也是預設的關閉)
因為你選擇否\r
所以你就算填入正確的資料也不會起任何作用~
所以~不需要~當你選擇是\r
那就必須依據你個人的環境填入正確的
SMTP 伺服器網域名稱\r
SMTP 使用者帳號
SMTP 使用者密碼

當你的smtp server不需要作SMTP AUTH認證時~帳號密碼請保持空白~
[mail function]
; For Win32 only.
SMTP = localhost

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

以上為php.ini的預設內容

若我選「否」的話,請問是否要修改,若要修改,應如何修改呢?
你選否~則送信成功與否~則是由php.ini來決定~
這時候~php.ini的設定就非常重要~
基本上~就算選是~
通常mail()函式還是常被其他php程式使用~只是phpBB不使用而已~所以建議想辦法把他設定正確~

你這個php.ini設定表示~在本機上有個SMTP service
且~允許你這台機器送信~
送信人為me@example.com


至於如何修改~
假設你的站是在自己的電腦~且該電腦使用HINET ADSL~
這時候你可以這樣設定~~
[mail function]
; For Win32 only.
SMTP = msa.hinet.net

; For Win32 only.
sendmail_from = HINET給你的信箱(不是msa.hinet.net的權利網域的郵件地址會被ban)


還有~不要照抄~先想想你的網路環境~當你使用其他isp的線路~
msa.hinet.net這台機器是不可能可你送信的權限的~

使用其他isp的線路包括~你租用虛擬主機、使用免費空間等等~

這個討論串仔細看完後發現~會錯的原因不外乎是~
1.指定localhost來送郵件,但本機卻沒有任何SMTP service
2.指定的SMTP SERVER需要作SMTP AUTH認證,但卻不輸入帳號密碼\r
3.指定的SMTP SERVER不需要作SMTP AUTH認證,但卻輸入帳號密碼\r
4.使用免費空間或租用虛擬主機,卻偏偏要叫你的isp幫你轉信\r
5.搞不懂SMTP通訊協定卻看到別人可以使用就亂抄照抄
6.限制RCPT TO人數(轉信人數限制),這種錯誤是不能說是錯誤,人家限制一封信最多轉給50人,你偏偏要轉超過50人~
7.註冊者使用免費信箱導致收不到信或因忙線出現錯誤訊息
moontea
星球普通子民
星球普通子民
文章: 3
註冊時間: 2005-08-14 02:46

文章 moontea »

謝謝messagebox喲\r

成功了 :mrgreen:
lovekuverx
星球普通子民
星球普通子民
文章: 23
註冊時間: 2005-07-05 13:42

Re: [分享]如何設定SMTP (註冊有問題的看這篇)

文章 lovekuverx »

22183389 寫:1. 首先先確定你有一個可以使用 Outlook 或其他軟體.正常收發信件的email
2. 進入後端 基本組態 => 電子郵件設定
3. "系統管理員電子郵件信箱"請輸入你的mail供應商所提共給您的email
4. "使用 SMTP 伺服器傳送電子郵件" 請選 (遊戲駭客他的是例外,一般的信箱都是不會要求你驗證的)
5. "smtp 伺服器網域名稱"請輸入你Outlook 內設定的 外寄郵件伺服器(SMTP)
6. "SMTP 使用者帳號"和"SMTP 密碼" 留空白\r

搞定~OK!!!

附註:

YAHOO的免費信箱不能寄,還有他的EMAIL也盡量別去用, 因為不符合RFC 822(SMTP)的規範, 反薯籐的好像可以

幻 狼 寫:畢竟每個人架設的方式和主機的狀況都不一樣,不過這兒有幾位前輩分別提出了不同的方法,希望大家能在看完全文後,找出最適用於自己的方式....... ;)
5. "smtp 伺服器網域名稱"請輸入你Outlook 內設定的 外寄郵件伺服器(SMTP)

這不設定可以嗎?
jamesyen
星球普通子民
星球普通子民
文章: 3
註冊時間: 2005-08-28 19:55

[問題] 救救救救救救

文章 jamesyen »

1. "使用 SMTP 伺服器傳送電子郵件" :
2. "smtp 伺服器網域名稱 smtp.pchome.com.tw
3. "SMTP 使用者帳號"XXXXX
4."SMTP 密碼" "XXXX
在outlook測試過可以。
我的php.ini設定如下:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from =XXXXX@pchome.com.tw

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i

按照以上的做法
但加入會員會出現\r
Could not connect to smtp host : 13 : Permission denied
DEBUG MODE
Line : 111

測了很久,仍無法解決。
問題狂
竹貓忠實會員
竹貓忠實會員
文章: 1947
註冊時間: 2004-06-28 17:13

文章 問題狂 »

不要使用PcHome的SMTP就行了
jamesyen
星球普通子民
星球普通子民
文章: 3
註冊時間: 2005-08-28 19:55

[問題] ?

文章 jamesyen »

大大~~可以解釋清楚一點嗎....關於設定方面
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

Re: [問題] 救救救救救救

文章 messagebox »

jamesyen 寫:Could not connect to smtp host : 13 : Permission denied
DEBUG MODE
Line : 111
你的問題應該是防火牆或防毒軟體之類的東西在作怪~
問題狂
竹貓忠實會員
竹貓忠實會員
文章: 1947
註冊時間: 2004-06-28 17:13

文章 問題狂 »

你可以使用ISP業者提供的SMTP
例如:如果你是使用Hinet的ADSL
你可以做以下設定:

代碼: 選擇全部

1. "使用 SMTP 伺服器傳送電子郵件" :是 
2. "smtp 伺服器網域名稱 max.hinet.net
3. "SMTP 使用者帳號" 空白\r
4."SMTP 密碼" 空白\r
試試看!
如果你的電信業者不是Hinet
你就必須打電話詢問了
以上只針對Hinet
如果你不想使用ISP提供的免費服務
你只好找有支援SMTP的免費信箱試試看
jamesyen
星球普通子民
星球普通子民
文章: 3
註冊時間: 2005-08-28 19:55

[問題] 救救救救救救~~

文章 jamesyen »

補充~
回覆問題狂:pchome確定有支援SMTP。
回覆messagebox:我的平台是linux~
messagebox
竹貓忠實會員
竹貓忠實會員
文章: 981
註冊時間: 2003-02-24 23:34

Re: [問題] 救救救救救救~~

文章 messagebox »

jamesyen 寫:補充~
回覆問題狂:pchome確定有支援SMTP。
回覆messagebox:我的平台是linux~
簡單來說~你的狀況是有東西阻止php建立一個SOCKET去連接smtp.pchome.com.tw這台機器的25連接埠~
至於我會猜測是防毒軟體是因為我之前遇過太多這種狀況~
但這不是重點~~重點是你必須想辦法解決是什麼東西在阻止php建立socket並且連接外面的機器~

另~PCHOME確實有提供SMTP service但他的service必須作SMTP AUTH認證~
不過你的問題並非是認證失敗(帳號密碼打錯)
而是你的機器根本不能跟smtp.pchome.com.tw這台機器連接~

別在設定上鑽牛角尖了~今天你就算設定成mas.hinet.net一樣會被封鎖SOCKET~

先搞定連線的問題~在解決認證的問題~

另外~如果你機器上沒有SMTP service~請將php.ini理設定修正一下~
除非~你確定你的所有php不會用到mail()這個函式來送信~
jasonhwu
星球普通子民
星球普通子民
文章: 2
註冊時間: 2005-08-28 18:14

文章 jasonhwu »

小弟在註冊新會員時也有遇到類似的問題,只是以上的討論都沒法解決問題,在此PO文,懇請各位先進賜教...

小弟先概述個人網路環境及查到問題的依據:

1.Linux作業系統,因為是浮動IP所以有用動態DNS,在內部有架DNS及sendmail

2.sendmail只有啟用smtp服務

3.小弟試過在本機或內部網路 telnet 本機private ip 25 可以發信

4.在phpbb後台選"使用smtp發信",網域則打"動態DNS"

5.小弟發現在 /var/log/messages中有一段訊息,但本人不清楚是什麼問題,畢竟小弟還只是初學者:

[ Aug 29 01:34:58 server kernel: audit(1125250498.035:3106): avc: denied { connect } for pid=3992
comm="httpd" scontext=root:system_r:httpd_t tcontext=root:system_r:httpd_t tclass=tcp_socket ]

在上述情形下,新成立論壇裡會員註冊後還是有下方(Could not connect to smtp host : 13 : Permission denied)的問題,

我在貴論壇找了好久,已經到頭昏眼花的地步,看到論壇還討論好多不錯的功能,真想試看看,眼前確為這個問題苦惱,請各位先進提供點意見,

感激不盡!!!如果發言有什麼不當,也請指教,謝謝!!

------------------------------------------------------------------------------------
●架設主機作業系統:Linux(Fedora Core 3)
●快速架站程式:Appserv(httpd-2.0.53-3.2)
●您的上網方式:ADSL (SEENet:http://www.seed.net.tw/)
●您安裝的程式:Apache(httpd-2.0.53-3.2) + php(php-4.3.11-2.7) + MySql (mysql-3.23.58-16.FC3.1)
●您的 phpBB2 版本:phpBB (2.0.17)。
●錯誤代碼:請使用 BBcode 標籤將錯誤代碼標註,範例如下(這是為了避免語法衝突):
代碼:
[ code ]Could not connect to smtp host : 13 : Permission denied[ /code ]
[ code ]DEBUG MODE[ /code ]
[ code ]Line : 111[ /code ]
[ code ]File : smtp.php[ /code ]
最後由 jasonhwu 於 2005-08-29 02:50 編輯,總共編輯了 1 次。
jimmytp
星球普通子民
星球普通子民
文章: 1
註冊時間: 2005-04-14 18:43

文章 jimmytp »

印象中使用浮動ip架設smtp的話,寄出去的信有可能會被當垃圾信處理
所以使用自己架設的smtp伺服器不一定有用\r

--

看來需要寫篇錯誤流程導引...(有圖解更好)
一步一步讓發問者檢查\r
不然每個人都直接貼上來問還挺麻煩的

最近有空的時後再來寫好了...

建議發問者先提出下列資料,以利解答
1 有沒有防火牆或防毒軟體 ex:WINXP內建
2 你使用的smtp伺服器 ex:msa.hinet.net (就是郵件地址小老鼠@後面那串)
3 主機所在的ISP ex:seednet
4 錯誤碼與錯誤訊息\r
5 phpbb基本組態裡面的設定
6 php.ini裡面的設定(如果基本組態smtp選項選否)
主題已鎖定

回到「phpBB 2 安裝與使用」