diff --git a/.env.vagrant b/.env.vagrant
new file mode 100644
index 0000000000000000000000000000000000000000..0ab0552c94c9cad2727bcf5b81da1f66f3a2e94c
--- /dev/null
+++ b/.env.vagrant
@@ -0,0 +1 @@
+VAGRANT=true
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
index bab7cebb56ecc7aa9a7c1a511bf581a36ea6c5ee..ebee7e35f1fd9e61347dba183dc7d70aafa6327a 100644
--- a/Gemfile
+++ b/Gemfile
@@ -73,6 +73,7 @@ group :development do
   gem 'better_errors'
   gem 'binding_of_caller'
   gem 'letter_opener'
+  gem 'letter_opener_web'
   gem 'bullet'
   gem 'active_record_query_trace'
 end
diff --git a/Gemfile.lock b/Gemfile.lock
index 20ea37fcc4800d90c06027f1bc34e1be631c72dc..0e720d7fb9d3aef5fd4d08e912c5c27c3447a18f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -176,6 +176,10 @@ GEM
       addressable (~> 2.3)
     letter_opener (1.4.1)
       launchy (~> 2.2)
+    letter_opener_web (1.3.0)
+      actionmailer (>= 3.2)
+      letter_opener (~> 1.0)
+      railties (>= 3.2)
     link_header (0.0.8)
     lograge (0.4.1)
       actionpack (>= 4, < 5.1)
@@ -432,6 +436,7 @@ DEPENDENCIES
   jbuilder (~> 2.0)
   jquery-rails
   letter_opener
+  letter_opener_web
   link_header
   lograge
   nokogiri
@@ -474,4 +479,4 @@ RUBY VERSION
    ruby 2.3.1p112
 
 BUNDLED WITH
-   1.13.6
+   1.13.7
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 829edcf0410a1eb4c955bd1b909633fb9ff52233..3f44d861e68cb50caefdb0ea6a04705a6b4f92e9 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -62,7 +62,10 @@ Rails.application.configure do
   # routes, locales, etc. This feature depends on the listen gem.
   # config.file_watcher = ActiveSupport::EventedFileUpdateChecker
 
-  config.action_mailer.delivery_method = :letter_opener
+  # If using a Heroku, Vagrant or generic remote development environment,
+  # use letter_opener_web, accessible at  /letter_opener.
+  # Otherwise, use letter_opener, which launches a browser window to view sent mail.
+  config.action_mailer.delivery_method = (ENV['HEROKU'] || ENV['VAGRANT'] || ENV['REMOTE_DEV']) ? :letter_opener_web : :letter_opener
 
   config.after_initialize do
     Bullet.enable        = true
diff --git a/config/routes.rb b/config/routes.rb
index 349ab336a0c6e0b763de7f7de3aa427f5e01b9fe..7b9cda908d12a8c91efc567101c1e81b05a52fb3 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -3,6 +3,7 @@
 require 'sidekiq/web'
 
 Rails.application.routes.draw do
+  mount LetterOpenerWeb::Engine, at: 'letter_opener' if Rails.env.development?
   mount ActionCable.server, at: 'cable'
 
   authenticate :user, lambda { |u| u.admin? } do