[反應] 2.0.18 中文UTF-8版 信件標題異常

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

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

竹貓的大大知道Dayto 下面的這個連結已經壞了嗎?
進去是空白畫面說

http://phpbb-tw.net/phpbb/viewtopic.php?t=34400



花了一整天的時間做更多測試,發現在 gmail 和 yahoo 都跑得很好,就只有在 hotmail 裡標題正確,但內容不對。更有趣的是我後來以群組方式來發系統信給三個不同的帳號測試,gmail 和 yahoo 都收到了,hotmail 乾脆裝聾作啞,連信都收不到,真是被它打敗了..... (:W)
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8536
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

momoC 寫:竹貓的大大知道Dayto 下面的這個連結已經壞了嗎?
進去是空白畫面說

http://phpbb-tw.net/phpbb/viewtopic.php?t=34400



花了一整天的時間做更多測試,發現在 gmail 和 yahoo 都跑得很好,就只有在 hotmail 裡標題正確,但內容不對。更有趣的是我後來以群組方式來發系統信給三個不同的帳號測試,gmail 和 yahoo 都收到了,hotmail 乾脆裝聾作啞,連信都收不到,真是被它打敗了..... (:W)
應該是標題結尾出現 '亂碼', 導致您使用的瀏覽器無法瀏覽;
已經修復, 請再試試!
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

哇,修得好快,謝謝! :-)

仔細看看,才發現 hotmail 下無法看到 utf-8 訊息的問題早就有人提出過了  :oops:

不過,看起來好像還沒有解方是不是?
minotaur
星球公民
星球公民
文章: 170
註冊時間: 2005-01-05 20:52
聯繫:

文章 minotaur »

●架設主機作業系統:遠端主機
●上網方式:Hinet ADSL 2m/256
● phpBB2 版本:phpBB 2.0.21
momoC
星球公民
星球公民
文章: 167
註冊時間: 2004-09-15 22:39
聯繫:

文章 momoC »

謝謝 minotaur 提供的連結,我在自己系統改了兩次,又下傳乾淨檔案重新做一次,都沒成功耶。不知道是什麼原因,會再繼續試試看。
t54185
星球公民
星球公民
文章: 72
註冊時間: 2006-08-24 12:48

文章 t54185 »

brentsu 寫:我又來雞婆一下....
因為我是使用最乾淨的【全新安裝】方式.... 所以應該是最標準的 2.0.18 UTF-8 版討論區....

因此標準的 2.0.18 UTF-8 版把註冊信寄到 yahoo.com.tw 同樣會面臨【主題:】亂碼的問題,不過 yahoo.com 則是沒有這個問題,但是整個網頁要改用 Unicode 才能看到,否則通通是亂碼。

在這裡的【dayto】提出的辦法
http://phpbb-tw.net/phpbb/viewtopic.php?t=34400

其實 MOD 只要改成這樣:

代碼: 選擇全部

# 
#-----[OPEN]---------- 
# 
includes/emailer.php 

# 
#-----[ FIND 尋找]--------------------------------------------- 
# 
$result = smtpmail($to, $this->subject, $this->msg, $this->extra_headers); 

# 
#-----[ BEFORE, ADD 之前,新增]--------------------------------------------- 
# 
$this->subject = "=?UTF-8?B?" . base64_encode($this->subject) . "?=";

# 
#-----[ FIND 尋找]--------------------------------------------- 
# 
$to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to;

