diff --git a/core/ajax/share.php b/core/ajax/share.php
index 8f5432a0fcb63c61bd372797885e39c388d694e6..293e140d1d5c4251775c3ff42679a2b4fbb1717e 100644
--- a/core/ajax/share.php
+++ b/core/ajax/share.php
@@ -91,8 +91,8 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
 			$itemType = $_POST['itemType'];
 			$itemSource = $_POST['itemSource'];
 			$recipient = $_POST['recipient'];
+			$ownerDisplayName = \OCP\User::getDisplayName();
 			$from = \OCP\Util::getDefaultEmailAddress('sharing-noreply');
-			$subject = $defaults->getShareNotificationSubject($itemType);
 
 			$noMail = array();
 			$recipientList = array();
@@ -115,6 +115,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
 					$displayName = \OCP\User::getDisplayName($recipient);
 					$items = \OCP\Share::getItemSharedWithUser($itemType, $itemSource, $recipient);
 					$filename = trim($items[0]['file_target'], '/');
+					$subject = $defaults->getShareNotificationSubject($ownerDisplayName, $filename);
 					$expiration = null;
 					if (isset($items[0]['expiration'])) {
 						$expiration = $items[0]['expiration'];
@@ -128,29 +129,31 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
 						$foldername = "/Shared";
 					}
 
-					$url = \OCP\Util::linkToAbsolute('files', 'index.php', array("dir" => $foldername));
-					$text = $defaults->getShareNotificationText(
-								\OCP\User::getDisplayName(),
-								$filename,
-								$itemType,
-								$url,
-								$expiration
-							);
+					$link = \OCP\Util::linkToAbsolute('files', 'index.php', array("dir" => $foldername));
+
+					$content = new OC_Template("core", "mail", "");
+					$content->assign('link', $link);
+					$content->assign('user_displayname', $ownerDisplayName);
+					$content->assign('filename', $filename);
+					$content->assign('expiration', $expiration);
+					$text = $content->fetchPage();
+
+					$content = new OC_Template("core", "altmail", "");
+					$content->assign('link', $link);
+					$content->assign('user_displayname', $ownerDisplayName);
+					$content->assign('filename', $filename);
+					$content->assign('expiration', $expiration);
+					$alttext = $content->fetchPage();
 
+					$default_from = OCP\Util::getDefaultEmailAddress('sharing-noreply');
+					$from = OCP\Config::getUserValue(\OCP\User::getUser(), 'settings', 'email', $default_from);
+
+					// send it out now
 					try {
-						OCP\Util::sendMail(
-								$email,
-								$displayName,
-								$subject,
-								$text,
-								$from,
-								\OCP\User::getDisplayName()
-						);
+						OCP\Util::sendMail($email, $displayName, $subject, $text, $from, $ownerDisplayName, 1, $alttext);
 					} catch (Exception $exception) {
 						$noMail[] = \OCP\User::getDisplayName($recipient);
 					}
-				} else {
-					$noMail[] = \OCP\User::getDisplayName($recipient);
 				}
 			}
 
diff --git a/core/templates/altmail.php b/core/templates/altmail.php
index 2551473c6f0939364d95f3739201709281b08a41..f7159a021a8cf811149f989d3e49c98e741e878d 100644
--- a/core/templates/altmail.php
+++ b/core/templates/altmail.php
@@ -1,7 +1,7 @@
 <?php
-print_unescaped($l->t("Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\nCheers!", array($_['user_displayname'], $_['filename'], $_['link'])));
+$expiration = isset($_['expiration']) ? $_['expiration'] : null;
+print_unescaped($theme->getShareNotificationTextAlt($_['user_displayname'], $_['filename'], $_['link'], $expiration));
 ?>
 
 --
-<?php p($theme->getName() . ' - ' . $theme->getSlogan()); ?>
-<?php print_unescaped("\n".$theme->getBaseUrl());
+<?php print_unescaped($theme->getMailFooterAlt());
diff --git a/core/templates/mail.php b/core/templates/mail.php
index de72b136b135149a73b09bf04b7dbb2b55b12cc4..5570e4caabe0b1e3431a55b18286f5fabb9d6b85 100644
--- a/core/templates/mail.php
+++ b/core/templates/mail.php
@@ -12,7 +12,8 @@
 <td bgcolor="#f8f8f8" width="20px">&nbsp;</td>
 <td bgcolor="#f8f8f8" style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">
 <?php
