Zend Framework 1.0.*
“=?UTF-8?B?”.base64_encode($title).“?=”
发送中文名附件,结果如图:
英文名附件,结果截图:
解决办法就是将中文文件名拼接为““=?UTF-8?B?”.base64_encode($title).“?=”” , 然后发送即可。
<?php
// Notice: Zend Mail 代码是基于 zend framework 1.0.* 版本,zend framework 2.0 中发生改变
$title = "【海那边】美国EB-5投资移民,佛州高铁项目资料"; $line = "<h3>尊敬的客户:</h3>"; $line .= '<p style="margin-left: 20px;">您好!这是美国EB-5投资移民,佛州高铁项目资料宣传册,请点击附件查看!</p>'; $line .= '<p style="margin-left: 20px;">想了解佛州高铁项目更多信息,请致电4009-933-922咨询或访问。http://www.hinabian.com/project/detail.html?project_id=12021036</p>'; $line .= '<p>seaside</p>'; $attachName = DOC_ROOT . "/../config/log/佛州高铁宣传册.pdf"; $fileName = "佛州高铁宣传册.pdf"; $extraAttach = array('path' => DOC_ROOT . "/../config/log/美国EB5项目概要(佛州高铁).doc" , 'file_name' => '=?UTF-8?B?'.base64_encode('美国EB5项目概要(佛州高铁).doc').'?='); Dg_Helper_Message::sendHomeEMail($email , $title , $line , true , $attachName , '=?UTF-8?B?'.base64_encode($fileName).'?=' , $extraAttach);
Zend Framewokr 2.0 中 zend mail 使用请参考链接:http://avnpc.com/pages/zf2-mail-advanced-usage-for-template-multi-attachment
Zend Framework Official Manual reference link: http://framework.zend.com/manual/current/en/modules/zend.mail.attachments.html
http://framework.zend.com/manual/current/en/modules/zend.mail.attachments.html