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をご確認ください。
上記の設定でメール送信できない場合、コメントに記載してください。