diff options
author | Lukas Reschke <lukas@owncloud.com> | 2015-02-19 21:55:02 +0100 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2015-03-16 12:47:06 +0100 |
commit | e32f1582c76252ae80802c0851a9583504131dff (patch) | |
tree | 247976a9bd3dd9f9549b205ba58a0c0c2e721cc9 | |
parent | dfd70337d6db5e6e15f6763d5e8762f189e9fd71 (diff) | |
download | nextcloud-server-e32f1582c76252ae80802c0851a9583504131dff.tar.gz nextcloud-server-e32f1582c76252ae80802c0851a9583504131dff.zip |
Show more detailed error message
-rw-r--r-- | lib/private/mail/mailer.php | 1 | ||||
-rw-r--r-- | settings/controller/mailsettingscontroller.php | 24 | ||||
-rw-r--r-- | tests/lib/mail/mailer.php | 23 | ||||
-rw-r--r-- | tests/settings/controller/mailsettingscontrollertest.php | 3 |
4 files changed, 16 insertions, 35 deletions
diff --git a/lib/private/mail/mailer.php b/lib/private/mail/mailer.php index 92e6b91ce1c..83dd050edbc 100644 --- a/lib/private/mail/mailer.php +++ b/lib/private/mail/mailer.php @@ -149,6 +149,7 @@ class Mailer implements IMailer { if (!empty($smtpSecurity)) { $transport->setEncryption($smtpSecurity); } + $transport->start(); return $transport; } diff --git a/settings/controller/mailsettingscontroller.php b/settings/controller/mailsettingscontroller.php index 43715b82237..53365cf253b 100644 --- a/settings/controller/mailsettingscontroller.php +++ b/settings/controller/mailsettingscontroller.php @@ -135,19 +135,19 @@ class MailSettingsController extends Controller { $email = $this->config->getUserValue($this->userSession->getUser()->getUID(), $this->appName, 'email', ''); if (!empty($email)) { try { - $this->mail->send($email, $this->userSession->getUser()->getDisplayName(), - $this->l10n->t('test email settings'), - $this->l10n->t('If you received this email, the settings seem to be correct.'), - $this->defaultMailAddress, - $this->defaults->getName() - ); + $message = $this->mailer->createMessage(); + $message->setTo([$email => $this->userSession->getUser()->getDisplayName()]); + $message->setFrom([$this->defaultMailAddress]); + $message->setSubject($this->l10n->t('test email settings')); + $message->setPlainBody('If you received this email, the settings seem to be correct.'); + $this->mailer->send($message); } catch (\Exception $e) { - return array('data' => - array('message' => - (string) $this->l10n->t('A problem occurred while sending the email. Please revise your settings.'), - ), - 'status' => 'error' - ); + return [ + 'data' => [ + 'message' => (string) $this->l10n->t('A problem occurred while sending the email. Please revise your settings. (Error: %s)', [$e->getMessage()]), + ], + 'status' => 'error', + ]; } return array('data' => diff --git a/tests/lib/mail/mailer.php b/tests/lib/mail/mailer.php index 2cb4c5cfde3..8929bfdf99d 100644 --- a/tests/lib/mail/mailer.php +++ b/tests/lib/mail/mailer.php @@ -53,20 +53,6 @@ class MailerTest extends TestCase { $this->assertEquals(\Swift_SendmailTransport::newInstance('/var/qmail/bin/sendmail -bs'), \Test_Helper::invokePrivate($this->mailer, 'getSendMailInstance')); } - public function testGetSmtpInstanceDefaults() { - $expected = \Swift_SmtpTransport::newInstance(); - $expected->setHost('127.0.0.1'); - $expected->setTimeout(10); - $expected->setPort(25); - - $this->config - ->expects($this->any()) - ->method('getSystemValue') - ->will($this->returnArgument(1)); - - $this->assertEquals($expected, \Test_Helper::invokePrivate($this->mailer, 'getSmtpInstance')); - } - public function testGetInstanceDefault() { $this->assertInstanceOf('\Swift_MailTransport', \Test_Helper::invokePrivate($this->mailer, 'getInstance')); } @@ -80,15 +66,6 @@ class MailerTest extends TestCase { $this->assertInstanceOf('\Swift_MailTransport', \Test_Helper::invokePrivate($this->mailer, 'getInstance')); } - public function testGetInstanceSmtp() { - $this->config - ->expects($this->any()) - ->method('getSystemValue') - ->will($this->returnValue('smtp')); - - $this->assertInstanceOf('\Swift_SmtpTransport', \Test_Helper::invokePrivate($this->mailer, 'getInstance')); - } - public function testGetInstanceSendmail() { $this->config ->expects($this->any()) diff --git a/tests/settings/controller/mailsettingscontrollertest.php b/tests/settings/controller/mailsettingscontrollertest.php index 84432f656bf..cc25fda52f7 100644 --- a/tests/settings/controller/mailsettingscontrollertest.php +++ b/tests/settings/controller/mailsettingscontrollertest.php @@ -32,6 +32,9 @@ class MailSettingsControllerTest extends \Test\TestCase { ->disableOriginalConstructor()->getMock(); $this->container['MailMessage'] = $this->getMockBuilder('\OCP\Mail\IMessage') ->disableOriginalConstructor()->getMock(); + $this->container['Mailer'] = $this->getMockBuilder('\OC\Mail\Mailer') + ->setMethods(['send']) + ->disableOriginalConstructor()->getMock(); $this->container['Defaults'] = $this->getMockBuilder('\OC_Defaults') ->disableOriginalConstructor()->getMock(); $this->container['DefaultMailAddress'] = 'no-reply@owncloud.com'; |