summaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorBennet Becker <bbecker@pks.mpg.de>2022-12-22 13:30:55 +0100
committerBennet Becker <dev@bennet.cc>2022-12-23 19:26:20 +0100
commitb3d9b57815bc74a157f33388af3dfc9f79cf1df1 (patch)
tree2d4836cd555873036d8c922155ada12d454be965 /lib/private
parent5c4b4bde1b2da872c3e03846954214a8aa8c598e (diff)
downloadnextcloud-server-b3d9b57815bc74a157f33388af3dfc9f79cf1df1.tar.gz
nextcloud-server-b3d9b57815bc74a157f33388af3dfc9f79cf1df1.zip
Adding API method to set the Auto-Submitted header to OCP\Mail\IMessage
and implementation in OC\Mail\Message Signed-off-by: Bennet Becker <bbecker@pks.mpg.de>
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/Mail/Message.php33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/private/Mail/Message.php b/lib/private/Mail/Message.php
index 8b94f44ddba..c383c1b1795 100644
--- a/lib/private/Mail/Message.php
+++ b/lib/private/Mail/Message.php
@@ -31,6 +31,7 @@ declare(strict_types=1);
*/
namespace OC\Mail;
+use OCP\Mail\AutoSubmittedValue;
use OCP\Mail\IAttachment;
use OCP\Mail\IEMailTemplate;
use OCP\Mail\IMessage;
@@ -301,4 +302,36 @@ class Message implements IMessage {
}
return $this;
}
+
+ /**
+ * Add the Auto-Submitted header to the email, preventing most automated
+ * responses to automated messages.
+ *
+ * @param string $value (one of AutoSubmittedValue::NO, AutoSubmittedValue::AUTO_GENERATED, AutoSubmittedValue::AUTO_REPLIED)
+ * @return $this
+ */
+ public function setAutoSubmitted(string $value): IMessage {
+ $headers = $this->swiftMessage->getHeaders();
+ if($headers->has('Auto-Submitted')) {
+ $auto_submitted = $headers->get('Auto-Submitted');
+ $auto_submitted->setValue($value);
+ } else {
+ $headers->addTextHeader('Auto-Submitted', $value);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Get the current value of the Auto-Submitted header. Defaults to "no"
+ * which is equivalent to the header not existing at all
+ *
+ * @return string
+ */
+ public function getAutoSubmitted(): AutoSubmittedValue {
+ $headers = $this->swiftMessage->getHeaders();
+
+ return $headers->has('Auto-Submitted') ?
+ $headers->get('Auto-Submitted')->toString() : "no";
+ }
}