WordPress

WP-DBManager使用時に発生するメールの文字バケ対策

Category

WordPress

WordPressでデータベースのバックアップを取る際、WP-DBManagerプラグインを使って「1週間に一度データベースのバックアップを取る」や「3日に一度データベースを最適化する」等と設定しておくと、自動でデータベースのバックアップや最適化をしてくれるのでとても便利です。また、データベースのバックアップは、サーバー内に格納されるだけでなく、指定のメールアドレスにもSQLデータとして転送できますので、サーバーにトラブルが発生した場合にも安心です。
ですが、デフォルト状態では、メールを受信した際に宛先や件名が文字バケして表示されてしまう場合があります。これは、使用しているメーラーによるみたいで、スマートフォンで受信するとかなり高い確率で文字バケが発生してしまいます。
この間、「PCのメーラー(その時はWindows Live メールとOutlook Express)では問題ないけど、スマートフォンのメーラー(iPhoneやAndroid端末のメーラー)だと文字バケしちゃいますよー」といったことがありましたので、覚え書きのため書き残しておきます。

Keyword:データベースバックアップ,メールの文字バケ対策

WP-DBManager

プラグインのPHPを一部修正する

PHPファイルを修正するといってもいたって簡単。
メールの件名とヘッダーにエンコードを追記してやるだけです。

WP-DBManagerプラグインのバージョンは、2012.2.21時点で最新版となるVer.2.63で説明します(新・旧バージョンでは、多少ソースが変わっていると思います)。

database-manage.phpとwp-dbmanager.phpを修正します。

database-manage.php

//$mail_subject = sprintf(__('%s Database Backup File For %s', 'wp-dbmanager'), wp_specialchars_decode(get_option('blogname')), $file_date);
//$mail_header = 'From: '.wp_specialchars_decode(get_option('blogname')).' Administrator <'.get_option('admin_email').'>';
$mail_subject = sprintf(__('%s Database Backup File For %s', 'wp-dbmanager'), wp_specialchars_decode(get_option('blogname')), $file_date);
$mail_subject = mb_encode_mimeheader($mail_subject, 'UTF-8', 'B');
$mail_header = sprintf('From: %s Administrator <%s>', mb_encode_mimeheader(wp_specialchars_decode(get_option('blogname')), 'UTF-8', 'B'), get_option('admin_email'));

補足

90行目辺りにある”$mail_subject”と”$mail_header”という箇所を探します。
“$mail_subject”が件名、”$mail_header”がメールヘッダー(宛先)となります。
もとの記述を”//”でコメントアウトし、その下に件名とヘッダーをUTF-8で出力するように追記します。

wp-dbmanager.php

//$mail_subject = sprintf(__('%s Database Backup File For %s', 'wp-dbmanager'), wp_specialchars_decode(get_option('blogname')), $file_date);
//$mail_header = 'From: '.wp_specialchars_decode(get_option('blogname')).' Administrator <'.get_option('admin_email').'>';
$mail_subject = sprintf(__('%s Database Backup File For %s', 'wp-dbmanager'), wp_specialchars_decode(get_option('blogname')), $file_date);
$mail_subject = mb_encode_mimeheader($mail_subject, 'UTF-8', 'B');
$mail_header = sprintf('From: %s Administrator <%s>', mb_encode_mimeheader(wp_specialchars_decode(get_option('blogname')), 'UTF-8', 'B'), get_option('admin_email'));

補足

120行目辺りにある”$mail_subject”と”$mail_header”という記述を探します。
こちらもdatabase-manage.phpと書いてある内容は同じですので、もとの記述をコメントアウトし、その下に件名とヘッダーをUTF-8で出力するように追記します。

これで、メールの宛先や件名が文字バケせずに受信できるようになります。

List

関連記事(※当記事と関連性が高いと思われる記事)

WordPressのユーザー名を分らなくする方法

2014/10/05
WordPressのユーザー名を分らなくする方法
スコア:3 ※スコアの数値が大きいほど、関連性の高い記事です。 WordPressのユーザー名は意外と簡単に分ってしまう WordPressで作られたサイトのドメインの後に「/?author=1 」と入力してみてください。 投稿者ア... 続きを読む...

WordPressの検索表示をカスタマイズする

2012/03/11
WordPressの検索表示をカスタマイズ
スコア:2 ※スコアの数値が大きいほど、関連性の高い記事です。 以下の手順で紹介していきます。※テキストリンクをクリックすると、その箇所までページがスクロールします。 検索フォームを変更する 検索結果に「入力した検索ワード」と「該当... 続きを読む...

WordPress 3.3.1

2012/01/04
WordPress 3.3.1
スコア:2 ※スコアの数値が大きいほど、関連性の高い記事です。 昨日WordPress 3.3.1がリリースされていたようです。クロスサイトスクリプティングの脆弱性も含むため、3.3からアップデートしました。 WordPress 3... 続きを読む...

よく使うLinuxコマンドの覚え書き

2012/01/29
Linuxコマンド
スコア:1 ※スコアの数値が大きいほど、関連性の高い記事です。 Linuxコマンド ファイル管理 #ディレクトリの移動 cd [ディレクトリ名] 例) cd /home/username usernameディレクトリに移動します。 ... 続きを読む...

WordPress 3.4

2012/06/18
WordPress3.4
スコア:1 ※スコアの数値が大きいほど、関連性の高い記事です。 6/15にWordPress 3.4日本語版がリリースされていましたので、アップデートしました。主な変更点は以下のようになっています。 ・カスタムヘッダーのサイズ対応・... 続きを読む...

おすすめ書籍・商品(※当記事と関連性が高いと思われる書籍・商品)

ページの先頭へ