diff --git a/javascript/package.json b/javascript/package.json
index 1cc608b267fb1be5d7df4e7551dca5cb29716d6b..bab32fc9af6cad2dda7cab5aa4307bebd8a0a301 100644
--- a/javascript/package.json
+++ b/javascript/package.json
@@ -28,6 +28,7 @@
     "data-uri-to-blob": "^0.0.4",
     "libmime": "^4.0.1",
     "libqp": "^1.1.0",
+    "lodash": "^4.17.11",
     "penpal": "^3.0.3",
     "pkijs": "^2.1.69",
     "pvutils": "^1.0.16",
diff --git a/javascript/src/helpers/mailparser.js b/javascript/src/helpers/mailparser.js
index 8fd6f11fe5bcbd4f5259b0f4d7e306ab891543b1..5ff8dd5191a414657c5cbfb9362e531645f3369a 100644
--- a/javascript/src/helpers/mailparser.js
+++ b/javascript/src/helpers/mailparser.js
@@ -154,7 +154,7 @@ export function parseMIME(mime) {
 
   parts.push({
     indices: { from: 0, to: mime.length, headersEnd: headersEnd },
-    headers: headers,
+    headers,
     boundary: "mimemessage"
   });
 
@@ -162,19 +162,11 @@ export function parseMIME(mime) {
 }
 
 function getHeaderValue(header, part) {
-  if (part.headers !== null && part.headers !== undefined) {
-    if (part.headers[header] !== null && part.headers[header] !== undefined) {
-      if (part.headers[header].length > 0) {
-        return part.headers[header];
-      } else {
-        return null;
-      }
-    } else {
-      return null;
-    }
-  } else {
-    return null;
+  if (part.headers && part.headers[header] && part.headers[header].length) {
+    return part.headers[header];
   }
+
+  return null;
 }
 
 export function getGlobalHeaderValue(header, parts) {
diff --git a/javascript/src/utilities/emailUtilities.js b/javascript/src/utilities/emailUtilities.js
index 7bc1971b2afc9248124784529618b4fafd2ef936..bd26ac73bd9cdf06e56cbab770f6cedbeb0771b9 100644
--- a/javascript/src/utilities/emailUtilities.js
+++ b/javascript/src/utilities/emailUtilities.js
@@ -1,5 +1,7 @@
 import dataUriToBlob from "data-uri-to-blob";
 import libmime from 'libmime';
+import map from 'lodash/map';
+import union from 'lodash/union';
 
 import {
   fixNewLines,
@@ -15,6 +17,11 @@ import { getCertificateChain } from "./signingUtilities";
 const SIGNATURE_CONTENT_TYPE = "application/pkcs7-signature";
 export const DEFAULT_ATTACHMENT_NAME = 'attachment';
 
+const splitParticipants = participantsList => {
+  const participants = map(participantsList, participants => participants.split(",").map(p => p.trim()));
+  return union.apply(null, participants);
+};
+
 export const parseSMIME = smimeString => {
   return new Promise(resolve => {
     setTimeout(async () => {
@@ -48,10 +55,14 @@ export const parseSMIME = smimeString => {
 
       const certificateChain = getCertificateChain(signatureBase64);
 
+      const from = splitParticipants(getGlobalHeaderValue("from", parts));
+      const to = splitParticipants(getGlobalHeaderValue("to", parts));
+      const cc = splitParticipants(getGlobalHeaderValue("cc", parts));
+
       const message = {
-        from: getGlobalHeaderValue("from", parts),
-        to: getGlobalHeaderValue("to", parts),
-        cc: getGlobalHeaderValue("cc", parts),
+        from,
+        to,
+        cc,
         subject: getGlobalHeaderValue("subject", parts).join(" "),
         html: extractHtmlBodyFromString(html),
         plain,
@@ -101,4 +112,4 @@ export const extractHtmlBodyFromString = string => {
   }
 
   return body;
-};
\ No newline at end of file
+};