openshift


Send mail over smtp server in redmine app hosted on openshift


I want to send mails in my deployed redmine application, which I host on openshift. I used this tutorial to set everything up: link to tutorial
To send an email via the google smtp server I changed my configuration.yml file like that:
# = 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:
Therefore, I just added under 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"
However, when I am getting in the running application under mail in the admin configurations:
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.
Any suggestions how to fix that?
I appreciate your answer!
UPDATE
Using the below described method(s) I get the following error, when sending a test email:
The obvious fix is to edit the configuration.yml file in your local repo but you'll soon find out that its in your .gitignore file (for security reasons), so there are two options. I was able to get it working with both options but I would recommend using the first one if you can. The only reason you would want the second one to be used is simply because you want to keep your configuration.yml out of your git repo.
The first option isn't really less secure since its not really storing any important information in plain text. It uses the environment variables we'll set with rhc to pull the correct information.
Edit:
Since there seems to be a problem with redmine taking environment variables in their configuration files (and I tried this solution with no success). The only way I was able to successfully send email was by doing the following:
Remove configuration.yml from your .gitignore file on your local machine
vim .gitignore
Copy the "config/configuration.yml.example > config/configuration.yml" by doing:
cp config/configuration.yml.example configuration.yml
Then use vim to edit the file
vim config/configuration.yml
Append the following:
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
Save and exit
:wq
exit the ssh session and run:
rhc app restart <appname>
Go to the administration settings and configure your email
Be advised. This will store the email credentials in plain text, however this seems to be standard practice for redmine configuration according to their docs.

Related Links

When is the “conditions” field optional on a DeploymentConfigStatus in OpenShift
how to redirect http to https on an openshift golang app?
how to add keycloak module to openshift wildfly cartridge?
openshift readiness probe error: /bin/sh can't access tty; job control turned off
How to store static contents outside WildFly installation and access them via HTTP?
How to redirect API server hosted on Openshift with Domain purchased from Godaddy
Making openshift origin docker containers persistent after reboot
Openshift pod priority
Unable to deploy app due to wrong permissions in some files
No Internet connection from Pods within openshift
Location of add-user.sh in Openshift
Openshift V2 - Custom Cartridge Permission denied opening port
How to group deployments under common template name in OpenShift console
Moving a docker-compose container to openshift V3
Openshift: Automatically update upstream images
Openshift : I am trying to run rhc setup on linux. Am getting username and password error message

Categories

HOME
elasticsearch
tcsh
code-formatting
filesize
bing-search
twitter-fabric
malware
flurry
joomla3.2
polymer-2.x
hspi
bootstrap-switch
jquery-file-upload
amazon-elb
texas-instruments
cpu-usage
amazon-mws
kaggle
uislider
exchange-server-2010
jpa-2.1
password-generator
points
onchange
cube
javax.persistence
steam-web-api
mongodb-3.4
microsoft-certifications
creation
express-session
identify
widestring
selenide
imgur
get-event-store
data-uri
ejml
robust
apache-toree
jshint
react-intl
audio-converter
liteide
swift2.3
.net-micro-framework
ssi
solr-query-syntax
maven-jaxb2-plugin
android-sharing
pecl
msxml
bilinear-interpolation
spring-mongo
gnucash
jeasyui
fdt
textblock
mercurial-extension
as3-api
currency-exchange-rates
onepage-checkout
ioexception
juniper-network-connect
nette
featuretoggle
google-gdk
embeddedwebserver
karma-coverage
azure-xplat-cli
tabris
hyperloglog
refit
tabletools
hotswap
boolean-algebra
oxygene
facebook-game-groups
vlab
mute
rautomation
tnt4j
postgres-xc
icenium
semantic-merge
image-formats
struts2-s2hibernate
git-log
cassini
odac
icicles
cleartype
aspbutton
accumulator
chronic
code-camp
html-generation
word-automation

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App