*/
namespace OC\Mail;
-use OCP\Mail\AutoSubmittedValue;
+use OCP\Mail\Headers\AutoSubmitted;
use OCP\Mail\IAttachment;
use OCP\Mail\IEMailTemplate;
use OCP\Mail\IMessage;
* Add the Auto-Submitted header to the email, preventing most automated
* responses to automated messages.
*
- * @param AutoSubmittedValue::* $value (one of AutoSubmittedValue::NO, AutoSubmittedValue::AUTO_GENERATED, AutoSubmittedValue::AUTO_REPLIED)
+ * @param AutoSubmitted::VALUE_* $value (one of AutoSubmitted::VALUE_NO, AutoSubmitted::VALUE_AUTO_GENERATED, AutoSubmitted::VALUE_AUTO_REPLIED)
* @return $this
*/
public function setAutoSubmitted(string $value): IMessage {
$headers = $this->swiftMessage->getHeaders();
- if ($headers->has('Auto-Submitted')) {
+ if ($headers->has(AutoSubmitted::HEADER)) {
// if the header already exsists, remove it.
// the value can be modified with some implementations
// of the interface \Swift_Mime_Header, however the
// interface doesn't, and this makes the static-code
// analysis unhappy.
- $headers->remove('Auto-Submitted');
+ $headers->remove(AutoSubmitted::HEADER);
}
- $headers->addTextHeader('Auto-Submitted', $value);
+ $headers->addTextHeader(AutoSubmitted::HEADER, $value);
return $this;
}
public function getAutoSubmitted(): string {
$headers = $this->swiftMessage->getHeaders();
- return $headers->has('Auto-Submitted') ?
- $headers->get('Auto-Submitted')->toString() : AutoSubmittedValue::NO;
+ return $headers->has(AutoSubmitted::HEADER) ?
+ $headers->get(AutoSubmitted::HEADER)->toString() : AutoSubmitted::VALUE_NO;
}
}
+++ /dev/null
-<?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.
- *
- * @link 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';
-}
--- /dev/null
+<?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';
+}
* Add the Auto-Submitted header to the email, preventing most automated
* responses to automated messages.
*
- * @param AutoSubmittedValue::* $value (one of AutoSubmittedValue::NO, AutoSubmittedValue::AUTO_GENERATED, AutoSubmittedValue::AUTO_REPLIED)
+ * @param AutoSubmitted::VALUE_* $value (one of AutoSubmitted::VALUE_NO, AutoSubmitted::VALUE_AUTO_GENERATED, AutoSubmitted::VALUE_AUTO_REPLIED)
* @return IMessage
* @since 26.0.0
*/
namespace Test\Mail;
use OC\Mail\Message;
-use OCP\Mail\AutoSubmittedValue;
+use OCP\Mail\Headers\AutoSubmitted;
use OCP\Mail\IEMailTemplate;
use Swift_Message;
use Test\TestCase;
->method('remove');
$swiftMimeSimpleHeaderSet->expects($this->once())
->method('addTextHeader')
- ->with('Auto-Submitted', AutoSubmittedValue::AUTO_GENERATED);
+ ->with('Auto-Submitted', AutoSubmitted::VALUE_AUTO_GENERATED);
$message = new Message($swiftMessage, false);
- $message->setAutoSubmitted(AutoSubmittedValue::AUTO_GENERATED);
+ $message->setAutoSubmitted(AutoSubmitted::VALUE_AUTO_GENERATED);
}
public function testSetAutoSubmitted2() {
->with('Auto-Submitted');
$swiftMimeSimpleHeaderSet->expects($this->once())
->method('addTextHeader')
- ->with('Auto-Submitted', AutoSubmittedValue::AUTO_GENERATED);
+ ->with('Auto-Submitted', AutoSubmitted::VALUE_AUTO_GENERATED);
$message = new Message($swiftMessage, false);
- $message->setAutoSubmitted(AutoSubmittedValue::AUTO_GENERATED);
+ $message->setAutoSubmitted(AutoSubmitted::VALUE_AUTO_GENERATED);
}
public function testGetAutoSubmitted1() {
$swiftMessage->method('getHeaders')->willReturn($swiftMimeSimpleHeaderSet);
- $swiftMimeHeader->method('toString')->willReturn(AutoSubmittedValue::AUTO_GENERATED);
+ $swiftMimeHeader->method('toString')->willReturn(AutoSubmitted::VALUE_AUTO_GENERATED);
$swiftMimeSimpleHeaderSet->expects($this->once())
->method('has')
->willReturn($swiftMimeHeader);
$message = new Message($swiftMessage, false);
- $this->assertSame(AutoSubmittedValue::AUTO_GENERATED, $message->getAutoSubmitted());
+ $this->assertSame(AutoSubmitted::VALUE_AUTO_GENERATED, $message->getAutoSubmitted());
}
}