1 頁 (共 1 頁)

如何更改電子郵件的寄件人資訊

發表於 : 2008-08-30 12:54
飛鷹
請問如何更改電子郵件的寄件人資訊
當會員收到系統發出的電子郵件時
寄件人資訊都會顯示我的電子郵件帳號
我想讓他顯示為:xx論壇
可行嗎?

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2008-08-31 19:21
心靈捕手
飛鷹 寫:請問如何更改電子郵件的寄件人資訊
當會員收到系統發出的電子郵件時
寄件人資訊都會顯示我的電子郵件帳號
我想讓他顯示為:xx論壇
可行嗎?
經過個人在官方 phpbb 論壇的搜尋, 發現這個問題有解決之道.

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

#
#-----[ FIND ]-----
#

代碼: 選擇全部

        if (empty($this->from))
        {
            $this->from = '<' . $config['board_contact'] . '>';
        }
#
#-----[ REPLAVE WITH ]-----
#

代碼: 選擇全部

        if (empty($this->from))
        {
            $this->from = '"' . $config['sitename'] . '"' . '<' . $config['board_contact'] . '>';
        }
#
#-----[ SAVE & CLOSE ]-----
#
不過, 經實際測試, 發現, 這個修改有不足之處:
若原論壇名稱為 '中文', 則寄件者會顯示 '亂碼'.

參考連結:
http://www.phpbb.com/community/viewtopi ... &t=1003255

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2008-09-01 12:43
MeowJohn
和phpbb2出現問題一樣, 好像是from寄件人欄位不支援utf-8顯示..
試試老方法:

includes/functions_messenger.php

代碼: 選擇全部

找到
        if (empty($this->from))
        {
            $this->from = '<' . $config['board_contact'] . '>';
        }

直接填入修改成

        if (empty($this->from))
        {
            $this->from = '寄件人或論壇名稱' '<' . $config['board_contact'] . '>';
        }


Re: 如何更改電子郵件的寄件人資訊

發表於 : 2008-09-01 22:36
心靈捕手
心靈捕手 寫:不過, 經實際測試, 發現, 這個修改有不足之處:
若原論壇名稱為 '中文', 則寄件者會顯示 '亂碼'.

參考連結:
http://www.phpbb.com/community/viewtopi ... &t=1003255
經過測試, 加上兩個函式後, 是可以正常顯示中文的.

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

#
#-----[ FIND ]-----
#

代碼: 選擇全部

		if (empty($this->from))
		{
			$this->from = '<' . $config['board_contact'] . '>';
		}
#
#-----[ REPLAVE WITH ]-----
#

代碼: 選擇全部

		if (empty($this->from))
		{
			//$this->from = '<' . $config['board_contact'] . '>';
			// + UTF-8 
			mb_internal_encoding("UTF-8");
			$config['sitename'] = mb_encode_mimeheader($config['sitename'], 'UTF-8');
			// - UTF-8
			$this->from = '"' . $config['sitename'] . '"'. '<' . $config['board_contact'] . '>';
		}
#
#-----[ SAVE & CLOSE ]-----
#

ps.
此修改方法, 同步發表於官方 phpbb 論壇.
http://www.phpbb.com/community/viewtopi ... 5#p6865015

參考連結:
http://tw2.php.net/mb_internal_encoding
http://tw2.php.net/manual/en/function.m ... header.php

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2008-09-01 23:14
飛鷹
按照心靈捕手大的方式
我也測試成功 (:Y)

