diff options
author | Lukas Reschke <lukas@owncloud.com> | 2015-03-17 11:15:39 +0100 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2015-03-17 11:15:39 +0100 |
commit | b1c19f74a1d245bd8a4a807e73bbe58860d55314 (patch) | |
tree | 250b6b85573a01ee5677b1c99d73d0e2d13d32bd /settings | |
parent | 65259114391eaeab1f6ceb44e52e2c0a5efa9027 (diff) | |
parent | 7a70fffa6cd1597e588111cd39054b80adf296c0 (diff) | |
download | nextcloud-server-b1c19f74a1d245bd8a4a807e73bbe58860d55314.tar.gz nextcloud-server-b1c19f74a1d245bd8a4a807e73bbe58860d55314.zip |
Merge pull request #12085 from owncloud/add-swift-mailer
Migrate OC_Mail to SwiftMailer
Diffstat (limited to 'settings')
-rw-r--r-- | settings/application.php | 8 | ||||
-rw-r--r-- | settings/controller/mailsettingscontroller.php | 36 | ||||
-rw-r--r-- | settings/controller/userscontroller.php | 32 |
3 files changed, 38 insertions, 38 deletions
diff --git a/settings/application.php b/settings/application.php index 6fe23447a72..ce47f155ebe 100644 --- a/settings/application.php +++ b/settings/application.php @@ -47,7 +47,7 @@ class Application extends App { $c->query('Config'), $c->query('UserSession'), $c->query('Defaults'), - $c->query('Mail'), + $c->query('Mailer'), $c->query('DefaultMailAddress') ); }); @@ -89,7 +89,7 @@ class Application extends App { $c->query('L10N'), $c->query('Logger'), $c->query('Defaults'), - $c->query('Mail'), + $c->query('Mailer'), $c->query('DefaultMailAddress'), $c->query('URLGenerator'), $c->query('OCP\\App\\IAppManager'), @@ -151,8 +151,8 @@ class Application extends App { $container->registerService('SubAdminFactory', function(IContainer $c) { return new SubAdminFactory(); }); - $container->registerService('Mail', function(IContainer $c) { - return new \OC_Mail; + $container->registerService('Mailer', function(IContainer $c) { + return $c->query('ServerContainer')->getMailer(); }); $container->registerService('Defaults', function(IContainer $c) { return new \OC_Defaults; diff --git a/settings/controller/mailsettingscontroller.php b/settings/controller/mailsettingscontroller.php index 5874e644abb..53365cf253b 100644 --- a/settings/controller/mailsettingscontroller.php +++ b/settings/controller/mailsettingscontroller.php @@ -16,6 +16,8 @@ use \OCP\AppFramework\Controller; use OCP\IRequest; use OCP\IL10N; use OCP\IConfig; +use OCP\Mail\IMailer; +use OCP\Mail\IMessage; /** * @package OC\Settings\Controller @@ -30,8 +32,8 @@ class MailSettingsController extends Controller { private $userSession; /** @var \OC_Defaults */ private $defaults; - /** @var \OC_Mail */ - private $mail; + /** @var IMailer */ + private $mailer; /** @var string */ private $defaultMailAddress; @@ -42,7 +44,7 @@ class MailSettingsController extends Controller { * @param IConfig $config * @param Session $userSession * @param \OC_Defaults $defaults - * @param \OC_Mail $mail + * @param IMailer $mailer * @param string $defaultMailAddress */ public function __construct($appName, @@ -51,14 +53,14 @@ class MailSettingsController extends Controller { IConfig $config, Session $userSession, \OC_Defaults $defaults, - \OC_Mail $mail, + IMailer $mailer, $defaultMailAddress) { parent::__construct($appName, $request); $this->l10n = $l10n; $this->config = $config; $this->userSession = $userSession; $this->defaults = $defaults; - $this->mail = $mail; + $this->mailer = $mailer; $this->defaultMailAddress = $defaultMailAddress; } @@ -133,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/settings/controller/userscontroller.php b/settings/controller/userscontroller.php index a20cbb4050a..11afe514016 100644 --- a/settings/controller/userscontroller.php +++ b/settings/controller/userscontroller.php @@ -26,6 +26,7 @@ use OCP\IURLGenerator; use OCP\IUser; use OCP\IUserManager; use OCP\IUserSession; +use OCP\Mail\IMailer; /** * @package OC\Settings\Controller @@ -47,8 +48,8 @@ class UsersController extends Controller { private $log; /** @var \OC_Defaults */ private $defaults; - /** @var \OC_Mail */ - private $mail; + /** @var IMailer */ + private $mailer; /** @var string */ private $fromMailAddress; /** @var IURLGenerator */ @@ -71,7 +72,7 @@ class UsersController extends Controller { * @param IL10N $l10n * @param ILogger $log * @param \OC_Defaults $defaults - * @param \OC_Mail $mail + * @param IMailer $mailer * @param string $fromMailAddress * @param IURLGenerator $urlGenerator * @param IAppManager $appManager @@ -87,7 +88,7 @@ class UsersController extends Controller { IL10N $l10n, ILogger $log, \OC_Defaults $defaults, - \OC_Mail $mail, + IMailer $mailer, $fromMailAddress, IURLGenerator $urlGenerator, IAppManager $appManager, @@ -101,7 +102,7 @@ class UsersController extends Controller { $this->l10n = $l10n; $this->log = $log; $this->defaults = $defaults; - $this->mail = $mail; + $this->mailer = $mailer; $this->fromMailAddress = $fromMailAddress; $this->urlGenerator = $urlGenerator; $this->subAdminFactory = $subAdminFactory; @@ -262,8 +263,7 @@ class UsersController extends Controller { * @return DataResponse */ public function create($username, $password, array $groups=array(), $email='') { - - if($email !== '' && !$this->mail->validateAddress($email)) { + if($email !== '' && !$this->mailer->validateMailAddress($email)) { return new DataResponse( array( 'message' => (string)$this->l10n->t('Invalid mail address') @@ -329,15 +329,13 @@ class UsersController extends Controller { $subject = $this->l10n->t('Your %s account was created', [$this->defaults->getName()]); try { - $this->mail->send( - $email, - $username, - $subject, - $mailContent, - $this->fromMailAddress, - $this->defaults->getName(), - 1, - $plainTextMailContent); + $message = $this->mailer->createMessage(); + $message->setTo([$email => $username]); + $message->setSubject($subject); + $message->setHtmlBody($mailContent); + $message->setPlainBody($plainTextMailContent); + $message->setFrom([$this->fromMailAddress => $this->defaults->getName()]); + $this->mailer->send($message); } catch(\Exception $e) { $this->log->error("Can't send new user mail to $email: " . $e->getMessage(), array('app' => 'settings')); } @@ -444,7 +442,7 @@ class UsersController extends Controller { ); } - if($mailAddress !== '' && !$this->mail->validateAddress($mailAddress)) { + if($mailAddress !== '' && !$this->mailer->validateMailAddress($mailAddress)) { return new DataResponse( array( 'status' => 'error', |