]> source.dussan.org Git - redmine.git/commitdiff
Email delivery configuration moved to an unversioned YAML file (config/email.yml...
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 4 Jul 2008 18:55:45 +0000 (18:55 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 4 Jul 2008 18:55:45 +0000 (18:55 +0000)
Email delivery is disabled. It's automatically turned on when configuration is found.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@1625 e93f8b46-1217-0410-a6f0-8f06a7374b81

37 files changed:
app/controllers/settings_controller.rb
app/views/settings/_notifications.rhtml
config/email.yml.example [new file with mode: 0644]
config/environment.rb
config/environments/test.rb
config/environments/test_pgsql.rb
config/environments/test_sqlite3.rb
config/initializers/40-email.rb [new file with mode: 0644]
doc/INSTALL
doc/UPGRADING
lang/bg.yml
lang/cs.yml
lang/da.yml
lang/de.yml
lang/en.yml
lang/es.yml
lang/fi.yml
lang/fr.yml
lang/he.yml
lang/hu.yml
lang/it.yml
lang/ja.yml
lang/ko.yml
lang/lt.yml
lang/nl.yml
lang/no.yml
lang/pl.yml
lang/pt-br.yml
lang/pt.yml
lang/ro.yml
lang/ru.yml
lang/sr.yml
lang/sv.yml
lang/th.yml
lang/uk.yml
lang/zh-tw.yml
lang/zh.yml

index c7c8751dd121964533a027b854715a81715bafad..59b9c67e1c0a79982a81532fd373c8329f12a15a 100644 (file)
@@ -39,6 +39,7 @@ class SettingsController < ApplicationController
     end
     @options = {}
     @options[:user_format] = User::USER_FORMATS.keys.collect {|f| [User.current.name(f), f.to_s] }
+    @deliveries = ActionMailer::Base.perform_deliveries
   end
   
   def plugin
index 1a472d606a931155c8b8c4ce4d2a41b568825a80..36701463a6b924161b4274e9b60c6ac5a1f26d7d 100644 (file)
@@ -1,3 +1,4 @@
+<% if @deliveries %>
 <% form_tag({:action => 'edit', :tab => 'notifications'}) do %>
 
 <div class="box tabular settings">
@@ -28,3 +29,8 @@
 
 <%= submit_tag l(:button_save) %>
 <% end %>
+<% else %>
+<div class="nodata">
+<%= simple_format(l(:text_email_delivery_not_configured)) %>
+</div>
+<% end %>
diff --git a/config/email.yml.example b/config/email.yml.example
new file mode 100644 (file)
index 0000000..a67c122
--- /dev/null
@@ -0,0 +1,21 @@
+# Outgoing email settings
+
+production:
+  delivery_method: :smtp
+  smtp_settings:
+    address: smtp.somenet.foo
+    port: 25
+    domain: somenet.foo
+    authentication: :login
+    user_name: redmine@somenet.foo
+    password: redmine
+  
+development:
+  delivery_method: :smtp
+  smtp_settings:
+    address: 127.0.0.1
+    port: 25
+    domain: somenet.foo
+    authentication: :login
+    user_name: redmine@somenet.foo
+    password: redmine
index b0f16c3e117322007426e70db45a05f7014065bd..9a3bf4b1d324b67011511705af1a36e44378fa5d 100644 (file)
@@ -49,25 +49,9 @@ Rails::Initializer.run do |config|
   # Use Active Record's schema dumper instead of SQL when creating the test database
   # (enables use of different database adapters for development and test environments)
   # config.active_record.schema_format = :ruby
-
-  # See Rails::Configuration for more options
   
-       # SMTP server configuration
-       config.action_mailer.smtp_settings = {
-               :address => "127.0.0.1",
-               :port => 25,
-               :domain => "somenet.foo",
-               :authentication => :login,
-               :user_name => "redmine@somenet.foo",
-               :password => "redmine",
-       }
-       
-       config.action_mailer.perform_deliveries = true
-
-       # Tell ActionMailer not to deliver emails to the real world.
-       # The :test delivery method accumulates sent emails in the
-       # ActionMailer::Base.deliveries array.
-       #config.action_mailer.delivery_method = :test
-       config.action_mailer.delivery_method = :smtp  
-
+  # Deliveries are disabled by default. Do NOT modify this section.
+  # Define your email configuration in email.yml instead.
+  # It will automatically turn deliveries on
+  config.action_mailer.perform_deliveries = false
 end
index 9ba9ae0f8d4e27616107db6c136d572d3d46a1e3..7c821da0758cd48b9f8ce07a75f1d986392c4243 100644 (file)
@@ -13,4 +13,5 @@ config.whiny_nils    = true
 config.action_controller.consider_all_requests_local = true
 config.action_controller.perform_caching             = false
 
+config.action_mailer.perform_deliveries = true
 config.action_mailer.delivery_method = :test
index 35bb19beea95246e27689c86a23cd8c8299afb73..7c821da0758cd48b9f8ce07a75f1d986392c4243 100644 (file)
@@ -13,4 +13,5 @@ config.whiny_nils    = true
 config.action_controller.consider_all_requests_local = true
 config.action_controller.perform_caching             = false
 
-config.action_mailer.delivery_method = :test
\ No newline at end of file
+config.action_mailer.perform_deliveries = true
+config.action_mailer.delivery_method = :test
index 35bb19beea95246e27689c86a23cd8c8299afb73..7c821da0758cd48b9f8ce07a75f1d986392c4243 100644 (file)
@@ -13,4 +13,5 @@ config.whiny_nils    = true
 config.action_controller.consider_all_requests_local = true
 config.action_controller.perform_caching             = false
 
-config.action_mailer.delivery_method = :test
\ No newline at end of file
+config.action_mailer.perform_deliveries = true
+config.action_mailer.delivery_method = :test
diff --git a/config/initializers/40-email.rb b/config/initializers/40-email.rb
new file mode 100644 (file)
index 0000000..5b388ec
--- /dev/null
@@ -0,0 +1,17 @@
+# Loads action_mailer settings from email.yml
+# and turns deliveries on if configuration file is found
+
+filename = File.join(File.dirname(__FILE__), '..', 'email.yml')
+if File.file?(filename)
+  mailconfig = YAML::load_file(filename)
+
+  if mailconfig.is_a?(Hash) && mailconfig.has_key?(Rails.env)
+    # Enable deliveries
+    ActionMailer::Base.perform_deliveries = true
+    
+    mailconfig[Rails.env].each do |k, v|
+      v.symbolize_keys! if v.respond_to?(:symbolize_keys!)
+      ActionMailer::Base.send("#{k}=", v)
+    end
+  end
+end
index 87a2b38d5aa1c00bef19a5650ef62f2d986223f2..13502f8d09b0c61ff831030e5edbf79cb95684f2 100644 (file)
@@ -53,10 +53,10 @@ Optional:
    trackers, statuses, workflow) and adjust application settings
 
 
-== SMTP server Configuration
-
-In config/environment.rb, you can set parameters for your SMTP server:
-config.action_mailer.smtp_settings: SMTP server configuration
-config.action_mailer.perform_deliveries: set to false to disable mail delivering
+== Email delivery Configuration
 
+Copy config/email.yml.example to config/email.yml and edit this file
+to adjust your SMTP settings.
 Don't forget to restart the application after any change to this file.
+
+Please do not enter your SMTP settings in environment.rb.
index 2edb2952a04edd1c99c5bb391c86056bbf6a53bd..1dd901171f71d22bfd9091df7cc279c286c7c556 100644 (file)
@@ -10,15 +10,13 @@ http://www.redmine.org/
 1. Uncompress the program archive in a new directory
    
 3. Copy your database settings (RAILS_ROOT/config/database.yml)
+   and SMTP settings (RAILS_ROOT/config/email.yml)
    into the new config directory
    
-4. Enter your SMTP settings in config/environment.rb
-   Do not replace this file with the old one
-   
-5. Migrate your database (please make a backup before doing this):
+4. Migrate your database (please make a backup before doing this):
    rake db:migrate RAILS_ENV="production"
 
-6. Copy the RAILS_ROOT/files directory content into your new installation
+5. Copy the RAILS_ROOT/files directory content into your new installation
    This directory contains all the attached files
 
 
index fd6e7e6cf4a19c531b626b7fb6f212e77f2d4cbd..c87e3bebc23e27200bfa875cb14c0136f3c4056c 100644 (file)
@@ -631,3 +631,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 2c760722bc352271a26122b411c53eb1ccd987f6..6669c6cf3c860363a71bb61a33fcccac844900e3 100644 (file)
@@ -636,3 +636,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index d51d30817527d27769e258d1981c699febdc256e..cf40e17631d4c7c3c741629dd8fe5b6c23af3af5 100644 (file)
@@ -633,3 +633,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 2bc0a16f706f1bee6a0e5d34477c19f290f91e3d..adc3dd4e9875f934890d6225035fd979999770cb 100644 (file)
@@ -632,3 +632,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 180a705656034ae81564660ed1615b45973b1738..7910946747762cd7050d8db60c7fa4e5e1b7136f 100644 (file)
@@ -606,6 +606,7 @@ text_reassign_time_entries: 'Reassign reported hours to this issue:'
 text_user_wrote: '%s wrote:'
 text_enumeration_destroy_question: '%d objects are assigned to this value.'
 text_enumeration_category_reassign_to: 'Reassign them to this value:'
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
 
 default_role_manager: Manager
 default_role_developper: Developer
index 44d48190b56abb09092ddfce1122f036e7b8507e..4205402e439934ddb45ad6bbe894107b44faefb5 100644 (file)
@@ -634,3 +634,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 27f3415c68fa491c7f844de050eca873b5703ab6..b69b0755761bc109023c4b14fc51ded39f1c3fef 100644 (file)
@@ -631,3 +631,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 89b0b4c86aef34088bdcead8075f12910ed2b15e..5b0f04fb049c7ae89458d2781cb5a1e1dd7bebed 100644 (file)
@@ -606,6 +606,7 @@ text_reassign_time_entries: 'Reporter les heures sur cette demande:'
 text_user_wrote: '%s a écrit:'
 text_enumeration_destroy_question: 'Cette valeur est affectée à %d objets.'
 text_enumeration_category_reassign_to: 'Réaffecter les objets à cette valeur:'
+text_email_delivery_not_configured: "L'envoi de mail n'est pas configuré, les notifications sont désactivées.\nConfigurez votre serveur SMTP dans config/email.yml et redémarrez l'application pour les activer."
 
 default_role_manager: Manager
 default_role_developper: Développeur
index 501cfdc9b2f1eb3e3197ed98e7c48ea06972c4ef..030e09dcc5db0435a21995bea2bdc908ab444a2d 100644 (file)
@@ -631,3 +631,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 6f88eb9629121412a4556ed81a5253ef186e507e..046916b7ab00baf47c04e653c007eaeb4a67606f 100644 (file)
@@ -632,3 +632,4 @@ label_incoming_emails: Beérkezett levelek
 label_generate_key: Kulcs generálása
 setting_mail_handler_api_enabled: Web Service engedélyezése a beérkezett levelekhez
 setting_mail_handler_api_key: API kulcs
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 14dc86fff508f34555060597acfb322182ba7f5c..eb835400e50586019e0dce19a65a373932850091 100644 (file)
@@ -631,3 +631,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 5bdc3b554f038419d6c72616f67a89de7385b7e6..cba410f6dbc3a7531d33f931f1282249d6c01bf5 100644 (file)
@@ -632,3 +632,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 8e0d35ef4355833a945c2f1be101ad24556c2190..2b5b0eb0a4951b17868a214bf44580dccae7f235 100644 (file)
@@ -631,3 +631,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 0f80a94d890f58773378eb7a4d5f28ee77abd798..52b6b6fc86d3e5f67a5e3f2aa2403e81590851df 100644 (file)
@@ -634,3 +634,4 @@ label_generate_key: Generuoti raktą
 setting_mail_handler_api_enabled: Įgalinti WS įeinantiems laiškams
 setting_mail_handler_api_key: API raktas
 
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index d1facc7a6b23791cc9b61b949e8f6c38c28d28cc..09cdc3c08eb365144822a807f450bb653c315b36 100644 (file)
@@ -632,3 +632,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index bf25a15a5ef2a327ed4942af2df8f92974978150..eb1ff59ca0e13998a24fec2550425d54a81fbfba 100644 (file)
@@ -632,3 +632,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 28c5f19d4fcfbe7ff54d1a40a695ebc89bf067e1..9c5a382b0a018ee4a03909e82426be66734ccb5f 100644 (file)
@@ -631,3 +631,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 04c3b347c42134ffd4c81d6ab7ccb8ceabf73a17..1582e568febc8beccdbeac2da000a20ac51055df 100644 (file)
@@ -631,3 +631,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key\r
 setting_mail_handler_api_enabled: Enable WS for incoming emails\r
 setting_mail_handler_api_key: API key\r
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."\r
index 5a1ffc2e0bd8a1f85f6b95608238caec3b8a8966..a5b703fcfdd5c70ec28f902f3db7cca87bccfcb1 100644 (file)
@@ -631,3 +631,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 3a1696c7b6bfef8b1f68d59e3d7b78869e989710..3fa154d4867f688aa24d996229a2e8bcf9a6b35c 100644 (file)
@@ -631,3 +631,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 7d0707f7fbdcd65b58636da2be50b0b6c469c8bb..5d59ec1fb72432a7777968a36c8d6e6281733160 100644 (file)
@@ -635,3 +635,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 5b8e5d934756119f9f1c908c1c814b6cc7c647e4..fa1b4d847f4f56bd6affccc764b68fbdee54e679 100644 (file)
@@ -632,3 +632,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 4c6170f4a7154a5480235e608d9d2be3987e51db..9015099e7f0a604003fe59a67be035bd8c56e4b4 100644 (file)
@@ -632,3 +632,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index e7f276a34f8662980f358cb3e0182af5dcfd8121..27f7b14cffc19ec39e26f9a6ac723d7977f66518 100644 (file)
@@ -634,3 +634,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 275de0e4b9f0724e6fae4bb300d3bc2472399d8a..0286779bea9ab81b9437c261b45b77c43f29dfa2 100644 (file)
@@ -633,3 +633,4 @@ label_incoming_emails: Incoming emails
 label_generate_key: Generate a key
 setting_mail_handler_api_enabled: Enable WS for incoming emails
 setting_mail_handler_api_key: API key
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 9b43ed45e9166642cc664b5dddf944010d06ffd1..0e8fabef9b2816a37beea830b76dd99ce39f8b6d 100644 (file)
@@ -632,3 +632,4 @@ default_activity_development: 開發
 enumeration_issue_priorities: 項目優先權
 enumeration_doc_categories: 文件分類
 enumeration_activities: 活動 (時間追蹤)
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."
index 2bd0880a583ab4e3430a9a4bee6269a029f1314f..1cde9f502e1831533743dd41de356b3d9686c241 100644 (file)
@@ -632,3 +632,4 @@ default_activity_development: 开发
 enumeration_issue_priorities: 问题优先级
 enumeration_doc_categories: 文档类别
 enumeration_activities: 活动(时间跟踪)
+text_email_delivery_not_configured: "Email delivery is not configured, and notifications are disabled.\nConfigure your SMTP server in config/email.yml and restart the application to enable them."