スポンサーサイト

  • このエントリーを含むはてなブックマーク
  • Yahoo!ブックマークに登録
    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    LimeSurvey1.8系 common.phpでメール送信バグ

  • このエントリーを含むはてなブックマーク
  • Yahoo!ブックマークに登録
    過去配布していた、LimeSurvey1.8系の日本語メールの
    送信部に問題がありました。

    MailTextMessage関数の内部で
    html_entity_decodeの前にmb_convert_encodingを
    実施していて、HTMLメールのAltBodyが壊れてしまっていました。

    下記の様にUTF-8の段階でデコードし、タグをとって、
    改行変換をしてAltBodyに渡すことで改善します。

    subjectは、あまり要らない気もするのですが、
    LimeSurvey標準の言語リソースで、シングルクォーテーションが
    含まれるsubjectなどが存在するので、デコード処理を加えています。



    if ($ishtml) {
    $mail->IsHTML(true);
    $body = mb_convert_encoding(html_entity_decode($body,ENT_QUOTES,'UTF-8'), $emailcharset, auto);
    $mail->Body = $body;
    $textbody = html_entity_decode($textbody,ENT_QUOTES,'UTF-8');
    $textbody = strip_tags(br2nl($textbody));
    $textbody = mb_convert_encoding ( $textbody , $emailcharset , auto );
    $mail->AltBody = $textbody;
    } else
    {
    $mail->IsHTML(false);
    $textbody = mb_convert_encoding($textbody, $emailcharset, auto);
    $mail->Body = $textbody;
    }

    $subject = mb_convert_encoding(html_entity_decode($subject,ENT_QUOTES,'UTF-8'), $emailcharset, auto);


    スポンサーサイト

    theme : Windows 全般
    genre : コンピュータ

    comment

    Secret

    ご案内
    google検索
    カスタム検索
    カテゴリ
    最新記事
    Amazon
    カテゴリー&RSS
    RSS新着情報

    plugin by F.B

    検索フォーム
    最近のコメント(コンパクト)
    データ取得中...
    リンク
    フリーエリア
    RSSリンクの表示
    カレンダー
    07 | 2017/08 | 09
    - - 1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31 - -
    ブックマーク
    Yahoo!ブックマークに登録
  • | このエントリーを含むはてなブックマーク
  • 月別アーカイブ
    最新トラックバック
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。