405 Method Not Allowed on "Download all attachments" in Bulgarian

Author: rosenpapazovCreated Sep 11, 2026Updated Sep 11, 2026
Labelsbug

Contribution guidelines

Checklist prior issue creation

  • I understand that failure to follow below instructions may cause this issue to be closed.
  • I understand that vague, incomplete or inaccurate information may cause this issue to be closed.
  • I understand that this form is intended solely for reporting software bugs and not for support-related inquiries.
  • I understand that all responses are voluntary and community-driven, and do not constitute commercial support.
  • I confirm that I have reviewed previous issues to ensure this matter has not already been addressed.
  • I confirm that my environment meets all prerequisite requirements as specified in the official documentation.

Description

Download all attachments does not produce output in Bulgarian. Traced back to 405 Not allowed from nginx container, becaus of 'upstream sent invalid header'.

Steps to reproduce:

  1. Log in to SOGo;
  2. Open preferences and set language to 'Български bg', save and reload;
  3. Open email having one ore more attachments.
  4. On the tree dots (top right, labeled more options), select 'Изтегли всички прикачени файлове'
Image
  1. Nothing happens.
  2. Change language back to English (tested with Polish, Russian and French) and repeat steps 1-4, should get an archive with name like attachments-.zip (en) / вложения-.zip (ru) / załączniki-.zip (pl) etc containing the attachments from the open email.

Logs:

plain
2026-09-11T13:21:35.239929+03:00 mail mailcow/redacted-nginx-mailcow-1[1099]: 2026/09/11 13:21:35 [error] 117#117: *4519580 upstream sent invalid header: "\x20..." while reading response header from upstream, client: 10.10.10.172, server: redacted.redacted.bg, request: "POST /SOGo/so/[email protected]/Mail/0/folderINBOX/353/archiveAttachments HTTP/2.0", upstream: "http://172.22.1.248:20000/SOGo/so/[email protected]/Mail/0/folderINBOX/353/archiveAttachments", host: "10.0.0.25", referrer: "https://10.0.0.25/"
2026-09-11T13:21:35.240464+03:00 mail mailcow/redacted-nginx-mailcow-1[1099]: - - - [11/Sep/2026:13:21:35 +0300] "POST /SOGo/so/[email protected]/Mail/0/folderINBOX/353/archiveAttachments HTTP/2.0" 405 552 "https://10.0.0.25/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36 Edg/152.0.0.0"
2026-09-11T13:21:35.240590+03:00 mail mailcow/redacted-sogo-mailcow-1[1099]: Sep 11 13:21:35 67b6d21dd730 sogod [350457]: 10.10.10.172 "POST /SOGo/so/[email protected]/Mail/0/folderINBOX/353/archiveAttachments HTTP/1.1" 200 0/0 0.086 - - 124K - 14

Which branch are you using?

master (stable)

Which architecture are you using?

x86_64

Operating System:

Ubuntu 24.04.4 LTS

Server/VM specifications:

16 vCPU / 64GB RAM

Is Apparmor, SELinux or similar active?

yes

Virtualization technology:

VMWare

Docker version:

29.7.2

docker-compose version or docker compose version:

v5.4.0

mailcow version:

2026-07a

Reverse proxy:

None

Logs of git diff:

plain
diff --git a/data/conf/dovecot/conf.d/fts.conf b/data/conf/dovecot/conf.d/fts.conf
index e8a2f73f5..da7ece1d3 100644
--- a/data/conf/dovecot/conf.d/fts.conf
+++ b/data/conf/dovecot/conf.d/fts.conf
@@ -28,10 +28,10 @@ plugin {
 
 service indexer-worker {
   # Max amount of simultaniously running indexer jobs.
-  process_limit=1
+  process_limit=4
 
   # Max amount of RAM used by EACH indexer process.
-  vsz_limit=128 MB
+  vsz_limit=512 MB
 }
 
 ### THIS PART WILL BE CHANGED BY MODIFYING mailcow.conf AUTOMATICALLY DURING RUNTIME! ###
\ No newline at end of file
diff --git a/data/conf/postfix/x-add-envelope-to b/data/conf/postfix/x-add-envelope-to
new file mode 100644
index 000000000..cb84d3c0f
--- /dev/null
+++ b/data/conf/postfix/x-add-envelope-to
@@ -0,0 +1 @@
+/(.*)/   prepend X-Envelope-To: $1
diff --git a/data/conf/sogo/sogo.conf b/data/conf/sogo/sogo.conf
index 6854569f5..45cc13a3f 100644
--- a/data/conf/sogo/sogo.conf
+++ b/data/conf/sogo/sogo.conf
@@ -5,7 +5,7 @@
         PrivateDAndTViewer
     );
 