$result = @mail($to, $this->subject, preg_replace("#(?<!
)
#s", "
", $this->msg), $this->extra_headers); 

# 
#-----[ MODIFY, ADD 修改, ?#91;上]--------------------------------------------- 
# 
$to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to;
$this->subject = iconv('UTF-8','Big5',$this->subject);
$result = @mail($to, $this->subject, preg_replace("#(?<!
)
#s", "
", $this->msg), $this->extra_headers);

# 
#-----[ SAVE/CLOSE ALL FILES 儲存/關閉所有檔案 ]------------------- 
# 
# EoM 修正結束 
#
這段程式後面還有一個同樣的【$result = @mail ....】指令,因為是放在 if 指令裡面,應該不用再做 UTF-8 處理了。

這樣子寄到 yahoo.com.tw 的認證信就不會出現亂碼囉~~

要這麼做主要是因為一封【全 UTF-8】的信,主旨部份會長成這樣(我使用的是 Mac OS X 的 Mail 來測試 yahoo.com.tw):

Subject: =?UTF-8?B?5ris6Kmm?=

中間的【5ris6Kmm】編碼其實是【UTF-8的主旨】,所以在主旨前面加上的是【=?UTF-8?B?】後面加上【?=】

嗯~~這就是說,要繼續等下一個 2.0.xx 原廠才可能支援 UTF-8 了.....

PS. 不知道為啥,貼上的【之前,加上】的【加】會變成亂碼??我使用的是 Mac OS X 的 Safari 瀏覽器。
2.0.22測試下 最新發現 只要新增
$this->subject = "=?UTF-8?B?" . base64_encode($this->subject) . "?=";
//郵件修正亂碼
就可以正常顯示標題。 不會中斷長標題。
進藤光
星球公民
星球公民
文章: 291
註冊時間: 2005-03-16 18:48
來自: BNW 時尚資訊網
聯繫:

文章 進藤光 »

耶~~這是很久以前的問題,而且早就解決了耶~~~我已經是這樣改了。
也就是相同的方式:

代碼: 選擇全部

$this->subject = "=?UTF-8?B?" . base64_encode($this->subject) . "?=";
※架設伺服器主機:Mac mini G4-1.5GHz, 1GB RAM 三台
※架設主機作業系統:Mac OS X Server 10.4.2 Tiger
※我的上網方式:固定制 ADSL 4M/1M、3 IP
※安裝的伺服器:Apache 1.3.33 + php 4.3.11 + MySQL 5.0.19-max
※我的 phpBB2 版本:phpBB 2.0.21 UTF-8 版
※我的會議室網址: http://bbs.bnw.com.tw/conference/
頭像
shinmaple
星球普通子民
星球普通子民
文章: 13
註冊時間: 2007-01-24 14:34

文章 shinmaple »

momoC 寫:哇,修得好快,謝謝! :-)

仔細看看,才發現 hotmail 下無法看到 utf-8 訊息的問題早就有人提出過了  :oops:

不過,看起來好像還沒有解方是不是?
使用神川小羽大大提供的教學,可解決您的問題(hotmail內亂碼問題),可以試試看
文章主題: [其它]郵件強制大五碼發送
●架設主機作業系統:windows 2000 sp4
●快速架站程式:Appserv 2.4.8(Apache 2.0.59、PHP 4.4.5、MySQL 5.0.27、phpMyAdmin 2.9.2)
●上網方式:Hinet ADSL
●phpBB2 版本:phpBB-2.0.21 UTF-8
rdbutton
星球普通子民
星球普通子民
文章: 1
註冊時間: 2008-01-27 22:40

Re:

文章 rdbutton »

t54185 寫:
brentsu 寫:我又來雞婆一下....
因為我是使用最乾淨的【全新安裝】方式.... 所以應該是最標準的 2.0.18 UTF-8 版討論區....

因此標準的 2.0.18 UTF-8 版把註冊信寄到 yahoo.com.tw 同樣會面臨【主題:】亂碼的問題,不過 yahoo.com 則是沒有這個問題,但是整個網頁要改用 Unicode 才能看到,否則通通是亂碼。

在這裡的【dayto】提出的辦法
http://phpbb-tw.net/phpbb/viewtopic.php?t=34400

其實 MOD 只要改成這樣:

代碼: 選擇全部

# 
#-----[OPEN]---------- 
# 
includes/emailer.php 

# 
#-----[ FIND 尋找]--------------------------------------------- 
# 
$result = smtpmail($to, $this->subject, $this->msg, $this->extra_headers); 

# 
#-----[ BEFORE, ADD 之前,新增]--------------------------------------------- 
# 
$this->subject = "=?UTF-8?B?" . base64_encode($this->subject) . "?=";

# 
#-----[ FIND 尋找]--------------------------------------------- 
# 
$to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to;

$result = @mail($to, $this->subject, preg_replace("#(?<!
)
#s", "
", $this->msg), $this->extra_headers); 

# 
#-----[ MODIFY, ADD 修改, ?#91;上]--------------------------------------------- 
# 
$to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to;
$this->subject = iconv('UTF-8','Big5',$this->subject);
$result = @mail($to, $this->subject, preg_replace("#(?<!
)
#s", "
", $this->msg), $this->extra_headers);

# 
#-----[ SAVE/CLOSE ALL FILES 儲存/關閉所有檔案 ]------------------- 
# 
# EoM 修正結束 
#
這段程式後面還有一個同樣的【$result = @mail ....】指令,因為是放在 if 指令裡面,應該不用再做 UTF-8 處理了。

這樣子寄到 yahoo.com.tw 的認證信就不會出現亂碼囉~~

要這麼做主要是因為一封【全 UTF-8】的信,主旨部份會長成這樣(我使用的是 Mac OS X 的 Mail 來測試 yahoo.com.tw):

Subject: =?UTF-8?B?5ris6Kmm?=

中間的【5ris6Kmm】編碼其實是【UTF-8的主旨】,所以在主旨前面加上的是【=?UTF-8?B?】後面加上【?=】

嗯~~這就是說,要繼續等下一個 2.0.xx 原廠才可能支援 UTF-8 了.....

PS. 不知道為啥,貼上的【之前,加上】的【加】會變成亂碼??我使用的是 Mac OS X 的 Safari 瀏覽器。
2.0.22測試下 最新發現 只要新增
$this->subject = "=?UTF-8?B?" . base64_encode($this->subject) . "?=";
//郵件修正亂碼
就可以正常顯示標題。 不會中斷長標題。

請問您2.022打開 includes/emailer.php 後
$this->subject = "=?UTF-8?B?" . base64_encode($this->subject) . "?=";
正確的位址放在哪成功的呢?
主題已鎖定

回到「phpBB 2 安裝與使用」