EC-CUBE Lab
produced by Cajiya
EC-CUBEに関するカスタマイズ方法やトラブルへの対処方法を発信

メール件名のショップ名を英語表記に変更する方法

公開日: 2025年10月12日 | 更新日: 2025年12月02日
メール通知 通知/コミュニケーション EC-CUBE 4系全般 サービス/コントローラ拡張

要望や症状

EC-CUBE 4系で、メール件名の先頭に自動挿入される店舗名を英語表記に変更したい場合があります。

通常、EC-CUBEから送信されるメールの件名には、日本語の店舗名が自動的に挿入されますが、海外向けの販売や英語対応のサイトでは、件名に含まれるショップ名も英語表記にしたいケースがあります。

理由や原因

EC-CUBE 4系では、メール件名のショップ名挿入処理が複数箇所に分散しています。具体的には、自動送信メールと手動送信メールで処理が分かれており、それぞれ異なる箇所で制御されています。

自動送信メールはMailService.phpの各メソッドで処理され、手動送信メールは同じくMailService.php内のsendAdminOrderMailメソッドなどで処理されています。このため、件名の表記を変更するには、それぞれの処理に対して個別に対応する必要があります。

解決策

ショップ名を英語表記に変更するには、Customizeディレクトリを使用してMailServiceをカスタマイズします。自動送信メールと手動送信メールの両方に対応する必要があります。

自動送信メール件名の変更手順

自動送信メールの件名を英語表記に変更するには、注文完了メールや発送通知メールなど、各メール送信メソッドをカスタマイズします。

Customizeディレクトリ内でMailServiceを拡張し、各メール送信メソッド内で使用されるgetShopName()getShopNameEng()に変更します。主要な対象メソッドには、注文完了メール送信のsendOrderMail、発送完了メール送信のsendShippingNotifyMailなどがあります。

// app/Customize/Service/MailService.php
<?php
namespace Customize\Service;

use Eccube\Service\MailService as BaseMailService;
use Eccube\Entity\Order;

class MailService extends BaseMailService
{
    public function sendOrderMail(Order $Order)
    {
        $subject = '[' . $this->BaseInfo->getShopNameEng() . '] ' . 'ご注文ありがとうございます';
        
        // 以下、元の処理を継承しつつ件名を変更
        return parent::sendOrderMail($Order);
    }
}

手動送信メール件名の変更手順

管理画面から手動で送信するメールの件名も、同様にCustomizeディレクトリでの対応が必要です。

まず、該当ファイルsrc/Eccube/Service/MailService.php内のsendAdminOrderMailメソッドを確認し、プラグインによる上書きがないかも確認します。

次に、Customizeディレクトリで以下のようにカスタマイズします。

// app/Customize/Service/MailService.php
<?php
namespace Customize\Service;

use Eccube\Service\MailService as BaseMailService;
use Eccube\Entity\Order;

class MailService extends BaseMailService
{
    public function sendAdminOrderMail(Order $Order, $formData)
    {
        // 元の処理をコピーし、getShopName() を getShopNameEng() に変更
        $subject = '[' . $this->BaseInfo->getShopNameEng() . '] ' . $formData['mail_subject'];
        
        // 以下、元の処理を継承
        return parent::sendAdminOrderMail($Order, $formData);
    }
}

最後に、サービス定義を追加して、カスタマイズしたMailServiceが使用されるように設定します。

# app/Customize/Resource/config/services.yaml
services:
    Eccube\Service\MailService:
        class: Customize\Service\MailService
        parent: Eccube\Service\MailService

これらの設定により、EC-CUBEから送信されるすべてのメールの件名で、ショップ名が英語表記になります。変更後はキャッシュをクリアし、テスト環境で動作確認を行ってから本番環境に適用することをお勧めします。

免責事項

本記事に掲載しているコードや手順は、執筆時点での情報および特定の環境下での動作確認に基づいています。 EC-CUBEのバージョン、サーバー環境、導入済みプラグインとの競合などにより、予期せぬ不具合が発生する可能性があります。

本記事の内容を実行した結果、生じた損害(データの消失、サイトの停止、機会損失など)について、当サイトおよび管理者は一切の責任を負いかねます。 実装にあたっては、必ずバックアップを取得し、検証環境(テスト環境)での動作確認を行った上で、ご自身の責任において実施してください。

この記事は参考になりましたか?

著者プロフィール: 株式会社カジヤ

