在openshift上托管的redmine应用程序中通过smtp服务器发送邮件

在openshift上托管的redmine应用程序中通过smtp服务器发送邮件,openshift,redmine,Openshift,Redmine,我想在部署的redmine应用程序中发送邮件,我在openshift上托管该应用程序。我使用本教程设置了所有内容: 要通过google smtp服务器发送电子邮件,我更改了configuration.yml文件如下: # = Redmine configuration file # # Each environment has it's own configuration options. If you are only # running in production, only the p

我想在部署的redmine应用程序中发送邮件,我在openshift上托管该应用程序。我使用本教程设置了所有内容:

要通过google smtp服务器发送电子邮件,我更改了configuration.yml文件如下:

 # = Redmine configuration file
#
# Each environment has it's own configuration options.  If you are only
# running in production, only the production block needs to be configured.
# Environment specific configuration options override the default ones.
#
# Note that this file needs to be a valid YAML file.
# DO NOT USE TABS! Use 2 spaces instead of tabs for identation.
#
# == Outgoing email settings (email_delivery setting)
#
# === Common configurations
#
# ==== Sendmail command
#
# production:
#   email_delivery:
#     delivery_method: :sendmail
#
# ==== Simple SMTP server at localhost
#
# production:
#   email_delivery:
#     delivery_method: :smtp
#     smtp_settings:
#       address: "localhost"
#       port: 25
#
# ==== SMTP server at example.com using LOGIN authentication and checking HELO for foo.com
#
# production:
#   email_delivery:
#     delivery_method: :smtp
#     smtp_settings:
#       address: "example.com"
#       port: 25
#       authentication: :login
#       domain: 'foo.com'
#       user_name: 'myaccount'
#       password: 'password'
#
# ==== SMTP server at example.com using PLAIN authentication
#
# production:
#   email_delivery:
#     delivery_method: :smtp
#     smtp_settings:
#       address: "example.com"
#       port: 25
#       authentication: :plain
#       domain: 'example.com'
#       user_name: 'myaccount'
#       password: 'password'
#
# ==== SMTP server at using TLS (GMail)
#
# This might require some additional configuration. See the guides at:
# http://www.redmine.org/projects/redmine/wiki/EmailConfiguration
#
# production:
#   email_delivery:
#     delivery_method: :smtp
#     smtp_settings:
#       enable_starttls_auto: true
#       address: "smtp.gmail.com"
#       port: 587
#       domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps
#       authentication: :plain
#       user_name: "your_email@gmail.com"
#       password: "your_password"
#
#
# === More configuration options
#
# See the "Configuration options" at the following website for a list of the
# full options allowed:
#
# http://wiki.rubyonrails.org/rails/pages/HowToSendEmailsWithActionMailer


# default configuration options for all environments
default:
  # Outgoing emails configuration (see examples above)
  email_delivery:
     delivery_method: :smtp
     smtp_settings:
       enable_starttls_auto: true
       address: "smtp.gmail.com"
       port: 587
       domain: "smtp.gmail.com" 
       authentication: :plain
       user_name: "test@gmail.com"
       password: "testword"

  # Absolute path to the directory where attachments are stored.
  # The default is the 'files' directory in your Redmine instance.
  # Your Redmine instance needs to have write permission on this
  # directory.
  # Examples:
  # attachments_storage_path: /var/redmine/files
  # attachments_storage_path: D:/redmine/files
  attachments_storage_path:

  # Configuration of the autologin cookie.
  # autologin_cookie_name: the name of the cookie (default: autologin)
  # autologin_cookie_path: the cookie path (default: /)
  # autologin_cookie_secure: true sets the cookie secure flag (default: false)
  autologin_cookie_name:
  autologin_cookie_path:
  autologin_cookie_secure:

  # Configuration of SCM executable command.
  #
  # Absolute path (e.g. /usr/local/bin/hg) or command name (e.g. hg.exe, bzr.exe)
  # On Windows + CRuby, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work.
  #
  # On Windows + JRuby 1.6.2, path which contains spaces does not work.
  # For example, "C:\Program Files\TortoiseHg\hg.exe".
  # If you want to this feature, you need to install to the path which does not contains spaces.
  # For example, "C:\TortoiseHg\hg.exe".
  #
  # Examples:
  # scm_subversion_command: svn                                       # (default: svn)
  # scm_mercurial_command:  C:\Program Files\TortoiseHg\hg.exe        # (default: hg)
  # scm_git_command:        /usr/local/bin/git                        # (default: git)
  # scm_cvs_command:        cvs                                       # (default: cvs)
  # scm_bazaar_command:     bzr.exe                                   # (default: bzr)
  # scm_darcs_command:      darcs-1.0.9-i386-linux                    # (default: darcs)
  #
  scm_subversion_command:
  scm_mercurial_command:
  scm_git_command:
  scm_cvs_command:
  scm_bazaar_command:
  scm_darcs_command:

  # Absolute path to the SCM commands errors (stderr) log file.
  # The default is to log in the 'log' directory of your Redmine instance.
  # Example:
  # scm_stderr_log_file: /var/log/redmine_scm_stderr.log
  scm_stderr_log_file:

  # Key used to encrypt sensitive data in the database (SCM and LDAP passwords).
  # If you don't want to enable data encryption, just leave it blank.
  # WARNING: losing/changing this key will make encrypted data unreadable.
  #
  # If you want to encrypt existing passwords in your database:
  # * set the cipher key here in your configuration file
  # * encrypt data using 'rake db:encrypt RAILS_ENV=production'
  #
  # If you have encrypted data and want to change this key, you have to:
  # * decrypt data using 'rake db:decrypt RAILS_ENV=production' first
  # * change the cipher key here in your configuration file
  # * encrypt data using 'rake db:encrypt RAILS_ENV=production'
  database_cipher_key:

  # Set this to false to disable plugins' assets mirroring on startup.
  # You can use `rake redmine:plugins:assets` to manually mirror assets
  # to public/plugin_assets when you install/upgrade a Redmine plugin.
  #
  #mirror_plugins_assets_on_startup: false

  # Your secret key for verifying cookie session data integrity. If you
  # change this key, all old sessions will become invalid! Make sure the
  # secret is at least 30 characters and all random, no regular words or
  # you'll be exposed to dictionary attacks.
  #
  # If you have a load-balancing Redmine cluster, you have to use the
  # same secret token on each machine.
  #secret_token: 'change it to a long random string'

  # Absolute path (e.g. /usr/bin/convert, c:/im/convert.exe) to
  # the ImageMagick's `convert` binary. Used to generate attachment thumbnails.
  #imagemagick_convert_command:

  # Configuration of RMagcik font.
  #
  # Redmine uses RMagcik in order to export gantt png.
  # You don't need this setting if you don't install RMagcik.
  #
  # In CJK (Chinese, Japanese and Korean),
  # in order to show CJK characters correctly,
  # you need to set this configuration.
  #
  # Because there is no standard font across platforms in CJK,
  # you need to set a font installed in your server.
  #
  # This setting is not necessary in non CJK.
  #
  # Examples for Japanese:
  #   Windows:
  #     rmagick_font_path: C:\windows\fonts\msgothic.ttc
  #   Linux:
  #     rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf
  #
  rmagick_font_path:

  # Maximum number of simultaneous AJAX uploads
  #max_concurrent_ajax_uploads: 2

  # Configure OpenIdAuthentication.store
  #
  # allowed values: :memory, :file, :memcache
  #openid_authentication_store: :memory

