この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちは。
KBMJでRuby on Rails を使ったweb開発に携わっているyoppiといいます。
メールを受信して処理する機能がある場合、いちいちテストサーバーにコードをアップしてとか面倒くさくないですか?
Rails限定ですが、今回は、メール受信の処理をローカルで実行できるようになる方法をご紹介します。
ローカルでテストするためのメールサーバーはこちらを使用します。設定・起動方法は上記ページに書いてありますのでご参照下さい。
自分がよくわからなかったのは、Outlook ExpressやThunderbirdなどからローカルのメールサーバーにメールを送るのはどうしたらよいかということでした。
結局は、ローカル受信テスト用のアカウントを新たに作成して、そのアカウントの送信(SMTP)サーバーのサーバー名にlocalhost、ポート番号に起動時に設定したもの(上記サイトだと10025)にすればいいだけでした。
ユーザー名とパスワードの設定の部分は、指定しないにします。
・Thunderbirdで送信サーバーを設定する場合
※Thunderbirdでは、アカウントの設定と送信サーバーの設定が別の項目として分かれているので注意が必要です。
あとは、この作成したアカウントでメール作成を行い、送信すればオッケーです。上記サイトの例だと宛先を@example.comで終わるアドレスにしないと受信されません。どんなアドレスでも受信してほしい場合は、server.filter_rcpt の部分をコメントしておけばいいと思います。
Let’s enjoy testing!