yii自带的邮件类使用的是MIME 协议,发送附件时用的是MIME 协议的 Content-disposition扩展,用扩展下载中文名称的附件时有时会正常,有时会乱码。

只需找到如下文件

Yii2.0    发送邮件时中文附件乱码的问题-LMLPHP

的如下方法把

$this->setHeaderParameter('Content-Disposition', 'filename', $filename);
替换成
$this->setHeaderParameter("Content-Disposition", "attachment",  "filename*=utf8''".urlencode($filename));

Yii2.0    发送邮件时中文附件乱码的问题-LMLPHP

05-11 17:56