summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-03-17 23:49:19 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-03-17 23:49:19 +0100
commita4d2c7810e0e11840f60211c8c87ae4443791e11 (patch)
treedeada5192f1b648c767951c05e70c5cf2ba19197 /lib
parent087117d87d97643dec0eb871597160e6ea4f00d8 (diff)
parentaea4b3166baab48fbc36ce40dfc5481fc6ba45ab (diff)
downloadnextcloud-server-a4d2c7810e0e11840f60211c8c87ae4443791e11.tar.gz
nextcloud-server-a4d2c7810e0e11840f60211c8c87ae4443791e11.zip
Merge pull request #14975 from owncloud/add-smtp-debug-mode
Add debug mode back to mailer
Diffstat (limited to 'lib')
-rw-r--r--lib/private/mail/mailer.php17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/private/mail/mailer.php b/lib/private/mail/mailer.php
index a995322d89e..13c9167cabc 100644
--- a/lib/private/mail/mailer.php
+++ b/lib/private/mail/mailer.php
@@ -73,15 +73,30 @@ class Mailer implements IMailer {
* has been supplied.)
*/
public function send(Message $message) {
+ $debugMode = $this->config->getSystemValue('mail_smtpdebug', false);
+
if (sizeof($message->getFrom()) === 0) {
$message->setFrom([\OCP\Util::getDefaultEmailAddress($this->defaults->getName())]);
}
$failedRecipients = [];
- $this->getInstance()->send($message->getSwiftMessage(), $failedRecipients);
+ $mailer = $this->getInstance();
+
+ // Enable logger if debug mode is enabled
+ if($debugMode) {
+ $mailLogger = new \Swift_Plugins_Loggers_ArrayLogger();
+ $mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($mailLogger));
+ }
+
+ $mailer->send($message->getSwiftMessage(), $failedRecipients);
+
+ // Debugging logging
$logMessage = sprintf('Sent mail to "%s" with subject "%s"', print_r($message->getTo(), true), $message->getSubject());
$this->logger->debug($logMessage, ['app' => 'core']);
+ if($debugMode && isset($mailLogger)) {
+ $this->logger->debug($mailLogger->dump(), ['app' => 'core']);
+ }
return $failedRecipients;
}