EC-CUBEは、メール送信にPEARのMAILモジュールを使用しています。
初期の設定では、認証済みサーバーのsmtp、mail、sendmailを使用することに限定されていますので、
外部の認証SMTPサーバーを使用するためのカスタマイズ方法をご紹介します。
今回変更するファイルは、下記の共通クラスのみです。
/data/class/SC_SendMail.php
1.コンストラクタのSC_SendMailにこの行を追加します。
$this->auth = SMTP_AUTH;
$this->username = SMTP_USERNAME;
$this->password = SMTP_PASSWORD;
2.function getBackendParamsの$arrParamsを下記のように変更します。
default:
$arrParams = array(
‘host’ => $this->host,
‘port’ => $this->port,
‘auth’ => $this->auth,
‘username’ => $this->username,
‘password’ => $this->password,
);
break;
}
3.管理画面のシステム管理のパラメータ管理で変更できるようにするため、次のSQLをデータベースで実行し、パラメータを追加します。
INSERT INTO mtb_constants VALUES (‘SMTP_AUTH’, ‘TRUE’, 1224, ‘SMTP認証有:TRUE|FALSE’);
INSERT INTO mtb_constants VALUES (‘SMTP_USERNAME’, ‘”username”‘, 1225, ‘SMTPサーバーユーザー名’);
INSERT INTO mtb_constants VALUES (‘SMTP_PASSWORD’, ‘”password”‘, 1226, ‘SMTPサーバーパスワード’);
4.管理画面へログインし、システム管理のパラメータ管理の値を変更し、「この内容で登録する」ボタンを押下します。
以上で対応完了です。