EC-CUBEのユニットテストにも利用されているMailCatcherですが、テスト中のメールの誤送信を防ぐことができ、EC-CUBEの開発中は非常に便利です。今回はMacでのMailCatcherインストールから自動起動をご紹介します。
MailCatcherインストール方法
$ brew install ruby $ sudo gem install mailcatcher
あとは「mailcatcher &」で起動します。
mail.ymlをMailCatcherに合わせた設定に書き換えます。
mail: transport: smtp host: localhost port: 1025 username: password: encryption: null auth_mode: null charset_iso_2022_jp: false use_spool: true
MailCatcher自動起動
$ vim ~/Library/LaunchAgents/me.mailcatcher.plist
下の内容をplistファイルに記述します。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>me.mailcatcher</string> <key>ProgramArguments</key> <array> <string>sh</string> <string>-i</string> <string>-c</string> <string>$SHELL --login -c "mailcatcher --foreground"</string> </array> <key>KeepAlive</key> <true/> <key>RunAtLoad</key> <true/> </dict> </plist>
$ launchctl load ~/Library/LaunchAgents/me.mailcatcher.plist
出典:https://gist.github.com/sj26/1638617
Mojave, Catalinaでエラーが出てインストールできない
会社に新しいMacが来たのでMailCatcherをインストールしようとするもOpenSSL関連やら何やらのエラーが出て全くインストールできない・・・。
2日ほど悩んだ後、rvmを使ってrubyのバージョンを変更、関数に関するエラーを出さないオプションをつけてコンパイルすることでなんとかMailcatcherをインストールできました。(これでいいのかは自信ありません)
$ curl -sSL https://get.rvm.io | bash
$ rvm install 2.7
$ rvm use 2.7 –default
sudo gem install mailcatcher — –with-cflags=”-Wno-error=implicit-function-declaration”
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。