# specific configuration options for production environment
# that overrides the default ones
production:

# specific configuration options for development environment
# that overrides the default ones
development:
因此,我刚刚在
default
下添加了:

 default:
      # Outgoing emails configuration (see examples above)
      email_delivery:
         delivery_method: :smtp
         smtp_settings:
           enable_starttls_auto: true
           address: "smtp.gmail.com"
           port: 587
           domain: "smtp.gmail.com" 
           authentication: :plain
           user_name: "test@gmail.com"
           password: "testword"
但是,当我在
管理配置
中的
邮件
下进入正在运行的应用程序时:

The SMTP server is not configured and notifications are disabled.
Make the settings for your SMTP server in config / configuration.yml before and restart the application.
有什么建议可以解决这个问题吗

谢谢你的回答

更新

使用下面描述的
方法
发送测试电子邮件时,我收到以下错误:


显而易见的修复方法是在本地repo中编辑configuration.yml文件,但您很快就会发现它在.gitignore文件中(出于安全原因),因此有两个选项。我能够让它与两个选项,但我建议使用第一个如果你可以。您希望使用第二个的唯一原因是,您希望将configuration.yml保留在git repo之外

第一个选项并不是真的不安全,因为它没有真正以纯文本形式存储任何重要信息。它使用我们将使用rhc设置的环境变量来获取正确的信息

编辑: 因为似乎有一个问题(我尝试了这个解决方案,但没有成功)。我成功发送电子邮件的唯一方法是执行以下操作:

  • 从本地计算机上的.gitignore文件中删除configuration.yml

     vim .gitignore
    
  • 通过执行以下操作复制“config/configuration.yml.example>config/configuration.yml”:

     cp config/configuration.yml.example configuration.yml
    
  • 然后使用vim编辑该文件

     vim config/configuration.yml
    
  • 附加以下内容:

    production:
      email_delivery:
        delivery_method: :smtp
        smtp_settings: 
          tls: true
          enable_starttls_auto: true
          address: "smtp.gmail.com" 
          port: 587
          domain: "smtp.gmail.com" 
          authentication: :plain
          user_name: "my-email-account@gmail.com" 
          password: passwordnotinquotes
    
  • 保存并退出 :wq

  • 退出ssh会话并运行:

     rhc app restart <appname>
    
    rhc应用程序重启
    
  • 转到管理设置并配置您的电子邮件


  • 请注意。这将以纯文本形式存储电子邮件凭据,但这似乎是根据其文档进行redmine配置的标准做法

    谢谢你的回答!然而,我仍然得到一个错误。请看一下我的更新!顺便说一句,我的红矿版本是2.4.2Thx,你的答案很多!你为什么要迈出第一步?为什么要从gitignore文件重新加载配置文件?我不能在服务器上复制文件并添加新的配置吗?谢谢你的回答!从.gitignore中删除该文件允许在Git中维护configuration.yml文件。您可以通过ssh在
    ~/app root/runtime/repo
    中手动编辑该文件。但是,以后每次进行git推送时,您对文件的更改都会被还原,然后需要重新进行。将文件保存在Git中可以确保更改在应用程序部署中保持不变。您使用的是哪个redmine版本?