業務上必須、とまではいかないが、
今後EC-CUBEを理解している必要があるため、
とりあえずローカルに最新版(2.11.0-beta)を入れてみた。
一応環境をまとめると
- OS : Windows XP
- Web Server : Apache 2.2.16
- PHP : PHP 5.2.14
- Database : PostgreSQL 8.4.4
こんな感じ。
必要な情報は「EC-CUBEができること/できないこと」だったので、
とりあえずソースはガン無視で動くことを最優先に。
したらば、動くには動いたんだが、メールが送れない。
ああそうか、smtpサーバ指定シテナイジャン。
ということで、smtpサーバを指定することに。
ググると、
data/module/Mail/smtp.php
だの、
data/module/Mail.php
だの、
data/module/Net/SMTP.php
だの、
色々設定する箇所があるようなないようなないような内容が多い。
一番それっぽい
data/module/Mail/smtp.php
の設定を変えてみるも、smtpサーバのmaillogには何も出力されない。
うーん。
wikiのsmtp指定も同じサーバにしているから、アプリケーションの問題のはずだ。
なんなんだ。
なんなんだ。
なんなんなんなんななふしぎ。
いや待て。
まだ慌てるような時間じゃない。
php.iniの[mail function]のsmtpを指定するも、、これもダメ。
面倒臭がらずにソースを見よう。
なるほど、SC_SendMailってクラスがゴニョゴニョやってるんだな。
$this->host = SMTP_HOST;
これ、か。
smtpに限らず、諸々の設定は
data/mtb_constants_init.php
に集約されている。
define('SMTP_HOST', "127.0.0.1");
これを任意のsmtpサーバに指定することで、メールが送れることを確認。
(タイミングはわからんが、data/cache/mtb_constants.phpにキャッシュされるので注意。)
結論。
横着かまさず、ドキュメントとソースを見よう。