★EC-CUBE2.12系から仕様変更されました。
購入手続きが完了すると、利用者に自動配信メールが送信されます。
メールアドレスの記述ミス等で、自動配信メールが相手方に届かない場合は、Mail Delivery Systemのエラーメールが管理者に戻ってきてほしいところですが、EC-CUBEの通常インストールではエラーメールは戻ってきません。
インストール時のオプション設定(メールサーバの設定)を行わないでインストールすると、メーラーバックエンドは「mail」が選択された状態でインストールされます。
メーラーバックエンドが「mail」の状態なので、エラーメールが戻ってこないわけです。
そこで、既にインストールされているEC-CUBEを、SMTPまたはsendmailに変更します。
SMTPとsendmailはサーバ機能に依存しているので、利用中のサーバ(メールサーバ)情報が必要になります。
「mail」ではPHPだけでメール送受信の処理が完結できることもあり、EC-CUBEではデフォルトが「mail」になっているのだと思います。
(1)SMTPに変更する
インストール時に生成される下記ファイルをダウンロードし修正します。
■data/config/config.php
define('MAIL_BACKEND', 'smtp'); define('SMTP_HOST', '■■■'); define('SMTP_PORT', '○○○'); define('SMTP_USER', '▼▼▼'); define('SMTP_PASSWORD', '△△△');
MAIL_BACKEND → smtp
SMTP_HOST以降については、利用しているのメールソフトを開き下図の箇所を確認し入力します。
(下図はWindows Live メール)
【注意】
管理画面の基本情報管理>SHOPマスターで、メールアドレスを変更するときは、再度■data/config/config.phpを確認する必要があります。
(2)sendmailに変更する
① ■data/config/config.php
define('MAIL_BACKEND', 'sendmail'); define('SMTP_HOST', ''); define('SMTP_PORT', ''); define('SMTP_USER', ''); define('SMTP_PASSWORD', '');
MAIL_BACKEND → sendmail
SMTP_HOST以降は入力しない。
② 次に利用しているサーバのsendmailパスを確認し、サーバのsendmailパスを設定しなければいけません。
EC-CUBEでは、/usr/bin/sendmailが設定されているので、仮にサーバのsendmailパスが/usr/sbin/sendmailに設定されている場合は変更する必要があります。
変更方法は次の通りです。
■data/class/SC_SendMail.php 344行目付近
【変更前】
'sendmail_path' => '/usr/bin/sendmail',
【変更後】
'sendmail_path' => '/usr/sbin/sendmail',
【注意】
管理画面の基本情報管理>SHOPマスターで、メールアドレスを変更するときは、再度■data/class/SC_SendMail.phpを確認する必要があります。
▼最後にメールの送受信が正常に行われるか確認する必要があります。
(1)正しいメールアドレスで購入手続きを完了する。
(2)管理者に自動メールが配信される。
(3)購入者に自動メールが配信される。
(4)誤ったメールアドレスで購入手続きを完了する。
(5)管理者に自動メールが配信される。
(6)管理者にエラーメールが配信される。