はじめに
現在、「現場で使えるRuby on Rails5 速習実践ガイド」いわゆる、現場Railsをざっと通して学習しています。途中でmailcatcherを使うシーンが出てくるのですが、そこで詰まったのでメモとして置いておきます。そもそもmailcatcherって
https://mailcatcher.me/(訳)公式サイトの訳です
mailcatcherは、ウェブインターフェースから送信されるあらゆるメッセージをキャッチしてくれるシンプルなsmtpサーバです。mailcatcherを起動し、検証したいアプリの送信先をsmtp://127.0.0.1:1025に設定することで、mailcatcherで用意したブラウザでメールを確認することができます。
言ってしまえば、シンプルなメール検証gemです。
インストールと設定
インストールはgem installを公式が推奨しています。$gem install mailcatcher
インストール後以下の設定を行います。(公式のrails欄を引用)
environments/development.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { :address => '127.0.0.1', :port => 1025 }
config.action_mailer.raise_delivery_errors = false #ここはすでに記載がある箇所
起動方法とトラブルシューティング
この設定を行えばmailcatcher
で起動できると公式にも書いてあるのですが、
$ mailcatcher
-bash: mailcatcher: command not found
コマンドが見つかりませんになってしまいました。
(1)rbenv rehash
$ rbenv rehash
rbenv: cannot rehash: /Users/local/.rbenv/shims/.rbenv-shim exists
ファイルが存在してるためrehashできないと言われる。
(2)rails sを止める
これは完全に凡ミスでした。sを止めないとそもそもrbenvができない。
(3)ファイルの削除
rehashができない原因のファイルの削除を行う
$rm /Users/local/.rbenv/shims/.rbenv-shim
改めてrehashすると、通ったようなので、改めて
$ mailcatcher
Starting MailCatcher
==> smtp://127.0.0.1:1025
無事に通りました!