感謝心靈捕手大大 (:Y)

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2009-03-11 21:09
WesleyHo
心靈捕手 寫:
心靈捕手 寫:不過, 經實際測試, 發現, 這個修改有不足之處:
若原論壇名稱為 '中文', 則寄件者會顯示 '亂碼'.
參考連結:
http://www.phpbb.com/community/viewtopi ... &t=1003255
經過測試, 加上兩個函式後, 是可以正常顯示中文的.
我用了心靈捕手大大的這方法修改,今天卻發現單一寄送的 mail (例如 帳號認證、訂閱文章通知…) 是可以正常顯示中文的寄件人名稱;但是,若是由後台同時寄多人大量 e-mail 時,收到的信寄件人名稱還是亂碼耶… :s

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2009-03-11 21:20
心靈捕手
WesleyHo 寫:
心靈捕手 寫:
心靈捕手 寫:不過, 經實際測試, 發現, 這個修改有不足之處:
若原論壇名稱為 '中文', 則寄件者會顯示 '亂碼'.
參考連結:
http://www.phpbb.com/community/viewtopi ... &t=1003255
經過測試, 加上兩個函式後, 是可以正常顯示中文的.
我用了心靈捕手大大的這方法修改,今天卻發現單一寄送的 mail (例如 帳號認證、訂閱文章通知…) 是可以正常顯示中文的寄件人名稱;但是,若是由後台同時寄多人大量 e-mail 時,收到的信寄件人名稱還是亂碼耶… :s
建議您:
補充說明, 出現 "寄件人名稱還是亂碼" 的信件, 是由哪一個 POP 接收的?

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2009-03-11 23:29
WesleyHo
心靈捕手 寫:
WesleyHo 寫:我用了心靈捕手大大的這方法修改,今天卻發現單一寄送的 mail (例如 帳號認證、訂閱文章通知…) 是可以正常顯示中文的寄件人名稱;但是,若是由後台同時寄多人大量 e-mail 時,收到的信寄件人名稱還是亂碼耶… :s
建議您:
補充說明, 出現 "寄件人名稱還是亂碼" 的信件, 是由哪一個 POP 接收的?
我是從管理平台「大量 e-mail 」發出電子報給一般會員,在發出去之前我有先測試只寄到我一人信箱,用 outlook 接收一切都正常;但正式發出去,就有網友反應他們收到的寄件人會變成亂碼,我有在論壇公開詢問詳細錯誤資訊(這邊可看到我論壇上的相關討論串),有回應這問題的網友提到他們的收信方式包括 Gmail 、Hotmail、yahoo 等等是如此,甚至有人用 Outlook 收也是這樣。

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2009-03-12 10:41
心靈捕手
WesleyHo 寫:
心靈捕手 寫:
WesleyHo 寫:我用了心靈捕手大大的這方法修改,今天卻發現單一寄送的 mail (例如 帳號認證、訂閱文章通知…) 是可以正常顯示中文的寄件人名稱;但是,若是由後台同時寄多人大量 e-mail 時,收到的信寄件人名稱還是亂碼耶… :s
建議您:
補充說明, 出現 "寄件人名稱還是亂碼" 的信件, 是由哪一個 POP 接收的?
我是從管理平台「大量 e-mail 」發出電子報給一般會員,在發出去之前我有先測試只寄到我一人信箱,用 outlook 接收一切都正常;但正式發出去,就有網友反應他們收到的寄件人會變成亂碼,我有在論壇公開詢問詳細錯誤資訊(這邊可看到我論壇上的相關討論串),有回應這問題的網友提到他們的收信方式包括 Gmail 、Hotmail、yahoo 等等是如此,甚至有人用 Outlook 收也是這樣。
抽空測試一下:
1. 建立 "測試組", 分別以不同的 e-mail 建立測試帳號, 加入群組.
2. 測試 "大量 e-mail".

結果:
所有的 e-mail 接收的信件, 其寄件人名稱都是正常顯示的.

以下分別貼出 Gmail, yahoo, hotmail 擷圖:
2009031226.png
2009031227.png
2009031228.png
建議您:
1. 補充說明, 是否有添加其他的修改.
2. 不嫌棄的話, 請您或您的會員到我的討論區註冊後, 加入 "電子報讀者" 群組. :oops:

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2009-03-13 03:57
WesleyHo
多謝您的測試!其實我也試過同樣方式作測試,自設了一個「測試群組」,然後用管理平台大量 mail 功能寄給「測試群組」,收到的信寄件人名稱是正常的,完全沒有問題。

但是,若是當我寄大量 mail 的收件選的是「所有會員」群組時(這是系統預設的群組,新註冊為會員會自動加入,不是管理者自創的),收到的信寄件人名稱就會變成亂碼,所以差別應該是出在預設群組和自設群組的不同,真是讓我覺得詭異呀! :roll:

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2009-03-13 07:06
心靈捕手
WesleyHo 寫:多謝您的測試!其實我也試過同樣方式作測試,自設了一個「測試群組」,然後用管理平台大量 mail 功能寄給「測試群組」,收到的信寄件人名稱是正常的,完全沒有問題。

但是,若是當我寄大量 mail 的收件選的是「所有會員」群組時(這是系統預設的群組,新註冊為會員會自動加入,不是管理者自創的),收到的信寄件人名稱就會變成亂碼,所以差別應該是出在預設群組和自設群組的不同,真是讓我覺得詭異呀! :roll:
不建議 "寄大量 mail 的收件選的是「所有會員」群組"!

