diff --git a/config/config.sample.php b/config/config.sample.php index 1070ef72eda..01abc583688 100755 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -80,6 +80,12 @@ $CONFIG = array( /* Domain name used by ownCloud for the sender mail address, e.g. no-reply@example.com */ "mail_domain" => "example.com", +/* FROM address used by ownCloud for the sender mail address, e.g. owncloud@example.com + This setting overwrites the built in 'sharing-noreply' and 'lostpassword-noreply' + FROM addresses, that ownCloud uses +*/ +"mail_from_address" => "owncloud", + /* Enable SMTP class debugging */ "mail_smtpdebug" => false, diff --git a/lib/public/util.php b/lib/public/util.php index 8e85f9afc3f..6317f10a66f 100644 --- a/lib/public/util.php +++ b/lib/public/util.php @@ -254,8 +254,13 @@ class Util { * 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' + * + * If the configuration value 'mail_from_address' is set in + * config.php, this value will override the $user_part that + * is passed to this function */ public static function getDefaultEmailAddress($user_part) { + $user_part = \OC_Config::getValue('mail_from_address', $user_part); $host_name = self::getServerHostName(); $host_name = \OC_Config::getValue('mail_domain', $host_name); $defaultEmailAddress = $user_part.'@'.$host_name; diff --git a/tests/lib/util.php b/tests/lib/util.php index 852caaeccc3..bfe68f5f680 100644 --- a/tests/lib/util.php +++ b/tests/lib/util.php @@ -88,6 +88,15 @@ class Test_Util extends PHPUnit_Framework_TestCase { OC_Config::deleteKey('mail_domain'); } + function testGetConfiguredEmailAddressFromConfig() { + OC_Config::setValue('mail_domain', 'example.com'); + OC_Config::setValue('mail_from_address', 'owncloud'); + $email = \OCP\Util::getDefaultEmailAddress("no-reply"); + $this->assertEquals('owncloud@example.com', $email); + OC_Config::deleteKey('mail_domain'); + OC_Config::deleteKey('mail_from_address'); + } + function testGetInstanceIdGeneratesValidId() { OC_Config::deleteKey('instanceid'); $this->assertStringStartsWith('oc', OC_Util::getInstanceId());