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/public | |
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/public')
-rw-r--r-- | lib/public/Mail/AutoSubmittedValue.php | 66 | ||||
-rw-r--r-- | lib/public/Mail/IMessage.php | 10 |
2 files changed, 76 insertions, 0 deletions
diff --git a/lib/public/Mail/AutoSubmittedValue.php b/lib/public/Mail/AutoSubmittedValue.php new file mode 100644 index 00000000000..3c3d9f13078 --- /dev/null +++ b/lib/public/Mail/AutoSubmittedValue.php @@ -0,0 +1,66 @@ +<?php + +declare(strict_types=1); + +/** + * @copyright Copyright (c) 2022 Bennet Becker <dev@bennet.cc> + * + * @author Bennet Becker <dev@bennet.cc> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +namespace OCP\Mail; + +/** + * Keyword values for the Auto-Submitted email header, as per RFC 3834. + * + * The value "auto-notified" as per RFC 5436 is deliberately omitted as it is + * meant of notification of the sieve system. + * + * @see https://www.iana.org/assignments/auto-submitted-keywords/auto-submitted-keywords.xhtml + * + * @since 26.0.0 + */ +final class AutoSubmittedValue { + /** + * Indicates that a message was NOT automatically generated, but was + * created by a human (or following human interaction). It is the equivalent + * to the absence of an Auto-Submitted header altogether. + * + * @var string + * @since 26.0.0 + */ + public const NO = 'no'; + + /** + * Indicates that a message was generated by an automatic process, and is + * not a direct response to another message + * + * @var string + * @since 26.0.0 + */ + public const AUTO_GENERATED = 'auto-generated'; + + /** + * Indicates that a message was automatically generated as a direct response + * to another message. + * + * @var string + * @since 26.0.0 + */ + public const AUTO_REPLIED = 'auto-replied'; +} diff --git a/lib/public/Mail/IMessage.php b/lib/public/Mail/IMessage.php index 1549f61c1fe..93afad3727e 100644 --- a/lib/public/Mail/IMessage.php +++ b/lib/public/Mail/IMessage.php @@ -93,4 +93,14 @@ interface IMessage { * @since 13.0.0 */ public function useTemplate(IEMailTemplate $emailTemplate): IMessage; + + /** + * 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 IMessage + * @since 26.0.0 + */ + public function setAutoSubmitted(string $value): IMessage; } |