Mailhogを使ってみたい!
会社で使ったことはありますが、他の方が設定してくれたのをDockerでまるっと使っていました。
今回、自分で初めて設定してみて、若干つまったのでキロクしておこうと思います。
Mailhogって何?
goで作られたオープンソースのメールシステム。
githubのスターも9000件以上と最近ちょっと人気らしい。
使うメリットは、個人的にはこの辺に感じてる
今回やりたいこと
今開発しているシステムはまだ駆け出しで、docker化とかもされてません。
そのため、簡単にローカルでテストしたいと思いました。
で、調べてみると、phpやdockerで使う方法はよく出てくるのですが、Railsでやる方法があまりなくちょっと困りました。
実際どうやった?
以下のような手順で進めました
1. Mailerを実装する
こちらの公式ガイドを参考にまずはMailerを用意し、メールの本文まで準備しました
2. Mailhogをインストール
GitHubのReadmeにかかれている通りにインストールします。
私はMacOSだったので、以下を実行しました。
brew update && brew install mailhog
3. sendmailの代わりのmhsendmailをインストール
readmeを見るとmhsendmailを使うというのでインストールします。
brew install go go get github.com/mailhog/mhsendmail
4. RailsからMailhogに送付するようにする
最後にconfig/environments/development.rbに以下のような記述を追記します。
config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { location: '/usr/local/bin/mhsendmail', port: 1025 }
これでRailsのサーバーを立て直して、送付してみたらできました!
実際にはこんな感じ!
まとめ
今回はMailerActionのsendmail_settingsのオプションを学びました!
こういった設定系はやらないと覚えないので、いい経験でした。