-print_unescaped($l->t('Hey there,<br><br>just letting you know that %s shared »%s« with you.<br><a href="%s">View it!</a><br><br>Cheers!', array($_['user_displayname'], $_['filename'], $_['link'])));
+$expiration = isset($_['expiration']) ? $_['expiration'] : null;
+print_unescaped($theme->getShareNotificationTextHtml($_['user_displayname'], $_['filename'], $_['link'], $expiration));
 ?>
 </td>
 </tr>
@@ -20,9 +21,8 @@ print_unescaped($l->t('Hey there,<br><br>just letting you know that %s shared »
 <tr>
 <td bgcolor="#f8f8f8" width="20px">&nbsp;</td>
 <td bgcolor="#f8f8f8" style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">--<br>
-<?php p($theme->getName()); ?> -
-<?php p($theme->getSlogan()); ?>
-<br><a href="<?php print_unescaped($theme->getBaseUrl()); ?>"><?php print_unescaped($theme->getBaseUrl());?></a></td>
+<?php print_unescaped($theme->getMailFooterHtml()); ?>
+</td>
 </tr>
 <tr>
 <td bgcolor="#f8f8f8" colspan="2">&nbsp;</td>
diff --git a/lib/defaults.php b/lib/defaults.php
index efb6c2c7b327eb5f4749462502d70ffb7501acfa..eb531d1e05236ef6fedbc650dd0ef5ee038f766f 100644
--- a/lib/defaults.php
+++ b/lib/defaults.php
@@ -49,38 +49,92 @@ class OC_Defaults {
 	}
 
 	/**
-	 *
-	 * @param string $itemType typically "file" or "folder"
+	 * @brief subject for share notification mail
+	 * @param string $user user who shared the item
+	 * @pram string $itemName name of the item
 	 */
-	public function getShareNotificationSubject($itemType) {
+	public function getShareNotificationSubject($user, $itemName) {
 		if ($this->themeExist('getShareNotificationSubject')) {
-			return $this->theme->getShareNotificationSubject($itemType);
+			return $this->theme->getShareNotificationSubject($user, $itemName);
 		} else {
-			return $this->l->t("A %s was shared with you", array($itemType));
+			return $this->l->t("%s shared »%s« with you", array($user, $itemName));
 		}
 	}
 
 	/**
+	 * @brief mail body for share notification mail (text only)
 	 * @param string $sender owner of the file/folder
 	 * @param string $itemName name of the file/folder
-	 * @param string $itemType typically "file" or "folder"
 	 * @param string $link link directly to the file/folder in your ownCloud
 	 * @param string $expiration expiration date
 	 */
-	public function getShareNotificationText($sender, $itemName, $itemType, $link, $expiration=null) {
-		if ($this->themeExist('getShareNotificationText')) {
-			return $this->theme->getShareNotificationText($sender, $itemName, $itemType, $link, $expiration);
+	public function getShareNotificationTextHtml($sender, $itemName, $link, $expiration=null) {
+		if ($this->themeExist('getShareNotificationTextHtml')) {
+			return $this->theme->getShareNotificationTextHtml($sender, $itemName, $link, $expiration);
 		} else {
+
+			$message = $this->l->t('Hey there,<br><br>just letting you know that %s shared »%s« with you.'.
+					'<br><a href="%s">View it!</a>', array($sender, $itemName, $link));
+
+			if ($expiration) {
+				$message .= '<br><br>';
+				$message .= $this->l->t("The share will expire at %s.", array($expiration));
+			}
+
+			$message .= '<br><br>';
+			$message .= $this->l->t('Cheers!');
+
+			return $message;
+		}
+	}
+
+	/**
+	 * @brief mail body for share notification mail (text only)
+	 * @param string $sender owner of the file/folder
+	 * @param string $itemName name of the file/folder
+	 * @param string $link link directly to the file/folder in your ownCloud
+	 * @param string $expiration expiration date
+	 */
+	public function getShareNotificationTextAlt($sender, $itemName, $link, $expiration=null) {
+		if ($this->themeExist('getShareNotificationTextAlt')) {
+			return $this->theme->getShareNotificationTextAlt($sender, $itemName, $link, $expiration);
+		} else {
+
+			$message = $this->l->t("Hey there,\n\njust letting you know that %s shared %s with you.\n".
+					"View it: %s", array($sender, $itemName, $link));
+
 			if ($expiration) {
-				return $this->l->t("%s shared a %s called %s with you. " .
-						"The share will expire at %s. ".
-						"You can find the %s here: %s",
-						array($sender, $itemType, $itemName, $expiration, $itemType, $link));
-			} else {
-				return $this->l->t("%s shared a %s called %s with you. ".
-						"You can find the %s here: %s",
-						array($sender, $itemType, $itemName, $itemType, $link));
+				$message .= "\n\n";
+				$message .= $this->l->t("The share will expire at %s.", array($expiration));
 			}
+
+			$message .= "\n\n";
+			$message .= $this->l->t('Cheers!');
+
+			return $message;
+		}
+	}
+
+	public function getMailFooterHtml() {
+		if ($this->themeExist('getMailFooterHtml')) {
+			return $this->theme->getMailFooterHtml();
+		} else {
+			$footer = $this->getName() . ' - ' . $this->getSlogan() .
+					'<br>' .
+					'<a href="'. $this->getBaseUrl() .'">'.$this->getBaseUrl().'</a>';
+
+			return $footer;
+		}
+	}
+
+		public function getMailFooterAlt() {
+		if ($this->themeExist('getMailFooterAlt')) {
+			return $this->theme->getMailFooterAlt();
+		} else {
+			$footer = $this->getName() . ' - ' . $this->getSlogan() .
+					"\n" . $this->getBaseUrl();
+
+			return $footer;
 		}
 	}
 
diff --git a/lib/public/defaults.php b/lib/public/defaults.php
index 573831e8eae0d410bd90abe302b38f6dd799441f..10bd07bab54cbeb156588806e7a2b2183430b465 100644
--- a/lib/public/defaults.php
+++ b/lib/public/defaults.php
@@ -35,23 +35,48 @@ class Defaults {
 	}
 
 	/**
-	 * @brief subject for notification mails if a new file was shared
-	 * @param string $itemType typically "file" or "folder"
+	 * @brief subject for share notification mail
+	 * @param string $user user who shared the item
+	 * @pram string $itemName name of the item
 	 */
-	public function getShareNotificationSubject($itemType = "file") {
-		return $this->defaults->getShareNotificationSubject($itemType);
+	public function getShareNotificationSubject($user, $itemName) {
+		return $this->defaults->getShareNotificationSubject($user, $itemName);
 	}
 
 	/**
-	 * @brief mail body for notification mails if a new file was shared
+	 * @brief mail body for share notification mail (text only)
 	 * @param string $sender owner of the file/folder
 	 * @param string $itemName name of the file/folder
-	 * @param string $itemType typically "file" or "folder"
 	 * @param string $link link directly to the file/folder in your ownCloud
 	 * @param string $expiration expiration date
 	 */
-	public function getShareNotificationText($sender, $itemName, $itemType, $link, $expiration) {
-		return $this->defaults->getShareNotificationText($sender, $itemName, $itemType, $link, $expiration);
+	public function getShareNotificationTextAlt($sender, $itemName, $link, $expiration) {
+		return $this->defaults->getShareNotificationTextAlt($sender, $itemName, $link, $expiration);
+	}
+
+	/**
+	 * @brief mail body for share notification mail (HTML mail)
+	 * @param string $sender owner of the file/folder
+	 * @param string $itemName name of the file/folder
+	 * @param string $link link directly to the file/folder in your ownCloud
+	 * @param string $expiration expiration date
+	 */
+	public function getShareNotificationTextHtml($sender, $itemName, $link, $expiration) {
+		return $this->defaults->getShareNotificationTextHtml($sender, $itemName, $link, $expiration);
+	}
+
+	/**
+	 * @brief return footer for mails (HTML mail)
+	 */
+	public function getMailFooterHtml() {
+		return $this->defaults->getMailFooterHtml();
+	}
+
+		/**
+	 * @brief return footer for mails (text only)
+	 */
+	public function getMailFooterAlt() {
+		return $this->defaults->getMailFooterAlt();
 	}
 
 	/**