Skip to content
Extraits de code Groupes Projets
mailer_config.rb 2,17 ko
Newer Older
  • Learn to ignore specific revisions
  • danielgrippi's avatar
    danielgrippi a validé
    #   Copyright (c) 2010-2011, Diaspora Inc.  This file is
    
    ilya's avatar
    ilya a validé
    #   licensed under the Affero General Public License version 3 or later.  See
    #   the COPYRIGHT file.
    
    require Rails.root.join('lib', 'messagebus', 'mailer')
    
    ilya's avatar
    ilya a validé
    Diaspora::Application.configure do
    
    Jonne Haß's avatar
    Jonne Haß a validé
      config.action_mailer.perform_deliveries = AppConfig.mail.enable?
    
    Maxwell Salzberg's avatar
    Maxwell Salzberg a validé
    
    
    Jonne Haß's avatar
    Jonne Haß a validé
      unless Rails.env == 'test' || !AppConfig.mail.enable?
        if AppConfig.mail.method == 'messagebus'
    
    Jonne Haß's avatar
    Jonne Haß a validé
          if AppConfig.mail.message_bus_api_key.present?
            config.action_mailer.delivery_method = Messagebus::Mailer.new(AppConfig.mail.message_bus_api_key.get)
    
            config.action_mailer.raise_delivery_errors = true
    
          else
            puts "You need to set your messagebus api key if you are going to use the message bus service. no mailer is now configured"
          end
    
    Jonne Haß's avatar
    Jonne Haß a validé
        elsif AppConfig.mail.method == "sendmail"
    
          config.action_mailer.delivery_method = :sendmail
    
          sendmail_settings = {
    
    Jonne Haß's avatar
    Jonne Haß a validé
            location: AppConfig.mail.sendmail.location.get
    
    Jonne Haß's avatar
    Jonne Haß a validé
          sendmail_settings[:arguments] = "-i" if AppConfig.mail.sendmail.exim_fix?
    
          config.action_mailer.sendmail_settings = sendmail_settings
    
    Jonne Haß's avatar
    Jonne Haß a validé
        elsif AppConfig.mail.method == "smtp"
    
          config.action_mailer.delivery_method = :smtp
    
    Jonne Haß's avatar
    Jonne Haß a validé
          smtp_settings = {
    
    Jonne Haß's avatar
    Jonne Haß a validé
            address:              AppConfig.mail.smtp.host.get,
            port:                 AppConfig.mail.smtp.port.to_i,
            domain:               AppConfig.mail.smtp.domain.get,
            enable_starttls_auto: false,
    
            openssl_verify_mode:  AppConfig.mail.smtp.openssl_verify_mode.get,
            ca_file:              AppConfig.environment.certificate_authorities.get
    
    Jonne Haß's avatar
    Jonne Haß a validé
          }
    
    Jonne Haß's avatar
    Jonne Haß a validé
          if AppConfig.mail.smtp.authentication != "none"
            smtp_settings.merge!({
    
    Jonne Haß's avatar
    Jonne Haß a validé
              authentication:       AppConfig.mail.smtp.authentication.gsub('-', '_').to_sym,
              user_name:            AppConfig.mail.smtp.username.get,
              password:             AppConfig.mail.smtp.password.get,
              enable_starttls_auto: AppConfig.mail.smtp.starttls_auto?
    
    Jonne Haß's avatar
    Jonne Haß a validé
            })
    
    Jonne Haß's avatar
    Jonne Haß a validé
          config.action_mailer.smtp_settings = smtp_settings
        else
          $stderr.puts "WARNING: Mailer turned on with unknown method #{AppConfig.mail.method}. Mail won't work."
    
    ilya's avatar
    ilya a validé
    end