diff --git a/app/views/settings/_notifications.html.erb b/app/views/settings/_notifications.html.erb
index f746f7c..59a30a9 100644
--- a/app/views/settings/_notifications.html.erb
+++ b/app/views/settings/_notifications.html.erb
@@ -30,7 +30,7 @@
-<%= link_to l(:label_send_test_email), :controller => 'admin', :action => 'test_email' %>
+<%= link_to l(:label_send_test_email), { :controller => 'admin', :action => 'test_email' }, :method => :post %>
<%= submit_tag l(:button_save) %>
diff --git a/config/routes.rb b/config/routes.rb
index ad6a4ca..1eb9e66 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -308,7 +308,7 @@ RedmineApp::Application.routes.draw do
match 'admin/projects', :controller => 'admin', :action => 'projects', :via => :get
match 'admin/plugins', :controller => 'admin', :action => 'plugins', :via => :get
match 'admin/info', :controller => 'admin', :action => 'info', :via => :get
- match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :get
+ match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :post
match 'admin/default_configuration', :controller => 'admin', :action => 'default_configuration', :via => :post
resources :auth_sources do
diff --git a/test/functional/admin_controller_test.rb b/test/functional/admin_controller_test.rb
index d38b530..e937047 100644
--- a/test/functional/admin_controller_test.rb
+++ b/test/functional/admin_controller_test.rb
@@ -87,7 +87,7 @@ class AdminControllerTest < ActionController::TestCase
user.pref.save!
ActionMailer::Base.deliveries.clear
- get :test_email
+ post :test_email
assert_redirected_to '/settings?tab=notifications'
mail = ActionMailer::Base.deliveries.last
assert_not_nil mail
@@ -97,7 +97,7 @@ class AdminControllerTest < ActionController::TestCase
def test_test_email_failure_should_display_the_error
Mailer.stubs(:test_email).raises(Exception, 'Some error message')
- get :test_email
+ post :test_email
assert_redirected_to '/settings?tab=notifications'
assert_match /Some error message/, flash[:error]
end
diff --git a/test/integration/routing/admin_test.rb b/test/integration/routing/admin_test.rb
index 7efa51a..a6431eb 100644
--- a/test/integration/routing/admin_test.rb
+++ b/test/integration/routing/admin_test.rb
@@ -36,7 +36,7 @@ class RoutingAdminTest < ActionController::IntegrationTest
{ :controller => 'admin', :action => 'info' }
)
assert_routing(
- { :method => 'get', :path => "/admin/test_email" },
+ { :method => 'post', :path => "/admin/test_email" },
{ :controller => 'admin', :action => 'test_email' }
)
assert_routing(