EC-CUBE4でのメール送信設定方法

EC-CUBE Advent Calendar 2022 10日目の記事です。

EC-CUBE4ではメール送信の設定はインストール時に行います。 3系と異なり4系からは基本的にSMTPを利用した設定しかできなくなりました。

ただし、sendmailなどを利用したい方やGmailを利用して設定したい方もいられるので様々な設定方法をご紹介します。

メール送信設定はインストール後は画面から変更する方法が存在せず、インストール後に作成される.envファイルで変更可能です。 設定内容ですが、4.2系からSymfonyのバージョンが異なるため若干異なります。

  • 4.2系
###> symfony/mailer ###
MAILER_DSN=smtp://localhost:1025
###< symfony/mailer ###
  • 4、4.1系
###> symfony/swiftmailer-bundle ###
# For Gmail as a transport, use: "gmail://username:password@localhost"
# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode="
# For a debug SMTP server, use: "smtp://mailcatcher:1025"
# Delivery is disabled by default via "null://localhost"
MAILER_URL=smtp://localhost:1025
###< symfony/swiftmailer-bundle ###

以下ではそれぞれの環境に応じての設定方法となります。

4.2系の方はMAILER_DSNで置き換えて設定してください。

SMTPでの設定

メール送信にはSMTPを利用される方が多いと思いますが、以下は一例となります。

MAILER_URL=smtp://メールアカウント名:パスワード@SMTPサーバ名:587?auth_mode=plain

大体この方法でさくらサーバやXServerなどレンタルサーバをご利用の方は送信可能となります。

sendmailでの設定

今はあまり使われなくなったsendmailですがまだまだ利用される方もいてると思いますので、sendmailの設定方法ものせておきます。

MAILER_URL=sendmail://localhost

Gmailでの設定

Gmailの設定はアプリを許可する必要がありますので、 Gmailで送信できないという方は一度Googleにログインして許可して確認してみてください。

安全性の低いアプリがアカウントにアクセスするのを許可する - Google アカウント ヘルプ

MAILER_URL=smtp://smtp.gmail.com:465?encryption=ssl&auth_mode=login&username=xxxxx@gmail.com&password=パスワード

上記の方法で送信できない場合、以下のライブラリを利用する方法もお試しください。

ライブラリのインストールにはcomposerコマンドを利用します。

composer require symfony/google-mailer

その後、以下の設定を行います。

MAILER_URL=gmail+smtp://USERNAME:PASSWORD@default

Amazon SESでの設定

Amazon SESでメール送信する場合、ライブラリが必要となりますので、以下のコマンドを実行してください。

ライブラリのインストールにはcomposerコマンドを利用します。

composer require symfony/amazon-mailer

その後、以下の設定を行います。

MAILER_DSN=ses+smtp://ACCESS_KEY:SECRET_KEY@default?region=eu-west-1

他のメールサービスをご利用したい方は、以下のURLをご確認ください。

symfony.com

上記の設定でメール送信できない場合、コメントに記載してください。