EC-CUBEのメルマガ配信をバッチ(cron)で行う
EC-CUBEのシステム管理のパラメータ設定に、
メルマガバッチモード(MELMAGA_BATCH_MODE)のフラグがあったので、
さすがちゃんとバッチ配信の処理もあるんだなぁと思っていました。
で、ちょっと試しに設定してみようとバッチモードを有効にして、
さてcronの設定をするかと思ったら設定方法が見あたらない。
僕が探せてないだけかもしれないけど。
開発コミュニティで検索してみても、
質問している人はいてもちゃんと解答している人がいない。
そうだ、開発コミュニティに入って質問しようと、
XOOPS君に会員登録するもいっこうに認証メールが来ない。
でも、パスワード再送信のメールは来る。どうなってるんだぁぁぁぁ。
結局ログインは出来ずじまい。
自分で調べた方が早そうだなということでソースを見てみました。
とりあえず、「MELMAGA_BATCH_MODE」でgrep。
LC_Page_Admin_Mailクラスしか引っかからない。
ん、ということは、
/html/admin/mail/sendmail.php
を呼び出せってことか・・・。
どうもそうっぽい。毎時0分と30分にしか配信予約設定できないので、
cronもそこにあわせた設定が必要そう。ということで、
-
0,30 * * * * /usr/bin/php /var/www/eccube/html/admin/mail/sendmail.php
※PHPのパスは環境によってことなります。
※/var/www/eccube/配下にEC-CUBEを設置した場合のファイルパスです。
こんな感じになるのかな。
一応動くみたいです。ただ、バッチ処理といっても、一括で全件送信みたいなので、
何件ずつ送るみたいなことは出来なそうです。
あと、配信予約で設定した時間ぴったり(前後5分以内)で呼び出さないと、
メール配信はされないみたいです。
なので、過去の時間に設定しても配信されないっす。
バッチとして動かせばApacheのタイムアウトは発生しないけど、
結局全件送信なのはなんか残念です。
ま、メルマガの件数少なきゃ問題ないだろうけど。




