From d2828bab0792ce945f658e3fa66a62341c582d5e Mon Sep 17 00:00:00 2001 From: Randolph Carter Date: Wed, 19 Dec 2012 01:09:14 +0100 Subject: [PATCH] fixes default email sender address --- core/ajax/share.php | 6 +----- core/lostpassword/controller.php | 2 +- lib/public/util.php | 36 ++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/core/ajax/share.php b/core/ajax/share.php index 12206e0fd79..72ffc52e997 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -89,12 +89,8 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo if ($type === 'dir') $text = (string)$l->t('User %s shared the folder "%s" with you. It is available for download here: %s', array($user, $file, $link)); - // handle localhost installations - $server_host = OCP\Util::getServerHost(); - if ($server_host === 'localhost') - $server_host = "example.com"; - $default_from = 'sharing-noreply@' . $server_host; + $default_from = OCP\Util::getDefaultEmailAddress('sharing-noreply'); $from_address = OCP\Config::getUserValue($user, 'settings', 'email', $default_from ); // send it out now diff --git a/core/lostpassword/controller.php b/core/lostpassword/controller.php index 523520dc754..e64b16d3b83 100644 --- a/core/lostpassword/controller.php +++ b/core/lostpassword/controller.php @@ -43,7 +43,7 @@ class OC_Core_LostPassword_Controller { $tmpl->assign('link', $link, false); $msg = $tmpl->fetchPage(); $l = OC_L10N::get('core'); - $from = 'lostpassword-noreply@' . OCP\Util::getServerHost(); + $from = OCP\Util::getDefaultEmailAddress('lostpassword-noreply'); OC_Mail::send($email, $_POST['user'], $l->t('ownCloud password reset'), $msg, $from, 'ownCloud'); echo('Mailsent'); diff --git a/lib/public/util.php b/lib/public/util.php index 7b5b1abbded..9727cfda284 100644 --- a/lib/public/util.php +++ b/lib/public/util.php @@ -172,6 +172,42 @@ class Util { return(\OC_Request::serverHost()); } + /** + * @brief returns the server hostname + * @returns the server hostname + * + * Returns the server host name without an eventual port number + */ + public static function getServerHostName() { + $host_name = self::getServerHost(); + // strip away port number (if existing) + $colon_pos = strpos($host_name, ':'); + if ($colon_pos != FALSE) { + $host_name = substr($host_name, 0, $colon_pos); + } + return $host_name; + } + + /** + * @brief Returns the default email address + * @param $user_part the user part of the address + * @returns the default email address + * + * Assembles a default email address (using the server hostname + * and the given user part, and returns it + * Example: when given lostpassword-noreply as $user_part param, + * and is currently accessed via http(s)://example.com/, + * it would return 'lostpassword-noreply@example.com' + */ + public static function getDefaultEmailAddress($user_part) { + $host_name = self::getServerHostName(); + // handle localhost installations + if ($server_host === 'localhost') { + $server_host = "example.com"; + } + return $user_part.'@'.$host_name; + } + /** * @brief Returns the server protocol * @returns the server protocol -- 2.39.5