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

スポンサーリンク

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

今まで起きていた現象ってのは、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 でエンコされちってんだよね。
どうでもいいんだけど (笑

スポンサーリンク

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

  1. 名前:error 投稿日:2007/06/30(土) 19:41:10 ID:a08e321f0 返信

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

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

  2. 名前:BuCCi 投稿日:2007/06/30(土) 19:55:12 ID:9009773b9 返信

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