如何更改電子郵件的寄件人資訊
發表於 : 2008-08-30 12:54
請問如何更改電子郵件的寄件人資訊
當會員收到系統發出的電子郵件時
寄件人資訊都會顯示我的電子郵件帳號
我想讓他顯示為:xx論壇
可行嗎?
當會員收到系統發出的電子郵件時
寄件人資訊都會顯示我的電子郵件帳號
我想讓他顯示為:xx論壇
可行嗎?
經過個人在官方 phpbb 論壇的搜尋, 發現這個問題有解決之道.飛鷹 寫:請問如何更改電子郵件的寄件人資訊
當會員收到系統發出的電子郵件時
寄件人資訊都會顯示我的電子郵件帳號
我想讓他顯示為:xx論壇
可行嗎?
代碼: 選擇全部
if (empty($this->from))
{
$this->from = '<' . $config['board_contact'] . '>';
}代碼: 選擇全部
if (empty($this->from))
{
$this->from = '"' . $config['sitename'] . '"' . '<' . $config['board_contact'] . '>';
}代碼: 選擇全部
找到
if (empty($this->from))
{
$this->from = '<' . $config['board_contact'] . '>';
}
直接填入修改成
if (empty($this->from))
{
$this->from = '寄件人或論壇名稱' '<' . $config['board_contact'] . '>';
}
經過測試, 加上兩個函式後, 是可以正常顯示中文的.心靈捕手 寫:不過, 經實際測試, 發現, 這個修改有不足之處:
若原論壇名稱為 '中文', 則寄件者會顯示 '亂碼'.
參考連結:
http://www.phpbb.com/community/viewtopi ... &t=1003255
代碼: 選擇全部
if (empty($this->from))
{
$this->from = '<' . $config['board_contact'] . '>';
}
代碼: 選擇全部
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'] . '>';
}
我用了心靈捕手大大的這方法修改,今天卻發現單一寄送的 mail (例如 帳號認證、訂閱文章通知…) 是可以正常顯示中文的寄件人名稱;但是,若是由後台同時寄多人大量 e-mail 時,收到的信寄件人名稱還是亂碼耶…心靈捕手 寫:經過測試, 加上兩個函式後, 是可以正常顯示中文的.心靈捕手 寫:不過, 經實際測試, 發現, 這個修改有不足之處:
若原論壇名稱為 '中文', 則寄件者會顯示 '亂碼'.
參考連結:
http://www.phpbb.com/community/viewtopi ... &t=1003255
建議您:WesleyHo 寫:我用了心靈捕手大大的這方法修改,今天卻發現單一寄送的 mail (例如 帳號認證、訂閱文章通知…) 是可以正常顯示中文的寄件人名稱;但是,若是由後台同時寄多人大量 e-mail 時,收到的信寄件人名稱還是亂碼耶…心靈捕手 寫:經過測試, 加上兩個函式後, 是可以正常顯示中文的.心靈捕手 寫:不過, 經實際測試, 發現, 這個修改有不足之處:
若原論壇名稱為 '中文', 則寄件者會顯示 '亂碼'.
參考連結:
http://www.phpbb.com/community/viewtopi ... &t=1003255
我是從管理平台「大量 e-mail 」發出電子報給一般會員,在發出去之前我有先測試只寄到我一人信箱,用 outlook 接收一切都正常;但正式發出去,就有網友反應他們收到的寄件人會變成亂碼,我有在論壇公開詢問詳細錯誤資訊(這邊可看到我論壇上的相關討論串),有回應這問題的網友提到他們的收信方式包括 Gmail 、Hotmail、yahoo 等等是如此,甚至有人用 Outlook 收也是這樣。心靈捕手 寫:建議您:WesleyHo 寫:我用了心靈捕手大大的這方法修改,今天卻發現單一寄送的 mail (例如 帳號認證、訂閱文章通知…) 是可以正常顯示中文的寄件人名稱;但是,若是由後台同時寄多人大量 e-mail 時,收到的信寄件人名稱還是亂碼耶…
補充說明, 出現 "寄件人名稱還是亂碼" 的信件, 是由哪一個 POP 接收的?
抽空測試一下:WesleyHo 寫:我是從管理平台「大量 e-mail 」發出電子報給一般會員,在發出去之前我有先測試只寄到我一人信箱,用 outlook 接收一切都正常;但正式發出去,就有網友反應他們收到的寄件人會變成亂碼,我有在論壇公開詢問詳細錯誤資訊(這邊可看到我論壇上的相關討論串),有回應這問題的網友提到他們的收信方式包括 Gmail 、Hotmail、yahoo 等等是如此,甚至有人用 Outlook 收也是這樣。心靈捕手 寫:建議您:WesleyHo 寫:我用了心靈捕手大大的這方法修改,今天卻發現單一寄送的 mail (例如 帳號認證、訂閱文章通知…) 是可以正常顯示中文的寄件人名稱;但是,若是由後台同時寄多人大量 e-mail 時,收到的信寄件人名稱還是亂碼耶…
補充說明, 出現 "寄件人名稱還是亂碼" 的信件, 是由哪一個 POP 接收的?
不建議 "寄大量 mail 的收件選的是「所有會員」群組"!WesleyHo 寫:多謝您的測試!其實我也試過同樣方式作測試,自設了一個「測試群組」,然後用管理平台大量 mail 功能寄給「測試群組」,收到的信寄件人名稱是正常的,完全沒有問題。
但是,若是當我寄大量 mail 的收件選的是「所有會員」群組時(這是系統預設的群組,新註冊為會員會自動加入,不是管理者自創的),收到的信寄件人名稱就會變成亂碼,所以差別應該是出在預設群組和自設群組的不同,真是讓我覺得詭異呀!
基本上, 我還是不太相信: 會因為是 "寄大量 mail 給所有會員" 所以會出現 "亂碼".WesleyHo 寫:謝謝您的回覆,在下的論壇只是小論壇,平常也不會寄大量 mail 給所有會員,但這次是因為網址更換加上改版,有必要通知所有會員,所以才會如此做的。
修正(includes/functions_messenger.php)語法,避免頁頂出現亂碼:心靈捕手 寫:經過測試, 加上兩個函式後, 是可以正常顯示中文的.心靈捕手 寫:不過, 經實際測試, 發現, 這個修改有不足之處:
若原論壇名稱為 '中文', 則寄件者會顯示 '亂碼'.
參考連結:
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
代碼: 選擇全部
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'] . '>';
}