像我的論壇會員數上千, 竹貓會員數上萬, 寄這麼一封信, 恐怕不是一件容易的事.
除非, 您自行架 (SMTP) 郵件伺服器, 並且做了相關的 (放寬) 設定,
否則, 一般而言 (SMTP) 郵件伺服器, 可能會中斷這 "偉大" 的作業.

我從來沒有這麼做; 剛剛測試結果, 也果然如預期:
跑了大約不到一分鐘後, 便出現 (內部) 錯誤的訊息.

比較建議的做法是:
建立一個開放性的群組 (如: 電子報讀者), 讓會員自由加入;
當您要寄大量 e-mail 時, 只有選擇 "電子報讀者" 為收件人.

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2009-03-13 08:03
WesleyHo
謝謝您的回覆,在下的論壇只是小論壇,平常也不會寄大量 mail 給所有會員,但這次是因為網址更換加上改版,有必要通知所有會員,所以才會如此做的。 :)

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2009-03-13 09:38
心靈捕手
WesleyHo 寫:謝謝您的回覆,在下的論壇只是小論壇,平常也不會寄大量 mail 給所有會員,但這次是因為網址更換加上改版,有必要通知所有會員,所以才會如此做的。 :)
基本上, 我還是不太相信: 會因為是 "寄大量 mail 給所有會員" 所以會出現 "亂碼".
如果您寄到 "測試群組" 寄件人名稱是正常, 那麼寄給 "所有會員" 也應該是正常的.


我到測試論壇, 新增不同 e-mail 的註冊會員後,
測試結果: 會員 "啟用函" 是正常的;
接著, 測試 "寄大量 mail 給所有會員",
測試結果: 所有的 e-mail, 其收件人名稱也都是正常的.

以下再針對 Gmail, yahoo, hotmail 擷圖:
2009031328.png
P.S.
因為發現系統的 "聯絡 e-mail 位址" 也是設定 "wang5555good@gmail.com",
所以啟用函的寄件人名稱為 "我".
目前, 已經修改為 hinet mail.
2009031326.png
2009031327.png

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2011-03-23 09:30
心靈捕手
心靈捕手 寫:
心靈捕手 寫:不過, 經實際測試, 發現, 這個修改有不足之處:
若原論壇名稱為 '中文', 則寄件者會顯示 '亂碼'.

參考連結:
http://www.phpbb.com/community/viewtopi ... &t=1003255
經過測試, 加上兩個函式後, 是可以正常顯示中文的.

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

#
#-----[ FIND ]-----
#

代碼: 選擇全部

		if (empty($this->from))
		{
			$this->from = '<' . $config['board_contact'] . '>';
		}
#
#-----[ REPLAVE WITH ]-----
#

代碼: 選擇全部

		if (empty($this->from))
		{
			//$this->from = '<' . $config['board_contact'] . '>';
			// + UTF-8 
			mb_internal_encoding("UTF-8");
			$config['sitename'] = mb_encode_mimeheader($config['sitename'], 'UTF-8');
			// - UTF-8
			$this->from = '"' . $config['sitename'] . '"'. '<' . $config['board_contact'] . '>';
		}
#
#-----[ SAVE & CLOSE ]-----
#

ps.
此修改方法, 同步發表於官方 phpbb 論壇.
http://www.phpbb.com/community/viewtopi ... 5#p6865015

參考連結:
http://tw2.php.net/mb_internal_encoding
http://tw2.php.net/manual/en/function.m ... header.php
修正(includes/functions_messenger.php)語法,避免頁頂出現亂碼:

代碼: 選擇全部

          if (empty($this->from))
          {
             //$this->from = '<' . $config['board_contact'] . '>';
             mb_internal_encoding("UTF-8");
             $this->from = '"' . mb_encode_mimeheader($config['sitename'], 'UTF-8') . '"' . '<' . $config['board_contact'] . '>';
          }
參考連結:
http://www.phpbb.com/community/viewtopi ... #p12971867

Re: 如何更改電子郵件的寄件人資訊

發表於 : 2013-07-26 09:55
心靈捕手
目前此問題之有效的解決方法有二,分別整理至 KNOWLEDGE 分區。
  1. 如何更改電子郵件的寄件人資訊
  2. 讓論壇名稱出現在 e-mail 的「(來自)寄件人」欄位