Contact Form 7 プラグインに関する質問ですね。(ぱっと見てもわかりにくいので、もし次回質問されることがありましたらプラグインの名前もスレッドのタイトルに含めるようお願いします)
Contact Form 7 側では添付ファイル名のマルチバイト文字を変換・除去するような処理は行なっていませんので、問題の挙動は Contact Form 7 以外の層で行なわれています。
自分の環境で試してみたところ、”ほげほげ.pdf” は “69e285bae22889ad148c8e81dfeaabdd.pdf” として送られてきました。”69e285bae22889ad148c8e81dfeaabdd” は “ほげほげ” の MD5 ハッシュ値のようです。ざっくりとソースを眺めてみた限りでは、この MD5 変換処理は wp-includes/class-phpmailer.php 内で行なわれているようです。
何が言いたいかというと、添付ファイル名にマルチバイト文字が含まれていても実害はありませんが、気になるなら含まない方がいいでしょう。
“ほげほげ.pdf” が “pdf” に変換されることはまずありえないと思います。何か他のプラグインが干渉していないか、別のメールクライアントで開いたら違って見えないか、など、もう一度確認してみてください。
Takayuki Miyoshiさん、回答ありがとうございます。
>Contact Form 7 プラグインに関する質問ですね。(ぱっと見てもわかりにくいので、もし次回質問されることがありましたらプラグインの名前もスレッドのタイトルに含めるようお願いします)
失礼しました^^;
次回から、そうさせて頂きます。
アドバイスの通りに違うメーラーやプラグイン関係を見直してみました。
「WP Multibyte Patch」がOFFだったのが原因だったみたいです。
有効化にしたところ、Takayuki Miyoshiさんと同じように「69e285bae22889ad148c8e81dfeaabdd.pdf」と送信されてきました。
でも、これでは・・・ファイル名が読めないですね^^;
1歩前進しましたが、これはこれで困りました・・・。
同じ問題なのですが、「WP Multibyte Patch」の
wp-multibyte-patch.php の266行目
$name = ($name == $name_enc) ? $name . $ext : md5($name) . $ext;
によってファイル名がサニタイズ(md5)されています。
しかしファイル名は日本語ならそのままで保存したいと思います。
$name = ($name == $name_enc) ? $name . $ext : urlencode($name) . $ext;
とかすると、エンコードされたファイル名になって見苦しくはありますが
ダウンロードするときは元のファイル名になります。
それは次善策ではあるのですが、他に方法というのはあるのでしょうか。