You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by hq...@apache.org on 2026/10/16 08:03:30 UTC
(james-project) 01/07: JAMES-4236 MailQueueFactory: tell whether queued mails can be delayed
This is an automated email from the ASF dual-hosted git repository.
quantranhong1999 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 246d055ffef36dbf7dbb2f8733f9d5f8844cba80
Author: Min Nguyen <mi...@gmail.com>
AuthorDate: Tue Oct 13 15:51:30 2026 +0700
JAMES-4236 MailQueueFactory: tell whether queued mails can be delayed
---
.../main/java/org/apache/james/queue/api/MailQueueFactory.java | 9 +++++++++
.../apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java | 5 +++++
2 files changed, 14 insertions(+)
diff --git a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
index 35a496700d..fbbebc7146 100644
--- a/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
+++ b/server/queue/queue-api/src/main/java/org/apache/james/queue/api/MailQueueFactory.java
@@ -86,4 +86,13 @@ public interface MailQueueFactory<T extends MailQueue> {
T createQueue(MailQueueName name, PrefetchCount count);
Set<MailQueueName> listCreatedMailQueues();
+
+ /**
+ * @return false when the {@link MailQueue}s of this factory ignore the delay given upon enqueue.
+ * Protocols allowing users to delay a send (SMTP FUTURERELEASE, JMAP delayed sends) need to
+ * reject such requests rather than sending the mail right away.
+ */
+ default boolean supportsDelays() {
+ return true;
+ }
}
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
index 82c3f1afef..a94effaff2 100644
--- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
@@ -156,6 +156,11 @@ public class RabbitMQMailQueueFactory implements MailQueueFactory<RabbitMQMailQu
.collect(ImmutableSet.toImmutableSet());
}
+ @Override
+ public boolean supportsDelays() {
+ return false;
+ }
+
private RabbitMQMailQueue createQueueIntoRabbitServer(MailQueueName mailQueueName, PrefetchCount prefetchCount) {
String exchangeName = mailQueueName.toRabbitExchangeName().asString();
Flux.concat(
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org