##概要
前記事(XSERVERに、EC-CUBE4系をもっとも簡単にインストールする手順)において、EC-CUBE4のインストール画面での「メールの設定(SMTP設定)」という項目では、一旦SSLなし:587番ポートで設定するとお伝えしました。
メールのSMTP設定内容は、EC-CUBE4のインストール終了後、カレントディレクトリ上にある.envファイル内にデータが書き込まれます。
今回は、この.envファイルを書き換えてSSLあり:465番ポート書き換えましょう!という内容です。
この記事の上位版として、SendGridを使用するための記事を書きました(2020年9月27日)
詳しくはこちらをご覧ください(外部リンク)。
###参考:XSERVER上での.envファイルの設置場所
.envファイルは、EC-CUBE4をインストールしたカレントディレクトリ上にあります。
他のレンタルサーバーにインストールした場合でも同様です。
##具体的な設定手順
それでは、SSLへの対応方法(.envファイルの記述変更方法)を説明していきます。
やり方はとても簡単です。
###前回EC-CUBE4のインストール画面で設定した内容(XSERVERでの例)
- SMTPホスト:sv***.xserver.jp(契約サーバーにより異なる)
- SMTPポート:587
- SMTPユーザー:メールアカウントの追加で設定したメールアドレスを入力
- SMTPパスワード:メールアカウントの追加で設定したパスワード
この設定内容が.envファイルの25行目に、下記の通りに記述されます。
MAILER_URL=smtp://SMTPユーザー:SMTPパスワード@sv***.xserver.jp:587?auth_mode=plain
このままの状態でもメールは送信出来るのですが、SSLに対応していないため以下の記法に書き換えます。
MAILER_URL=smtp://sv***.xserver.jp:465?encryption=ssl&auth_mode=login&username=SMTPユーザー&password=SMTPパスワード
これで正常に、SSLを使用してメールが送信出来るようになりました。
※この書き換えにより、SSLなし:587番ポートからSSLあり:465番ポートに切り替わっています。
###さくら・ロリポップなどの他レンタルサーバーを使用する場合
公式サイトのEC-CUBE 4系対応サーバを参照して、お気に入りのレンタルサーバーを選んでください。
また、設定項目のSMTPホスト・SMTPポート・SMTPユーザーに関しては、各レンタルサーバーごとに必要な内容に適宜書き換えてください。
##補足事項・番外編
###補足:EC-CUBE4上での.envファイルの取扱について
EC-CUBE 4.0 開発ドキュメント上にも記載のある通り、.envファイルは開発用途での環境変数を設定するためのものであり、本番環境での使用は推奨されません。本番環境では、環境変数をサーバー設定ファイルに設定することを推奨します。とのことです。
この設定変更方法は、後日ご紹介したいと思います。
###番外編:Sendmailを使用してメールを送信する方法
EC-CUBE4インストール画面で、特にメール設定をいじらずに設定すると、
- SMTPホスト:localhost
- SMTPポート:25
- SMTPユーザー:無記入(空欄)
- SMTPパスワード:無記入(空欄)
といった内容になり、このままで設定してしまうとメール送信エラーになり、会員登録や注文、問い合わせでタイムアウトまで非常に長い時間待機させられるが、結局メールが送信されなくなります(メールが届かなくなります)。
.envファイルには下記の通りに記述されています。
MAILER_URL=smtp://localhost:25
これを、下記の通りに記述変更します。
MAILER_URL=sendmail://localhost
これで、Sendmailを使用してメール送信することが出来ます。
※但し、なるべくSendmailを使用せずにSMTPしたほうが良いかなとは思います。
##参考情報URL
この記事を作成するにあたり、参考にさせていただいた各記事のURLは下記のとおりです。
情報を提供してくださった皆様には、謝辞を申し上げます。
※逆に、これだけの中から情報を探すのが結構大変でした。必要性を強く感じて、体系的に学べるようにまとめた次第です。
###Sendmail設定関連
- EC-CUBE 4 のメール設定で sendmail を使う方法(NuFire様)
- 注文や会員登録時のメールが送れない時の対応方法(U-Mebius様)
###SMTP・SSLなしの設定関連
- 問い合わせメールが届かない・・・ EC-CUBE4(EC-CUBEカスタマイズ備忘録 (EC-CUBE2.11~,EC-CUBE4~)様)
- Qiita - ec-cube4 に さくらのメールのSMTPを設定する方法(@tDash様)
###SMTP・SSLありの設定関連