diff options
author | Bennet Becker <bbecker@pks.mpg.de> | 2022-12-22 13:30:55 +0100 |
---|---|---|
committer | Bennet Becker <dev@bennet.cc> | 2022-12-23 19:26:20 +0100 |
commit | b3d9b57815bc74a157f33388af3dfc9f79cf1df1 (patch) | |
tree | 2d4836cd555873036d8c922155ada12d454be965 /lib/private | |
parent | 5c4b4bde1b2da872c3e03846954214a8aa8c598e (diff) | |
download | nextcloud-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.php | 33 |
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"; + } } |