当社はWeb業界の専門家として、培った経験や技術、自社事業を通して得た知見を土台に、 お客様の事業の成長を後押しすることを提供価値として活動する、Web事業の成長支援会社です。 EC-CUBE公式のパートナー制度「EC-CUBE インテグレートパートナー」に登録してしており、上位11%にあたる「ゴールドランク」に認定された実績があり、新しい通販サイトの構築から、カスタマイズ、リニューアルまで幅広く対応します。

メール通知 の関連記事

メール通知 メール送信不具合 EC-CUBE 4.2系 / Symfony 5.4
XServerでのメール送信設定における環境変数設定エラーの解消方法

XServerでメール送信を行う際に、MAILER_URL環境変数を設定してもメールが送信されない問...

👍 0 / 👎 0 2025年10月12日
メール通知 メール送信不具合 EC-CUBE 4系全般
メールの内容を変更したのに反映されない場合の対応

EC-CUBEから送信されるメールの内容を、Tiwgを編集して変更したにもかかわらず、実際に送信され...

👍 0 / 👎 0 2025年09月24日
メール通知 表示/テンプレート調整 EC-CUBE 4系全般
商品毎に購入後メールを変更するカスタマイズ方法

Aの商品を購入したお客様にはA専用の購入後メールを、Bの商品を購入したお客様にはB専用の購入後メール...

👍 0 / 👎 0 2025年09月23日

通知/コミュニケーション の関連記事

購入フロー 通知/コミュニケーション EC-CUBE 4系全般
EC-CUBE4で購入通知をSlackで送信するカスタマイズ方法

EC-CUBE 4系において、注文が発生した際に運用チームへSlackで自動通知を送りたいという要望...

👍 0 / 👎 0 2025年09月23日

EC-CUBE 4系全般 の関連記事

商品 データ不整合 EC-CUBE 4系全般
EC-CUBEで取り扱い終了商品の削除ができない理由と対応方法

EC-CUBEでは、取り扱いを終了した商品を削除したい場合に、削除ができない状態になることがあります...

👍 1 / 👎 0 2025年10月12日
インストール・セットアップ EC-CUBE 4系全般 設定変更
EC-CUBEサイトのドメイン変更時の設定変更方法

EC-CUBEで構築したサイトを新しいドメインで公開する際に、どのような設定変更が必要かわからない場...

👍 0 / 👎 0 2025年10月12日
フロント共通 機能不動作 EC-CUBE 4系全般
CloudFrontを利用時にリンクのドメインがEC2のパブリックDNSになってしまう問題の解決方法

EC-CUBE 4.2をAWS ECS on EC2上で構築し、CloudFrontをCDNとして利...

👍 1 / 👎 0 2025年10月12日
サイト全体 500エラー EC-CUBE 4系全般
EC-CUBEでメモリ不足エラーが発生した場合の対処方法

EC-CUBEの運用中に以下のようなメモリ不足エラーが発生することがあります。 ### エラー...

👍 1 / 👎 0 2025年10月12日
管理画面共通 パフォーマンス劣化 EC-CUBE 4系全般
EC-CUBEのlogフォルダ肥大化の管理方法

var/log/prodフォルダ内のログファイルが肥大化し、ディスク容量を圧迫している状況が発生しま...

👍 1 / 👎 0 2025年10月12日

サービス/コントローラ拡張 の関連記事

マイページ全般 表示/テンプレート調整 EC-CUBE 4系全般
マイページにメール受信履歴ページをカスタマイズする方法

マイページに注文関連のメール履歴を一覧表示する専用ページを作成したいという要望があります。現在のEC...

👍 0 / 👎 0 2025年10月12日
商品 EC-CUBE 4.2系 / Symfony 5.4 サービス/コントローラ拡張
商品登録画面のフリーエリアでTwig構文を使用可能にするカスタマイズ方法

商品登録画面のフリーエリアでTwig構文を使用した画像パスを入力すると、保存時に構文がHTMLエスケ...

👍 0 / 👎 0 2025年09月24日
商品 表示/テンプレート調整 EC-CUBE 4系全般
商品詳細ページに獲得予定ポイントを表示するカスタマイズ方法

商品詳細ページで獲得予定ポイントを表示したいケースがあります。...

👍 0 / 👎 0 2025年09月23日
会員登録 セキュリティ強化 EC-CUBE 4系全般
悪意のあるボットによる大量の会員登録を制限する方法

不正なbot等によって、大量の会員登録リクエストが送信されるケースがあります。これらの不正登録では基...

👍 0 / 👎 0 2025年09月23日