Tôi đang sử dụng Zend_Mail và muốn tùy chỉnh tên người gửi.Tên người gửi UTF-8 trong Zend_Mail?
Tôi muốn tên người gửi là Foobar 爱 你 Ryan (nơi 'Ryan' được thay thế bằng tên người nhận và 爱 你 được thay thế bằng bản dịch cho 'yêu' trong ngôn ngữ của người nhận, just like CD Baby does).
Tôi đã thử base64_encode và mb_encode_mimeheader() và những thứ khác như:
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
iconv_set_encoding("input_encoding", 'UTF-8');
iconv_set_encoding("output_encoding", 'UTF-8');
iconv_set_encoding("internal_encoding", 'UTF-8');
header('Content-Type:text/html; charset=' . 'UTF-8');
Nó tạo này là người gửi: '=?UTF-8?B?RXh0cmFidXjniLHkvaByY3dhbHNoQGV4dHJhYnV4LmNvbQ==?= <[email protected]>'
Và sau đó xuất hiện trong Gmail của tôi như (unknown sender)
.
Bất kỳ ý tưởng nào?
Bạn có thể đăng mã thực sự đặt trường tiêu đề email từ:? – Asaph
$ sendername = '=? UTF-8? B?'. Base64_encode ($ sendername). '? ='; –
Gần đây nhất tôi đã thử điều này: '$ senderName =" =? UTF-8? B? " . base64_encode ($ email-> getFromName()). "? ="; $ mail-> clearFrom(); $ mail-> setFrom ($ email-> getFrom(), $ senderName); 'đó cũng là điều mà Arda cũng đề xuất. – Ryan