我正在使用Zend_Mail并希望自定义发件人名称。
我想让发件人名称为FooBar爱你Ryan(其中“Ryan”将被替换为收件人姓名,“爱你”将被替换为收件人语言中的“loves”,就像CD Baby一样)。
我尝试了base64_encode、mb_encode_mimeheader()和其他方法,比如:
它将生成这个发送者:
我想让发件人名称为FooBar爱你Ryan(其中“Ryan”将被替换为收件人姓名,“爱你”将被替换为收件人语言中的“loves”,就像CD Baby一样)。
我尝试了base64_encode、mb_encode_mimeheader()和其他方法,比如:
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');
它将生成这个发送者:
'=?UTF-8?B?RXh0cmFidXjniLHkvaByY3dhbHNoQGV4dHJhYnV4LmNvbQ==?= <email@example.com>'
, 但在我的Gmail中出现为(unknown sender)
。你有什么想法吗?
$senderName = "=?UTF-8?B?" . base64_encode($email->getFromName()) . "?="; $mail->clearFrom(); $mail->setFrom($email->getFrom(), $senderName);
,这也是 Arda 建议的。 - Ryan