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オープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