diff options
author | Joas Schilling <213943+nickvergessen@users.noreply.github.com> | 2023-01-04 09:34:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-04 09:34:14 +0100 |
commit | 348454cb91cd0f7e75e77ae9080237ebab31d66b (patch) | |
tree | d4bab3c4f3deb28dd3046c7adac264a7b5804062 /lib/public | |
parent | b37a4950e4b2c8cf79b59295a07d40e34afea423 (diff) | |
parent | c8bde160cd2c40baffca71a45b77d62dda33e795 (diff) | |
download | nextcloud-server-348454cb91cd0f7e75e77ae9080237ebab31d66b.tar.gz nextcloud-server-348454cb91cd0f7e75e77ae9080237ebab31d66b.zip |
Merge pull request #35876 from bennet0496/patch-mail-header
Adding option to set Auto-Submitted email header
Diffstat (limited to 'lib/public')
-rw-r--r-- | lib/public/Mail/Headers/AutoSubmitted.php | 75 | ||||
-rw-r--r-- | lib/public/Mail/IMessage.php | 10 |
2 files changed, 85 insertions, 0 deletions
diff --git a/lib/public/Mail/Headers/AutoSubmitted.php b/lib/public/Mail/Headers/AutoSubmitted.php new file mode 100644 index 00000000000..21df18dd918 --- /dev/null +++ b/lib/public/Mail/Headers/AutoSubmitted.php @@ -0,0 +1,75 @@ +<?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\Headers; + +/** + * 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. + * + * @link https://www.iana.org/assignments/auto-submitted-keywords/auto-submitted-keywords.xhtml + * + * @since 26.0.0 + */ +final class AutoSubmitted { + + /** + * Name of the Header as used in the final message later + * + * @var string + * @since 26.0.0 + */ + public const HEADER = 'Auto-Submitted'; + + /** + * 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 VALUE_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 VALUE_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 VALUE_AUTO_REPLIED = 'auto-replied'; +} diff --git a/lib/public/Mail/IMessage.php b/lib/public/Mail/IMessage.php index 1549f61c1fe..994d32603e9 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 Headers\AutoSubmitted::VALUE_* $value (one of AutoSubmitted::VALUE_NO, AutoSubmitted::VALUE_AUTO_GENERATED, AutoSubmitted::VALUE_AUTO_REPLIED) + * @return IMessage + * @since 26.0.0 + */ + public function setAutoSubmitted(string $value): IMessage; } |