以前使っていた、wp-contactformがうまく動かなくなったので、WP Contact Form IIIを入れてみました。こちらからダウンロードし、フォルダごとpluginディレクトリに入れ、プラグインを有効化します。そして、入れたい場所に[contactform]と半角で記載すれば良い。

  • で、最初。それでページを見たら、2+2= とあるところが表示されておらず、「送信ボタンの上に何入れるんだろう?」と思ったですが、プラグインの設定で、「設定の更新」を行うと表示されるようになりました。
  • メイルを送信すると、送信者と表題だけが文字化けします。検索してみると、mb_encode_mimeheader()関数を使う事が書いてあったのですが、私の場合、それだけではダメで、下記のようにしました。

wp-contactform.phpを編集180行目あたり、wpcf_callback関数の中の下記部分を書き換えました。

  • )$headers .= “From: $name  <$email>\n”;
  • 新)$headers .= “From:” .mb_encode_mimeheader(mb_convert_encoding($name,’JIS’,’auto’)).” <$email>\n”;
  • ————
  • 旧)mail($recipient, $subject, $fullmsg, $headers);
  • 新)mail($recipient, mb_encode_mimeheader(mb_convert_encoding($subject,’JIS’,’auto’)), $fullmsg, $headers); 

mimeheaderにエンコードする前に文字コードの変換が必要なようです。  

By husky

Leave a Reply

Your email address will not be published. Required fields are marked *