diff --git a/public_html/deployment/classes/foremanapi.class.php b/public_html/deployment/classes/foremanapi.class.php
index 2029c6d3a9baf6969ac48839335f68fe9d59db52..31fd9ddc8204005a40258e695b49ba405409dd24 100644
--- a/public_html/deployment/classes/foremanapi.class.php
+++ b/public_html/deployment/classes/foremanapi.class.php
@@ -247,8 +247,8 @@ class ForemanApi {
         curl_setopt($ch, CURLOPT_HEADER, 1);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
         
-        if (array_key_exists('ignore-ssl-error', $this->_aCfg) && !$this->_aCfg['ignore-ssl-error']){
-            $this->log(__FUNCTION__ . " WARNING: SSL errors were ignored in the config.", 'warning');
+        if (array_key_exists('ignore-ssl-error', $this->_aCfg) && $this->_aCfg['ignore-ssl-error']){
+            $this->log(__FUNCTION__ . " WARNING: SSL errors will be ignored by config.", 'warning');
             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
         }
diff --git a/public_html/deployment/classes/messenger.class.php b/public_html/deployment/classes/messenger.class.php
index c41003b1f39190d51ce030208252ed4a97683413..52ed24e4edb0f3da42afb3e8e62c16eb5b091e18 100644
--- a/public_html/deployment/classes/messenger.class.php
+++ b/public_html/deployment/classes/messenger.class.php
@@ -12,6 +12,8 @@ class messenger {
      * @var type 
      */
     protected $_aCfg = array();
+    
+    protected $sMessage = '';
 
     /**
      * 
@@ -36,31 +38,45 @@ class messenger {
     }
 
     /**
-     * send a message to all targets
-     * @param string $sMessage
+     * send an email if _aCfg['email'] exists
      */
-    public function sendMessage($sMessage) {
-        // echo '<pre>'.print_r($this->_aCfg, 1).'</pre>'.$sMessage.'<br>';
-
+    private function _sendEmail(){
         if (array_key_exists('email', $this->_aCfg) && array_key_exists('to', $this->_aCfg['email'])
         ) {
-            preg_match('/^(.*)\n/', $sMessage, $aTmp);
+            preg_match('/^(.*)\n/', $this->sMessage, $aTmp);
             $sSubject = $aTmp[0];
-            mail($this->_aCfg['email']['to'], $sSubject, $sMessage, "From: " . $this->_aCfg['email']['from'] . "\r\n" .
+            mail($this->_aCfg['email']['to'], $sSubject, $this->sMessage, "From: " . $this->_aCfg['email']['from'] . "\r\n" .
                 "Reply-To: " . $this->_aCfg['email']['from'] . "\r\n"
             );
         }
         
+    }
+    
+    /**
+     * send a message to slack if _aCfg['slack'] exists
+     */
+    private function _sendToSlack(){
         if (array_key_exists('slack', $this->_aCfg)) {
             require_once('./../vendor/shooker/shooker.php');
             $shkr = new Shooker();
             $shkr->setupIncoming($this->_aCfg['slack']['incomingurl']);
-            $shkr->sendMessage(
-                $sMessage, 
-                $this->_aCfg['slack']['user'], 
-                $this->_aCfg['slack']['icon']
-            );
+            $sUser=(array_key_exists('user', $this->_aCfg['slack'])? $this->_aCfg['slack']['user']: false);
+            $sIcon=(array_key_exists('icon', $this->_aCfg['slack'])? $this->_aCfg['slack']['icon']: false);
+            $shkr->sendMessage($this->sMessage, $sUser, $sIcon);
         }
     }
 
+
+    /**
+     * send a message to all targets
+     * @param string $sMessage
+     */
+    public function sendMessage($sMessage) {
+        $this->sMessage=$sMessage;
+        // echo '<pre>'.print_r($this->_aCfg, 1).'</pre>'.$sMessage.'<br>';
+        $this->_sendEmail();
+        $this->_sendToSlack();
+        
+    }
+
 }
diff --git a/public_html/deployment/classes/project.class.php b/public_html/deployment/classes/project.class.php
index 3231f40938ff90fdd85fe3b9ed46f42247924741..03cc31543cdec77880b987369b34db51896232f6 100644
--- a/public_html/deployment/classes/project.class.php
+++ b/public_html/deployment/classes/project.class.php
@@ -136,8 +136,13 @@ class project extends base {
            && array_key_exists('slack', $this->_aPrjConfig['messenger'])
         ){
             $sSlack=$this->_aPrjConfig['messenger']['slack'];
-            $aConfig['slack']=$this->_aConfig['messenger']['slack']['presets'][$sSlack];
-        } 
+            $aConfig['slack']=array('incomingurl'=>$sSlack);
+            foreach(array('user', 'icon') as $sKey){
+                if (array_key_exists($sKey, $this->_aConfig['messenger']['slack']['presets'][$sSlack])){
+                    $aConfig['slack'][$sKey]=$this->_aConfig['messenger']['slack']['presets'][$sSlack][$sKey];
+                }
+            }
+        }
         
         if (array_key_exists('messenger', $this->_aPrjConfig)
            && array_key_exists('email', $this->_aPrjConfig['messenger'])
@@ -154,9 +159,16 @@ class project extends base {
         if (!$this->oMessenger){
             $this->oMessenger=new messenger($aConfig);
         }
-        $sText=$this->getLabel().': '.$sMessage."\n" 
-                . "user: ".$this->oUser->getUsername()."\n"
+
+        // add some metadata to the message body
+        $sText=$this->getLabel().': '.html_entity_decode($sMessage)."\n" 
+                . t('page-login-username'). ": ".$this->oUser->getUsername()."\n"
                 ;
+        if (isset($_SERVER) && is_array($_SERVER)) {
+            if(array_key_exists('HTTP_ORIGIN', $_SERVER)){
+                $sText.= t('project-home').": <".$_SERVER['HTTP_ORIGIN'].'/deployment/'.$this->getId()."/>\n";
+            }
+        }
         return $this->oMessenger->sendMessage($sText);
     }
     /**
@@ -791,6 +803,13 @@ class project extends base {
         return $this->_aPrjConfig["description"];
     }
 
+    /**
+     * get the id of the current project
+     * @return string
+     */
+    public function getId(){
+        return $this->_aConfig["id"];
+    }
     /**
      * get deploy and queue infos for all phases
      * @return type
@@ -3025,10 +3044,10 @@ class project extends base {
                     ),
                 ),
             );
-            foreach($this->_aConfig['messenger']['slack']['presets'] as $sLabel=>$aSlackCfg){
-                $bActive=$this->_aPrjConfig['messenger']['slack'] === $sLabel;
-                $aSelectSlack['options'][$sLabel] = array(
-                    'label' => $sLabel,
+            foreach($this->_aConfig['messenger']['slack']['presets'] as $sSlackUrl=>$aSlackCfg){
+                $bActive=$this->_aPrjConfig['messenger']['slack'] === $sSlackUrl;
+                $aSelectSlack['options'][$sSlackUrl] = array(
+                    'label' => array_key_exists('label', $aSlackCfg) ? $aSlackCfg['label'] : $sSlackUrl,
                     'selected' => $bActive ? 'selected' : false,
                 );
             }