Add 'mail_from_address' configuration

In environments where there are rules for the email addresses, the "from
address" that owncloud uses has to be configurable.

This patch adds a new configuration variable 'mail_from_address'.
If it is configured, owncloud will use this as the sender of *all*
emails. (OwnCloud uses 'sharing-noreply' and 'password-noreply' by
default). By using the 'mail_from_address' configuration, only this
email address will be used.
This commit is contained in:
Jens-Christian Fischer 2014-01-24 14:04:37 +01:00
parent 9fa788c452
commit 506393090b
2 changed files with 10 additions and 0 deletions

View File

@ -256,6 +256,7 @@ class Util {
* it would return 'lostpassword-noreply@example.com'
*/
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;

View File

@ -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());