From d22cbaed27de6410be55ac137aeaadf1ef3a2416 Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 7 Oct 2020 13:49:04 +0000
Subject: [PATCH] 1061035 fix bulkmail throw error

---
 .../_____LANGUAGE_EXTRA.aod                   |  3 +++
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  4 ++++
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |  3 +++
 process/Email_lib/process.js                  | 19 ++++++++++++++++---
 4 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 5e056b9be7..8b633511b0 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7269,6 +7269,9 @@
     <entry>
       <key>Favoritegroup</key>
     </entry>
+    <entry>
+      <key>Mailbridge failed: user '%0' is unknown, contact an administrator.</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index e65b895509..61cbdca201 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -9642,6 +9642,10 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>FavoriteGroup</key>
     </entry>
+    <entry>
+      <key>Mailbridge failed: user '%0' is unknown, contact an administrator.</key>
+      <value>Mailbridge fehlgeschlagen: Benutzer '%0' ist unbekannt, kontaktieren sie einen Administrator.</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 8347bc106b..7b56909fe4 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7350,6 +7350,9 @@
     <entry>
       <key>Favoritegroup</key>
     </entry>
+    <entry>
+      <key>Mailbridge failed: user '%0' is unknown, contact an administrator.</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/process/Email_lib/process.js b/process/Email_lib/process.js
index 373495625a..bffbe633e2 100644
--- a/process/Email_lib/process.js
+++ b/process/Email_lib/process.js
@@ -1,3 +1,4 @@
+import("system.question");
 import("Sql_lib");
 import("MimeType_lib");
 import("Document_lib");
@@ -10,7 +11,8 @@ import("Communication_lib");
 import("DocumentTemplate_lib");
 import("system.neon");
 import("system.mail");
-import("Bulkmail_lib")
+import("Bulkmail_lib");
+import("system.tools");
 
 function EmailWritingUtils () {}
 
@@ -380,8 +382,19 @@ Email.prototype.send = function (pUser)
         
         if (this.sender)
             mail.setSender(mailId, this.sender);
-    
-        var sentMails = mail.sendMailAs(pUser || "mailbridge", mailId)
+        var mailbridgeTitle = "mailbridge";
+        var sentMails;
+        if(pUser)
+            sentMails = mail.sendMailAs(pUser, mailId)
+        else
+        {
+            let mailbridgeExists = tools.getUser(mailbridgeTitle);
+            
+            if(mailbridgeExists)
+                mail.sendMailAs(mailbridgeTitle, mailId)
+            else //check mailbridge user if this error gets thrown
+                question.showMessage(translate.withArguments("Mailbridge failed: user '%0' is unknown, contact an administrator.", [mailbridgeTitle]), question.ERROR, translate.text("Error"));
+        }
         // remove from cache
         mail.deleteMail(mailId)
         return sentMails > 0;
-- 
GitLab