Skip to content
Snippets Groups Projects
Commit e32f1582 authored by Lukas Reschke's avatar Lukas Reschke
Browse files

Show more detailed error message

parent dfd70337
No related branches found
No related tags found
No related merge requests found
......@@ -149,6 +149,7 @@ class Mailer implements IMailer {
if (!empty($smtpSecurity)) {
$transport->setEncryption($smtpSecurity);
}
$transport->start();
return $transport;
}
......
......@@ -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' =>
......
......@@ -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())
......
......@@ -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';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment