サポート » プラグイン » MW WP FORMから送信される自動送信メールをHTMLメールで送りたい

  • 解決済 SWD

    (@swd)


    MW WP FORMの自動送信メールについて、
    現状ではテキストメールしか送れませんが、例えばメールヘッダを
    上書きすることでhtmlメールを送れるようにするようなことができないかと思っているのですが、
    MW WP FORMのソースを見ていると$headersはこちらで上書きできなさそうな感じでした。

    例えば、下記のような感じでヘッダ情報を書き換えることができると自由度があるのですが、
    Wordpress本体やプラグイン本体を触らずに対応させるよい方法はないでしょうか。

    function hoge( $Mail, $values, $Data ) {
    $body_html = <<<EOS
    <html>
    <head>
    <meta http-equiv="Content-Type" Content="text/html;charset=UTF-8">
    </head>
    <body>
    <h1 style="color:#cc0000;">HTMLメールのテスト</h1>
    <p>
    HTMLメールのテストです。
    </p>
    </body>
    </html>
    EOS;
    
    $boundary = "--".uniqid(rand(),1);
    
    // ヘッダー情報
    $header = '';
    $header .= 'Content-Type: multipart/alternative; boundary="' . $boundary . '"' . "\r\n";
    $header .= 'Content-Transfer-Encoding: binary' . "\r\n";
    $header .= 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
    $header .= "From: " . $mail_from . "\r\n";
    
    // メッセージ部分
    $message = quoted_printable_decode ( $body_html ) . "\r\n";
    
        $Mail->headers = $header;
        $Mail->body = $message;
        return $Mail;
    }
    add_filter( 'mwform_auto_mail_mw-wp-form-XXX', 'hoge', 10, 3 );

    上記の
    「$Mail->headers = $header」
    で上書きできちゃうと理想ですが、現状では無理そう。

    管理画面のGUIでテキストorHTMLメールをラジオボタンで
    選択できるようになっていたりすると一番ありがたいところではあるのですが、
    わかりにくいですかね。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 SWD

    (@swd)

    自己解決しましたので、念のためご報告をさせていただきます。

    Wordpress本体のフィルター「wp_mail_content_type」で「text/html」に変更することで解決できました。

    add_filter( 'wp_mail_content_type', 'set_html_content_type' );
    
    function set_html_content_type() {
    	return 'text/html';
    }

    ※実際には、メール送信後にこのフィルターをremoveして元に戻しています。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「MW WP FORMから送信される自動送信メールをHTMLメールで送りたい」には新たに返信することはできません。