HTMLコーディング

EC-CUBE3で自動返信メールが文字化けし、そしてタイトルが途中で切れたときの対処法

大阪はすっきりしない天気が続いてロードバイクに乗れずテンション下がりまくりのともさんですこんにちは。

さて、前回に引き続き今回もEC-CUBE関連です。
ほんと問題児です。
どうにかしてくれ。

自動返信メールが文字化けしました。

はいそれはもう。
どっかからウイルスメールが来たのではと思うほど。

自動返信メールの文字化け
実は本文の文字化けはなかったんです。
しかし、ヘッダの文字化けがすごかったんです。
おまけに、メールタイトルも途中で切れてます。

これはどうにかしないといけません。

対処法

文字化けそのものは文字コードの関連なので、その辺の設定をいじれば大丈夫です。

まずは、以下のファイルを修正します。
app/config/eccube/mail.yml

charset_iso_2022_jp: false

これを

charset_iso_2022_jp: true

に変更します。

次に、以下のファイルを修正します。
src/Eccube/Service/MailService.php

->setReturnPath($this->BaseInfo->getEmail04())
->setBody($body);

これを

->setReturnPath($this->BaseInfo->getEmail04())
->setBody($body)
->setCharset('iso-2022-jp')
->setEncoder(new \Swift_Mime_ContentEncoder_PlainContentEncoder('7bit'));

こうします。

MailService.php内に9箇所あります。
すべて置き換えてください。

最後に、以下のファイルを修正します。
/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php

$newstring = mb_encode_mimeheader($string, $charset, $this->getName(), "\r\n");

これを

$newstring = mb_encode_mimeheader($string, $charset, $this->getName(), "\n");

こうします。

改行コードだけ修正しました。
今回の場合、2つ目までの対応では解決せず、3つ目まで行ってはじめて解決しました。

すべての対応を行った上で、ファイルをFTPにアップロードすれば完了です。
これでヘッダの文字化けは解消されました。

まとめ

EC-CUBE3の情報は、ネット上にはなかなか上がっていないのか、Google先生に聞いても「知りませんくそが」と言われることが多いんですが|д゚)
wordpressの情報はくさるほどあるのに。

うーん、トライ&エラーでやるしかないですねー
がんばります。

ともさんでした。

ピックアップ記事

  1. 【お客様インタビュー】サンキョウプラテック株式会社様

関連記事

  1. HTMLコーディング

    【WordPressでGO!】WordPressをローカル環境へインストールしてみよう

    あけましておめでとうございます。今年もよろしくお願いいたします。2018年一発目の記事は、WordPressです(≧▽≦)WordPr…

  2. HTMLコーディング

    社内勉強会を行いました。

    こんにちわ、入社2ヶ月のともさんです。さて、去る9月16日(金)19:00~社内勉強会を行いました。テイクフォーでは初の勉強会となります。…

  3. HTMLコーディング

    棒グラフをcssで表現してみよう

    何かおいしい日本酒銘柄があれば教えて欲しいと思っている、ともさんです。ちなみに、私のおすすめは「美少年」です。先日の案件で、サイト内に棒グ…

  4. HTMLコーディング

    EC-CUBE3をローカル環境へインストールしてみよう

    寒い!((((;゚Д゚))))寒すぎてロードバイク諦めかけてるともさんです、こんにちわ。EC-CUBE3のテスト環境を作りたくて、どこに作…

  5. HTMLコーディング

    【WordPressでGO!】WordPressの子テーマを作ってみよう

    前回の記事から1週間も経っていないことに軽く衝撃を感じているともさんです、こんにちわ。もう正月気分も抜けて、いよいよ体重が気になりだしたころでしょ…

  6. HTMLコーディング

    【PHP】ページ毎に表示を変えるサイドメニューの分岐の方法

    先日会社の人たちと初登山へ行ってきましたが3回ほど盛大にコケてオシリが痛くなったともさんです、こんにちわ。・・・いや、登山楽しかったですよ。次回は…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


最近の記事

  1. コピーライティング

    キャッチコピーに役立つキュレーションメディア5選!
  2. WEBデザイン

    「いらすとや」の素材を使ってマンガを作成しよう!
  3. レポート

    水彩画の描き方を教えます!(その1)
  4. レポート

    HARIO V60がきた!
  5. WEB集客

    「いらすとや」について考察してみました
PAGE TOP