EC-CUBEのメール設定でSMTPを使うときの注意
さくらサーバのクイックインストールでEC-CUBEをインストールをしたら、カート(/shopping/)に進んだだけでエラーになってしまった。
システムエラーが発生しました。
大変お手数ですが、サイト管理者までご連絡ください。
ただ普通にインストールしただけなのに。
ログを確認すると、メール設定の部分でつまづいていることがわかった。
[2023-12-30T01:04:08.572934+09:00] front.ERROR [cff26ec0] [f607b03] [N/A] [Eccube\Log\Logger:log:66] – システムエラーが発生しました。 [“The controller for URI \”/shopping\” is not callable: The \”smtp://メールアドレス:パスワード\” mailer DSN is invalid.”
メール設定は、.envで下記になっていた。
MAILER_DSN=smtp://メールアドレス:パスワード@サーバ名:465?auth_mode=plain
一見問題なさそうだが、パスワードに#が入っていることがNGだった理由。
.envでは #以降がコメントアウトになってしまうからね。
それでログでDSN is invalidになっているし、ログ内でもDSNのパスワード部分が途中で切れていた。
さくらサーバの仕様としてはメールパスワードに記号が使えるし # を使っても問題ないが、EC-CUBEのSMTPに使う場合には # は使えないということ。
同様に、データベースパスワードにも使えないことになるね。
ちなみに、これまでEC-CUBEを使用したときにSMTP設定をした記憶がなくて、SMTPを使わないときは .envが下記になっていた。
MAILER_URL=smtp://localhost:25
さくらサーバのクイックインストールでは、メールアドレスだけではなく、SMTP情報を聞かれたのでした。