PHPのmail関数を使って、日本語(マルチバイト)のファイル名を添付するしてメールを送信する方法を紹介します。
方法はいたって簡単でした。
普通に日本語ファイル名をそのまま記述すると、拡張子が外れた状態で受信してしまいます。
そこで、一つおまじないをかけます。
日本語ファイル名に対して、mb_encode_mimeheader()関数を使ってエンコードするだけです。
例:$mail_body .= “Content-Disposition: attachment; filename=\””.mb_encode_mimeheader(“ファイル名”).”.【拡張子】\”;\n”;
もしかしたら、間違っているかもしれませんが、私の環境下では正常に送信・受信できました。