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.管理画面へログインし、システム管理のパラメータ管理の値を変更し、「この内容で登録する」ボタンを押下します。

以上で対応完了です。