作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Zend_Mail 并想自定义发件人姓名。
我希望发件人姓名为FooBar爱你Ryan(其中“Ryan”被替换为收件人姓名,爱你被替换为收件人语言中的“loves”翻译, just like CD Baby does ).
我试过了 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)
.
有什么想法吗?
最佳答案
对我来说,唯一有效的解决方案如下:当您在通常的 php sendmail 案例中设置 utf8 主题时,您可以制作一个 utf8 注释的 base64 字符串,如下所示:
$mail->addFrom($fromEmail, '=?utf-8?B?'.base64_encode($fromName).'?=');
有了这个解决方案,一切都像魅力一样运作。
关于php - Zend_Mail 中的 UTF-8 发件人姓名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13997015/
我是一名优秀的程序员,十分优秀!