WordPress ME 2.2 のコメント通知メール。

WordPress
この記事は約3分で読めます。
この記事は最終更新日より 1 年以上経過しています。
画像やリンクが無効になっている可能性もあるのでご了承下さい。

気になっておとなしく寝てらんなかったので修正してみた。

今まで起きていた現象ってのは、WP の記事にコメントが付くとメールが
飛んでくるんだけどメールヘッダの 1 つ「Subject」の UTF-8 エンコされた
文字列の折り返しが狂っていて余計な改行が入り、メールボディまで
ヌッコワレると言う物でした。

ググってググって~見つけた対処法。
そこでは phpmailer を使った関数内部を全てコメントアウトを等と
書いてあった。
しかし、関数定義された直後に return してやっちまえばコメントアウト不要かと。
ってなわけで 1 行挿入で対処可能だった。

対象ファイル:「/wp-includes/pluggable.php」

if ( !function_exists( 'wp_mail' ) ) :
function wp_mail($to, $subject, $message, $headers = '') {
        global $phpmailer;

        if ( !is_object( $phpmailer ) ) {
                require_once(ABSPATH . WPINC . '/class-phpmailer.php');
                require_once(ABSPATH . WPINC . '/class-smtp.php');
                $phpmailer = new PHPMailer();
        }

これを以下 161 行目にある 1 行をいれて速効追い返す。

if ( !function_exists( 'wp_mail' ) ) :
function wp_mail($to, $subject, $message, $headers = '') {
        return @mb_send_mail($to, $subject, $message);
        global $phpmailer;

        if ( !is_object( $phpmailer ) ) {
                require_once(ABSPATH . WPINC . '/class-phpmailer.php');
                require_once(ABSPATH . WPINC . '/class-smtp.php');
                $phpmailer = new PHPMailer();
        }

以上!

だけど送信されたメールの本文が BASE64 でエンコされちってんだよね。
どうでもいいんだけど (笑

著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 2 児の父な 40 代半ばのおじさんです。

ぶっちをフォローする

コメント

  1. おっさんナイス!
    てゆか159行目あたりにその記述があったんだけどなんでこれ?
    まぁ直ったから別にいいんだけどね。

    その調子でこれからも頼むよ(-公- )

  2. 何故か行数がとんでもない数値なってた罠。
    なおしますた。159 行目で OK!
    あとシステムもいじれるなら今日書いた eAccelerator とかマジおすすめ

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.