-    WOWorkersCount = "20";
+    WOWorkersCount = "80";
     SOGoACLsSendEMailNotifications = YES;
     SOGoAppointmentSendEMailNotifications = YES;
     SOGoDraftsFolderName = "Drafts";
@@ -14,7 +14,7 @@
     SOGoEnableEMailAlarms = YES;
     SOGoMailHideInlineAttachments = YES;
     SOGoFoldersSendEMailNotifications = YES;
-    SOGoForwardEnabled = YES;
+    SOGoForwardEnabled = NO;
 
     // Added with SOGo 5.12 - Allows users to cleanup there maildirectories by deleting mails oder than X
     SOGoEnableMailCleaning = YES;
@@ -30,7 +30,7 @@
       js/custom-sogo.js
     );
 
-    SOGoEnablePublicAccess = YES;
+    SOGoEnablePublicAccess = NO;
 
     // Multi-domain setup
     // Domains are isolated, you can define visibility options here.
@@ -45,14 +45,14 @@
     WOPort = "0.0.0.0:20000";
     SOGoMemcachedHost = "memcached";
 
-    SOGoLanguage = English;
+    SOGoLanguage = Bulgarian;
     SOGoMailAuxiliaryUserAccountsEnabled = YES;
     // SOGoCreateIdentitiesDisabled = NO;
     SOGoMailCustomFromEnabled = YES;
     SOGoMailingMechanism = smtp;
     SOGoSMTPAuthenticationType = plain;
 
-    SxVMemLimit = 384;
+    SxVMemLimit = 512;
 
     SOGoMaximumPingInterval = 3540;
 
@@ -62,14 +62,16 @@
     // 100 seems to break some Android clients
     //SOGoMaximumSyncWindowSize = 99;
     // This should do the trick for Outlook 2016
-    SOGoMaximumSyncResponseSize = 512;
+    SOGoMaximumSyncResponseSize = 10240;
 
     WOWatchDogRequestTimeout = 30;
-    WOListenQueueSize = 16;
+    WOListenQueueSize = 32;
     WONoDetach = YES;
 
     SOGoIMAPAclConformsToIMAPExt = Yes;
-    SOGoPageTitle = "SOGo Groupware";
+    SOGoPageTitle = " Redacted | Редактирано дълго име";
+    SOGoMailAddOutgoingAddresses = YES;
+    SOGoRefreshViewCheck = "every_5_minutes";
     SOGoFirstDayOfWeek = "1";
 
     SOGoSieveFolderEncoding = "UTF-8";
@@ -77,9 +79,9 @@
     SOGoSentFolderName = "Sent";
     SOGoMailShowSubscribedFoldersOnly = NO;
     NGImap4ConnectionStringSeparator = "/";
-    SOGoSieveScriptsEnabled = YES;
+    SOGoSieveScriptsEnabled = NO;
     SOGoTrashFolderName = "Trash";
-    SOGoVacationEnabled = YES;
+    SOGoVacationEnabled = NO;
 
     SOGoCacheCleanupInterval = 900;
     SOGoMaximumFailedLoginCount = 10;

Logs of iptables -L -vn:

plain
Not applicable.

Logs of ip6tables -L -vn:

plain
Not applicable.

Logs of iptables -L -vn -t nat:

plain
Not applicable.

Logs of ip6tables -L -vn -t nat:

plain
Not applicable.

DNS check:

plain
198.252.206.1

Source: mailcow/mailcow-dockerized