diff --git a/goofy-client/apps/goofy-e2e/README.md b/goofy-client/apps/goofy-e2e/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..91f6661fd994ba8a64809bc50a80a876fd8dcc42
--- /dev/null
+++ b/goofy-client/apps/goofy-e2e/README.md
@@ -0,0 +1,13 @@
+# E2E
+
+## Gegen ein bestehenden Namespace testen
+
+Beispiel Namespace: sh-mastere2emain-dev
+
+1. Umleiten der Datenbank: `kubectl port-forward pluto-database-0 27017:27017 -n sh-mastere2emain-dev`
+
+2. Umleiten des Elastic Search: `kubectl port-forward ozg-search-cluster-es-ozg-search-0 9200:9200 -n elastic-system`
+
+3. Host Eintrag ergänzen: In `/etc/hosts` folgenden Eintrag ergänzen: `127.0.0.1 pluto-database-0.pluto-database-svc.sh-mastere2emain-dev.svc.cluster.local`
+
+4. Cypress mit entsprechender config starten: `npm run cypress:open -- --config-file cypress-master-main.json`
diff --git a/goofy-client/apps/goofy-e2e/cypress-master-ea.json b/goofy-client/apps/goofy-e2e/cypress-master-ea.json
new file mode 100644
index 0000000000000000000000000000000000000000..336cd383bcbf1faa53a03a09f36e75a4fec1447a
--- /dev/null
+++ b/goofy-client/apps/goofy-e2e/cypress-master-ea.json
@@ -0,0 +1,40 @@
+{
+	"baseUrl": "https://mastere2eea.dev.ozg-sh.de/",
+	"env": {
+		"dbUrl": "mongodb://pluto-database-user:XnHhfznNWg65NNd@localhost/admin?ssl=false",
+		"database": "pluto-database",
+		"keycloakRealm": "sh-mastere2eea-dev",
+		"keycloakUrl": "https://sso.dev.ozg-sh.de/",
+		"keycloakClient": "sh-mastere2eea-dev-goofy",
+		"sabineUuid": "c2e95389-a86d-49b7-993d-12105b1a5408",
+		"search": {
+			"url": "https://localhost:9200",
+			"index": "sh-mastere2eea-dev",
+			"user": "sh-mastere2eea-dev",
+			"password": "VtMqdo0ctphHkDH"
+		},
+		"userManager": {
+			"dbUrl":"mongodb://user-manager-database-user:Er5CuXV6eBmYPy7@localhost/admin?ssl=false",
+	        "database":"user-manager-database"
+		}
+	},
+	"fileServerFolder": ".",
+	"fixturesFolder": "./src/fixtures",
+	"integrationFolder": "./src/integration",
+	"modifyObstructiveCode": false,
+	"pluginsFile": "./src/plugins/index",
+	"supportFile": "./src/support/index.ts",
+	"video": true,
+	"videosFolder": "./reports/videos",
+	"screenshotsFolder": "./reports/screenshots",
+	"chromeWebSecurity": false,
+	"reporter": "../../node_modules/cypress-mochawesome-reporter",
+	"defaultCommandTimeout": 10000,
+	"reporterOptions": {
+		"html": false,
+		"json": true,
+		"reportDir": "./reports/mochawesome-report",
+		"reportFilename": "report",
+		"overwrite": true
+	}
+}
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/cypress-master-main.json b/goofy-client/apps/goofy-e2e/cypress-master-main.json
new file mode 100644
index 0000000000000000000000000000000000000000..6575029056e9d5d73fc2cfc395d6f64d60b6d186
--- /dev/null
+++ b/goofy-client/apps/goofy-e2e/cypress-master-main.json
@@ -0,0 +1,40 @@
+{
+	"baseUrl": "https://mastere2emain.dev.ozg-sh.de/",
+	"env": {
+		"dbUrl": "mongodb://pluto-database-user:XnHhfznNWg65NNd@localhost/admin?ssl=false",
+		"database": "pluto-database",
+		"keycloakRealm": "sh-mastere2emain-dev",
+		"keycloakUrl": "https://sso.dev.ozg-sh.de/",
+		"keycloakClient": "sh-mastere2emain-dev-goofy",
+		"sabineUuid": "5f2efd21-250a-4c0a-ab7d-f324764a5d69",
+		"search": {
+			"url": "https://localhost:9200",
+			"index": "sh-mastere2emain-dev",
+			"user": "sh-mastere2emain-dev",
+			"password": "bea5hCA2RTsJupP"
+		},
+		"userManager": {
+			"dbUrl":"mongodb://user-manager-database-user:7eDJTX397PytrOk@localhost/admin?ssl=false",
+	        "database":"user-manager-database"
+		}
+	},
+	"fileServerFolder": ".",
+	"fixturesFolder": "./src/fixtures",
+	"integrationFolder": "./src/integration",
+	"modifyObstructiveCode": false,
+	"pluginsFile": "./src/plugins/index",
+	"supportFile": "./src/support/index.ts",
+	"video": true,
+	"videosFolder": "./reports/videos",
+	"screenshotsFolder": "./reports/screenshots",
+	"chromeWebSecurity": false,
+	"reporter": "../../node_modules/cypress-mochawesome-reporter",
+	"defaultCommandTimeout": 10000,
+	"reporterOptions": {
+		"html": false,
+		"json": true,
+		"reportDir": "./reports/mochawesome-report",
+		"reportFilename": "report",
+		"overwrite": true
+	}
+}
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/navigation/navigation.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/navigation/navigation.e2e-spec.ts
index c0fcd0535bd473b973157f8a0d997b311fcc572c..a55d8226aa0c071050d0393d7676bdf517c2454b 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/navigation/navigation.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/navigation/navigation.e2e-spec.ts
@@ -13,15 +13,20 @@ describe('Navigation', () => {
 
 	before(() => {
 		loginAsEmil();
-
-		waitForSpinnerToDisappear();
-		exist(vorgangList.getRoot());
 	})
 
 	after(() => {
 		dropCollections();
 	})
 
+	describe('after login', () => {
+
+		it('should show vorgangList', { defaultCommandTimeout: 30000 }, () => {
+			waitForSpinnerToDisappear();
+			exist(vorgangList.getRoot());
+		})
+	})
+
 	describe('navigation item myVorgaenge', () => {
 
 		it('should not exists', () => {
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/app/buildinfo.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/integration/main-tests/app/buildinfo.e2e-spec.ts
index 2173435c27c08c68e83d7ef4d58916348b7bc964..a0cfd2fa7e995a0b6f247501830e46c8483b3d9a 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/app/buildinfo.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/integration/main-tests/app/buildinfo.e2e-spec.ts
@@ -12,15 +12,20 @@ describe('Buildinfo', () => {
 
 	before(() => {
 		loginAsSabine();
-
-		waitForSpinnerToDisappear();
-		exist(vorgangList.getRoot());
 	})
 
 	after(() => {
 		dropCollections();
 	})
 
+	describe('after login', () => {
+
+		it('should show vorgangList', { defaultCommandTimeout: 30000 }, () => {
+			waitForSpinnerToDisappear();
+			exist(vorgangList.getRoot());
+		})
+	})
+
 	describe('buildinfo', () => {
 
 		it('should show version', () => {
diff --git a/goofy-server/src/main/resources/fop/postfach-nachrichten.xsl b/goofy-server/src/main/resources/fop/postfach-nachrichten.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..3daed3ceb700089f666fd47c403464e99267b2e1
--- /dev/null
+++ b/goofy-server/src/main/resources/fop/postfach-nachrichten.xsl
@@ -0,0 +1,43 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.1">
+
+	<xsl:template name="functional-template" match="/testModel">
+		<fo:flow flow-name="xsl-region-body">
+
+			<fo:block font-size="14pt">
+				<fo:table>
+					<fo:table-column column-width="50mm" />
+					<fo:table-column column-width="100%"/>
+					<fo:table-body>
+						<fo:table-row>
+							<fo:table-cell>
+								<fo:block>Vorgangsname</fo:block>
+							</fo:table-cell>
+							<fo:table-cell>
+								<fo:block>Versammlungsanzeige</fo:block>
+							</fo:table-cell>
+						</fo:table-row>
+
+						<fo:table-row>
+							<fo:table-cell>
+								<fo:block>Vorgangsnummer</fo:block>
+							</fo:table-cell>
+							<fo:table-cell>
+								<fo:block>12345</fo:block>
+							</fo:table-cell>
+						</fo:table-row>
+					</fo:table-body>
+				</fo:table>
+			</fo:block>
+			
+			<fo:block-container font-size="11pt" margin-top="1cm">
+				<fo:block font-size="14pt">Nachrichten</fo:block>
+				
+				<xsl:apply-templates select="nachricht"/>
+			</fo:block-container>
+		</fo:flow>
+	</xsl:template>
+	
+	<xsl:template name="nachricht">
+		<fo:block>nachricht</fo:block>
+	</xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/goofy-server/src/test/java/de/itvsh/goofy/postfach/PostfachMailControllerTest.java b/goofy-server/src/test/java/de/itvsh/goofy/postfach/PostfachMailControllerTest.java
index a6f4831aab4273e0c533c1b17fae6f0022ac17d3..53bca991fa716be939afeeaf17b24f3ad3d0b83e 100644
--- a/goofy-server/src/test/java/de/itvsh/goofy/postfach/PostfachMailControllerTest.java
+++ b/goofy-server/src/test/java/de/itvsh/goofy/postfach/PostfachMailControllerTest.java
@@ -4,7 +4,6 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
-import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
 
 import java.io.OutputStream;
@@ -136,7 +135,7 @@ class PostfachMailControllerTest {
 		void shouldReturnResponse() throws Exception {
 			doReturn(streamingBody).when(controller).createDownloadStreamingBody(vorgang);
 
-			doRequest().andDo(print())
+			doRequest()
 					.andExpect(header().string(HttpHeaders.CONTENT_DISPOSITION,
 							String.format(PostfachMailController.PDF_NAME_TEMPLATE, VorgangHeaderTestFactory.NUMMER,
 									PostfachMailController.PDF_NAME_DATE_FORMATTER.format(new Date()))))