diff --git a/pluto-server/pom.xml b/pluto-server/pom.xml
index 1712e7fc5a4824b0dc03ed97b66f74cd987c2aca..fcc430525e0f29a84d26e9e25072f47e8051acd5 100644
--- a/pluto-server/pom.xml
+++ b/pluto-server/pom.xml
@@ -28,10 +28,11 @@
 		<spring-admin.version>2.3.1</spring-admin.version>
 
 		<commons-io.version>2.8.0</commons-io.version>
-
+		
 		<spring-boot.build-image.imageName>docker.ozg-sh.de/pluto:build-latest</spring-boot.build-image.imageName>
 
 		<zip.version>2.7.0</zip.version>
+		<jsoup.version>1.13.1</jsoup.version>
 	</properties>
 
 	<dependencies>
@@ -119,6 +120,11 @@
 			<artifactId>zip4j</artifactId>
 			<version>${zip.version}</version>
 		</dependency>
+		<dependency>
+		    <groupId>org.jsoup</groupId>
+		    <artifactId>jsoup</artifactId>
+		    <version>${jsoup.version}</version>
+		</dependency>
 
 		<!-- Dev -->
 		<dependency>
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/util/ForwardingLandesnetzInfoService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/util/ForwardingLandesnetzInfoService.java
new file mode 100644
index 0000000000000000000000000000000000000000..7e1ffbdc83596eff2597eb1e50cb24be320913d1
--- /dev/null
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/util/ForwardingLandesnetzInfoService.java
@@ -0,0 +1,73 @@
+package de.itvsh.ozg.pluto.common.util;
+
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Optional;
+
+import javax.annotation.PostConstruct;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.io.ResourceLoader;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StreamUtils;
+
+import lombok.extern.log4j.Log4j2;
+
+@Log4j2
+@Service
+public class ForwardingLandesnetzInfoService {
+
+	private static final String LANDESNETZ_TABLE_IDENTIFIER = "tbl_domains";
+
+	@Autowired
+	private ResourceLoader resourceLoader;
+
+	@Value("${pluto.forwarding.lninfo.url}")
+	private String lnInfoUrl;
+
+	List<String> landesnetzInfo = new LinkedList<>();
+
+	@PostConstruct
+	private void initLandesnetzList() {
+		var html = getResourceAsString();
+
+		if (html.isPresent()) {
+			landesnetzInfo = JSoupUtil.parseFromHtml(html.get(), LANDESNETZ_TABLE_IDENTIFIER);
+			LOG.info("Die Landesnetzinfo wurde ohne Fehler eingelesen");
+		} else {
+			LOG.info("Die Landesnetzinfo konnte nicht gefunden werden.");
+		}
+	}
+
+	private Optional<String> getResourceAsString() {
+		try {
+			return Optional.ofNullable(StreamUtils.copyToString(resourceLoader.getResource(lnInfoUrl).getInputStream(), Charset.defaultCharset()));
+		} catch (IOException e) {
+			LOG.info("Fehler beim Einlesen der Landesnetzinfo", e);
+		}
+		return Optional.empty();
+	}
+
+	public boolean isInLandesnetz(String email) {
+		return includesDomain(getDomainPart(email));
+	}
+
+	private String getDomainPart(String email) {
+		return email.substring(email.lastIndexOf('@') + 1, email.length());
+	}
+
+	private boolean includesDomain(String domainPart) {
+		for (String netz : landesnetzInfo) {
+			if (netz.startsWith(".") && domainPart.contains(netz)) {
+				return true;
+			} else if (StringUtils.equals(netz, domainPart)) {
+				return true;
+			}
+		}
+		return false;
+	}
+}
\ No newline at end of file
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/util/JSoupUtil.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/util/JSoupUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..017497c55f70ee26a46beb7fc177560ce9ceb45f
--- /dev/null
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/common/util/JSoupUtil.java
@@ -0,0 +1,71 @@
+package de.itvsh.ozg.pluto.common.util;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.commons.lang3.StringUtils;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
+import org.jsoup.nodes.Node;
+
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
+@NoArgsConstructor(access = AccessLevel.PACKAGE)
+public class JSoupUtil {
+
+	public static List<String> parseFromHtml(String html, String tableIdentifier) {
+		return JSoupUtil.parseFromDoc(Jsoup.parse(html), tableIdentifier);
+	}
+
+	private static List<String> parseFromDoc(Document doc, String tableIdentifier) {
+		List<String> list = new LinkedList<>();
+
+		getTableColumnList(doc, tableIdentifier).forEach(tableElement -> verifyEntry(list, tableElement));
+
+		return list;
+	}
+
+	private static List<Element> getTableColumnList(Document doc, String tableIdentifier) {
+		return doc.select("#" + tableIdentifier + " tr");
+	}
+
+	private static void verifyEntry(List<String> list, Element element) {
+		if (isTableEntry(element)) {
+			addEntry(list, element);
+		}
+	}
+
+	private static boolean isTableEntry(Element element) {
+		return !isHeaderEntry(element) && !element.childNodes().isEmpty();
+	}
+
+	private static boolean isHeaderEntry(Node element) {
+		return StringUtils.equals(element.attr("class"), "header");
+	}
+
+	private static void addEntry(List<String> list, Element element) {
+		var netzName = getNetzName(element);
+
+		if (isLandesnetz(netzName)) {
+			list.add(getDomainName(element));
+		}
+	}
+
+	private static String getNetzName(Element element) {
+		return selectTextFromTdElement(element, 1);
+	}
+
+	private static boolean isLandesnetz(String netzName) {
+		return StringUtils.equals(netzName, "LNSH");
+	}
+
+	private static String getDomainName(Element element) {
+		return selectTextFromTdElement(element, 0);
+	}
+
+	private static String selectTextFromTdElement(Element element, int index) {
+		return element.select("td").get(index).text();
+	}
+}
\ No newline at end of file
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/files/FileService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/files/FileService.java
index 4351c6375c0f5aa658eaa6e730fca59edf5ffe09..ed53a36cc3276a9da8fdb7f584dad8c32be0af3d 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/files/FileService.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/files/FileService.java
@@ -48,7 +48,10 @@ class FileService {
 	}
 
 	public Stream<BinaryFilePersistanceWrapper> findFiles(Collection<FileId> ids) {
-		return StreamSupport.stream(binaryFileRepository.findAllById(mapFileIdToString(ids)).spliterator(), false);
+		Stream<BinaryFilePersistanceWrapper> stream = StreamSupport.stream(binaryFileRepository.findAllById(mapFileIdToString(ids)).spliterator(),
+				false);
+		var list = stream.collect(Collectors.toList());
+		return list.stream();
 	}
 
 	private Iterable<String> mapFileIdToString(Collection<FileId> ids) {
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingService.java
index 89511aec4f0fccbcaf152b30028f01f24426f9a0..6d70e3bd69e6828f1076565fce44778e82cc3331 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingService.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingService.java
@@ -20,10 +20,11 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.MimeTypeUtils;
 
 import de.itvsh.ozg.mail.email.MailSendRequest;
-import de.itvsh.ozg.mail.email.MailService;
 import de.itvsh.ozg.mail.email.MailSendRequest.MailAttachment;
+import de.itvsh.ozg.mail.email.MailService;
 import de.itvsh.ozg.pluto.command.Command;
 import de.itvsh.ozg.pluto.common.errorhandling.TechnicalException;
+import de.itvsh.ozg.pluto.common.util.ForwardingLandesnetzInfoService;
 import de.itvsh.ozg.pluto.vorgang.Vorgang;
 import de.itvsh.ozg.pluto.vorgang.VorgangService;
 import freemarker.template.Configuration;
@@ -71,6 +72,8 @@ public class ForwardingService {
 	private VorgangService vorgangService;
 	@Autowired
 	private ApplicationEventPublisher publisher;
+	@Autowired
+	private ForwardingLandesnetzInfoService forwardingLandesnetzService;
 
 	@Value("${pluto.redirect.mail-from}")
 	private String mailFrom;
@@ -102,12 +105,16 @@ public class ForwardingService {
 				.body(fillMailTemplate(vorgang))
 				.receiptRequired(true)
 				.requestReference(forwarding)
-				.attachment(buildZipAttachment(vorgang, password))
+				.attachment(buildZipAttachment(vorgang, password, !isInLandesnetz(forwarding.getZustaendigeStelle())))
 				.build();
 	}
 
-	MailSendRequest.MailAttachment buildZipAttachment(Vorgang vorgang, char[] password) {
-		var ds = new ByteArrayDataSource(zipService.buildVorgangZip(vorgang, password).toByteArray(), "application/zip");
+	private boolean isInLandesnetz(String zustaendigeStelle) {
+		return forwardingLandesnetzService.isInLandesnetz(zustaendigeStelle);
+	}
+
+	MailSendRequest.MailAttachment buildZipAttachment(Vorgang vorgang, char[] password, boolean entcrypted) {
+		var ds = new ByteArrayDataSource(zipService.buildVorgangZip(vorgang, password, entcrypted).toByteArray(), "application/zip");
 		ds.setName(buildZipFileName(vorgang));
 		return MailAttachment.builder()
 				.dataSource(ds)
diff --git a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ZipBuilderService.java b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ZipBuilderService.java
index 3e63a5cdbd41e4297df3a276e536c3e5cdc74e35..7db55903ea2e8a2bddeb03202974447ab7ac3b26 100644
--- a/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ZipBuilderService.java
+++ b/pluto-server/src/main/java/de/itvsh/ozg/pluto/vorgang/redirect/ZipBuilderService.java
@@ -21,8 +21,8 @@ import net.lingala.zip4j.model.enums.EncryptionMethod;
 @Service
 class ZipBuilderService {
 
-	public ByteArrayOutputStream buildVorgangZip(Vorgang vorgang, char[] password) {
-		return new ZipBuilder(vorgang).buildZip(password);
+	public ByteArrayOutputStream buildVorgangZip(Vorgang vorgang, char[] password, boolean encrypted) {
+		return new ZipBuilder(vorgang, encrypted).buildZip(password);
 	}
 
 	class ZipBuilder {
@@ -31,17 +31,19 @@ class ZipBuilderService {
 		private static final String FILE_NAME_TEMPLATE = "%s/%s";
 
 		private final Eingang eingang;
+		private final boolean entcrypted;
 
 		private ZipOutputStream zipOut;
 
-		ZipBuilder(Vorgang vorgang) {
+		ZipBuilder(Vorgang vorgang, boolean entcrypted) {
 			this.eingang = vorgang.getEingangs().get(0);
+			this.entcrypted = entcrypted;
 		}
 
 		ByteArrayOutputStream buildZip(char[] password) {
 			ByteArrayOutputStream out = new ByteArrayOutputStream(256);
 
-			try (ZipOutputStream zOut = new ZipOutputStream(out, password)) {
+			try (ZipOutputStream zOut = initZipOutputStream(out, password)) {
 				this.zipOut = zOut;
 				fillZip();
 
@@ -53,6 +55,14 @@ class ZipBuilderService {
 			return out;
 		}
 
+		private ZipOutputStream initZipOutputStream(ByteArrayOutputStream out, char[] password) {
+			try {
+				return entcrypted ? new ZipOutputStream(out, password) : new ZipOutputStream(out);
+			} catch (IOException e) {
+				throw new TechnicalException("Error writing Vorgang-ZIP", e);
+			}
+		}
+
 		private void fillZip() {
 			addRepresentation();
 			addAttachments();
@@ -92,8 +102,11 @@ class ZipBuilderService {
 		private ZipParameters buildZipParameter(String fileName) {
 			var zipParameters = new ZipParameters();
 
-			zipParameters.setEncryptFiles(true);
-			zipParameters.setEncryptionMethod(EncryptionMethod.AES);
+			if (entcrypted) {
+				zipParameters.setEncryptFiles(true);
+				zipParameters.setEncryptionMethod(EncryptionMethod.AES);
+			}
+
 			zipParameters.setAesKeyStrength(AesKeyStrength.KEY_STRENGTH_256);
 			zipParameters.setFileNameInZip(fileName);
 
diff --git a/pluto-server/src/main/resources/application.yml b/pluto-server/src/main/resources/application.yml
index 8f51cae4e6ee81a1465a757e59fa6253c90b1d09..a12177d14c11502e8e1029ad43df7849579f53c5 100644
--- a/pluto-server/src/main/resources/application.yml
+++ b/pluto-server/src/main/resources/application.yml
@@ -22,7 +22,10 @@ pluto:
   redirect:
     mail-from: EA-Poststelle@itvsh.de
   production: false
-
+  forwarding:
+    lninfo:
+      url: classpath:files/LandesnetzInfo.html
+    
 management:
   server:
     port: 8081
diff --git a/pluto-server/src/main/resources/files/LandesnetzInfo.html b/pluto-server/src/main/resources/files/LandesnetzInfo.html
new file mode 100644
index 0000000000000000000000000000000000000000..00e78db377215dc1860f6831aebeb5188f34e2e1
--- /dev/null
+++ b/pluto-server/src/main/resources/files/LandesnetzInfo.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html>
+<!-- saved from url=(0054)https://lninfo.landsh.de/emaildomain/LNmailkunden.html -->
+<html lang="de"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Mailrouting-Tabelle für E-Mail in SH</title>
+    <style>
+        * {
+            box-sizing: border-box;
+            font-family: Arial, Verdana, sans-serif;
+        }
+
+	.clearfix::before,
+	.clearfix::after {
+	   content: " ";
+		   display: table;
+	}
+
+	.clearfix::after {
+	   clear:both;
+	}
+
+        #outer_wrapper {
+            width:85%;
+            max-width: 1200px;
+            margin: 0 auto;
+            
+        }
+
+        #einleitung {
+            font-size: 14px;
+            margin-bottom: 30px;
+        }
+
+	#header_logo {float:left;}
+	#header_logo img {
+		width:200px; padding:10px;
+	}
+	#header h1 {
+		font-size: 24px;
+	}
+	#header #ueberschrift {
+		padding:15px 0 0 220px;
+	}
+
+        #einleitung table {
+            margin: -15px 0 20px 15px;
+        }
+
+        #einleitung td.kuerzel {
+            font-weight: bold;
+            padding-right: 10px;
+
+        }
+
+
+        #InputSuche {
+            background-repeat: no-repeat;
+            width: 100%;
+            font-size: 16px;
+            padding: 12px 20px 12px 12px;
+            border: 1px solid #ddd;
+            margin-bottom: 12px;
+        }
+
+        #tbl_domains {
+            border-collapse: collapse;
+            width: 100%;
+            border: 1px solid #ddd;
+            font-size: 16px;
+        }
+
+        #tbl_domains th,
+        #tbl_domains td {
+            text-align: left;
+            padding: 6px;
+        }
+
+        #tbl_domains tr {
+            border-bottom: 1px solid #ddd;
+        }
+
+        #tbl_domains tr.header,
+        #tbl_domains tr:hover {
+            background-color: #f1f1f1;
+        }
+
+	#letzte_aktualisierung {
+	   margin:25px 0;
+ 	   font-size:14px;
+	}
+
+    </style>
+<script src="chrome-extension://mooikfkahbdckldjjndioackbalphokd/assets/prompt.js"></script></head>
+
+<body>
+
+    <div id="outer_wrapper">
+	<div id="header">
+		<div id="header_logo"><img src="./Mailrouting-Tabelle für E-Mail in SH_files/dataport_logo.png" alt="Dataport Logo"></div>
+		<div id="ueberschrift"><h1>Mailroutingtabelle für E-Mail SH Kunden (Fullmail)</h1></div>
+		<div class="clearfix"></div>
+	</div>
+        <div id="einleitung">
+            <p>
+                In der nachfolgenden Tabelle sind Domänen gelistet, welche bei Verwendung des Dataport Mailrelays für
+                das LNSH (E-Mail SH) über interne Wege geroutet werden.<br>
+                Zu jeder Zieldomain ist ersichtlich, über welche Infrastruktur die E-Mail geroutet wird. Bei Mehrfachnennung gilt die nachfolgende Reihenfolge:<br><br>
+            </p>
+            <table>
+                <tbody><tr>
+                    <td class="kuerzel">LNSH</td>
+                    <td>Die E-Mail wird über das Landesnetz Schleswig-Holstein zum Empfänger geroutet.</td>
+                </tr>
+                <tr>
+                    <td class="kuerzel">NdB</td>
+                    <td>Die E-Mail wird über die Netze des Bundes zum Empfänger geroutet.</td>
+                </tr>
+            </tbody></table>
+
+            <p>
+                E-Mails an Ziele, welche nicht in dieser Übersicht vorhanden sind, werden über das Internet
+                geroutet.</p>
+            <p>
+                <i><strong>Hinweis: </strong>Durch die Nennung einer Domäne in dieser Liste wird keine Aussage oder
+                    Empfehlung darüber
+                    gegeben,
+                    welche Art von E-Mail Inhalten übertragen werden dürfen<br>
+                    und ob diese vor dem Versand verschlüsselt werden sollten.
+                    Bitte beachten Sie die für Ihre Organisation gültigen Regelungen.
+                </i>
+            </p>
+        </div>
+
+        <input type="text" id="InputSuche" onkeyup="myFunction()" placeholder="Suche nach Domainnamen.." title="Geben Sie einen Domainnamen ein">
+
+        <table id="tbl_domains">
+            <tbody><tr class="header">
+                <th style="width:60%;">Domainame</th>
+                <th style="width:40%;">wird geroutet via</th>
+            </tr>
+	    <tr>   <td>.ltsh.de</td>   <td>LNSH Altumgebung</td></tr>
+	    <tr>   <td>ltsh.de</td>   <td>LNSH Altumgebung</td></tr>
+	    <tr>   <td>.itvsh.de</td>   <td>LNSH</td></tr>
+	    <tr>   <td>itvsh.de</td>   <td>LNSH</td></tr>
+        </tbody></table>
+	<div id="letzte_aktualisierung">Letzte Aktualisierung: 01.06.2021 14:42 Uhr - Alle Angaben ohne Gewähr.</div>
+
+        <script>
+            function myFunction() {
+                var input, filter, table, tr, td, i, txtValue;
+                input = document.getElementById("InputSuche");
+                filter = input.value.toUpperCase();
+                table = document.getElementById("tbl_domains");
+                tr = table.getElementsByTagName("tr");
+                for (i = 0; i < tr.length; i++) {
+                    td = tr[i].getElementsByTagName("td")[0];
+                    if (td) {
+                        txtValue = td.textContent || td.innerText;
+                        if (txtValue.toUpperCase().indexOf(filter) > -1) {
+                            tr[i].style.display = "";
+                        } else {
+                            tr[i].style.display = "none";
+                        }
+                    }
+                }
+            }
+        </script>
+
+    </div>
+
+
+
+</body></html>
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/util/ForwardingLandesnetzInfoServiceTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/util/ForwardingLandesnetzInfoServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..8d7c33a4899d01a415e65b16b392901fb6f86e53
--- /dev/null
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/util/ForwardingLandesnetzInfoServiceTest.java
@@ -0,0 +1,56 @@
+package de.itvsh.ozg.pluto.common.util;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.Arrays;
+import java.util.LinkedList;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.springframework.core.io.ResourceLoader;
+
+class ForwardingLandesnetzInfoServiceTest {
+
+	@Spy // NOSONAR
+	@InjectMocks // NOSONAR
+	private ForwardingLandesnetzInfoService service;
+	@Mock
+	private ResourceLoader resourceLoader;
+
+	@Nested
+	class TestIstImLandesnetz {
+
+		private final String IN_LANDESNETZ = "itvsh.de";
+		private final String IN_LANDESNETZ_MIT_PUNKT = ".me.itvsh.de";
+
+		@BeforeEach
+		void initMap() throws Exception {
+			service.landesnetzInfo = new LinkedList<>(Arrays.asList(IN_LANDESNETZ, IN_LANDESNETZ_MIT_PUNKT));
+		}
+
+		@Test
+		void shouldReturnTrueIfIsInLandesnetzlist() {
+			var result = service.isInLandesnetz("email-ohne-domain@" + IN_LANDESNETZ);
+
+			assertThat(result).isTrue();
+		}
+
+		@Test
+		void shouldReturnFalseIfIsNotInLandesnetzlist() {
+			var result = service.isInLandesnetz("email-ohne-domain@me.ltsh.de");
+
+			assertThat(result).isFalse();
+		}
+
+		@Test
+		void shouldReturnFalseIfIsNotInLandesnetzIfDomainIsNotDomain() {
+			var result = service.isInLandesnetz(IN_LANDESNETZ + ".email-ohne-domain@me.ltsh.de");
+
+			assertThat(result).isFalse();
+		}
+	}
+}
\ No newline at end of file
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/util/JSoupUtilTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/util/JSoupUtilTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..9786b8ef77865a2cd9a09a97ab5ddc83f4d56294
--- /dev/null
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/common/util/JSoupUtilTest.java
@@ -0,0 +1,46 @@
+package de.itvsh.ozg.pluto.common.util;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import io.micrometer.core.instrument.util.IOUtils;
+
+class JSoupUtilTest {
+
+	@Nested
+	class TestParseTableWithFile {
+
+		private static final String TABLE_IDENTIFIER = "tbl_domains";
+
+		private String HTML_VALUE;
+
+		@BeforeEach
+		void initResource() {
+			HTML_VALUE = IOUtils.toString(JSoupUtilTest.class.getClassLoader().getResourceAsStream("files/LandesnetzInfo.html"));
+		}
+
+		@Test
+		void shouldReadFileIfExist() {
+			var parsedDomainList = JSoupUtil.parseFromHtml(HTML_VALUE, TABLE_IDENTIFIER);
+
+			assertThat(parsedDomainList).isNotNull().containsExactly(".itvsh.de", "itvsh.de");
+		}
+
+		@Test
+		void shouldReturnEmptyMapIfFileNotExist() {
+			var parsedDomainList = JSoupUtil.parseFromHtml("NOT_EXIST.html", TABLE_IDENTIFIER);
+
+			assertThat(parsedDomainList).isEmpty();
+		}
+
+		@Test
+		void shouldReturnEmptyMapIfIdentifierNotExist() {
+			var parsedDomainList = JSoupUtil.parseFromHtml(HTML_VALUE, "NOT_EXIST");
+
+			assertThat(parsedDomainList).isEmpty();
+		}
+	}
+}
\ No newline at end of file
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingServiceTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingServiceTest.java
index bdf1a0c7c1033ce1c01896822624fb08735eac02..9e8e577bb0eab37466c73274107e131007cd9899 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingServiceTest.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ForwardingServiceTest.java
@@ -18,10 +18,11 @@ import org.mockito.Spy;
 import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.test.util.ReflectionTestUtils;
 
-import de.itvsh.ozg.mail.email.MailService;
 import de.itvsh.ozg.mail.email.MailSendRequest.MailAttachment;
+import de.itvsh.ozg.mail.email.MailService;
 import de.itvsh.ozg.pluto.command.Command;
 import de.itvsh.ozg.pluto.command.CommandTestFactory;
+import de.itvsh.ozg.pluto.common.util.ForwardingLandesnetzInfoService;
 import de.itvsh.ozg.pluto.vorgang.AntragstellerTestFactory;
 import de.itvsh.ozg.pluto.vorgang.EingangHeaderTestFactory;
 import de.itvsh.ozg.pluto.vorgang.EingangTestFactory;
@@ -43,7 +44,8 @@ class ForwardingServiceTest {
 	private VorgangService vorgangService;
 	@Mock
 	private MailService mailService;
-
+	@Mock
+	private ForwardingLandesnetzInfoService forwardingLandesnetzService;
 	@Mock
 	private ApplicationEventPublisher publisher;
 
@@ -92,7 +94,8 @@ class ForwardingServiceTest {
 			ReflectionTestUtils.setField(service, "mailFrom", MAIL_FROM);
 
 			doReturn(BODY).when(service).fillMailTemplate(any());
-			doReturn(mock(MailAttachment.class)).when(service).buildZipAttachment(any(), any());
+			doReturn(mock(MailAttachment.class)).when(service).buildZipAttachment(any(Vorgang.class),
+					any(), anyBoolean());
 		}
 
 		@Test
diff --git a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ZipBuilderServiceTest.java b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ZipBuilderServiceTest.java
index b4071cce708b966a828aa87f4a8450e8a48ad78f..71a852af7097981a6f3548b801a781ab83ccacf3 100644
--- a/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ZipBuilderServiceTest.java
+++ b/pluto-server/src/test/java/de/itvsh/ozg/pluto/vorgang/redirect/ZipBuilderServiceTest.java
@@ -41,7 +41,7 @@ class ZipBuilderServiceTest {
 
 	@BeforeEach
 	void init() {
-		builder = spy(service.new ZipBuilder(VorgangTestFactory.create()));
+		builder = spy(service.new ZipBuilder(VorgangTestFactory.create(), true));
 
 		ReflectionTestUtils.setField(builder, "zipOut", zipOut);
 	}
@@ -99,18 +99,52 @@ class ZipBuilderServiceTest {
 
 	@Nested
 	class TestBuildZip {
-		@Test
-		void shouldValidZipFile() throws IOException {
-			var zipFile = new ZipFile(buildZippedFile());
 
-			assertThat(zipFile.isValidZipFile()).isTrue();
+		@Nested
+		class TestWithEntcryption {
+
+			@BeforeEach
+			void init() {
+				builder = spy(service.new ZipBuilder(VorgangTestFactory.create(), true));
+			}
+
+			@Test
+			void shouldValidZipFile() throws IOException {
+				var zipFile = new ZipFile(buildZippedFile());
+
+				assertThat(zipFile.isValidZipFile()).isTrue();
+			}
+
+			@Test
+			void shouldBeEncrypted() throws IOException {
+				var zipFile = new ZipFile(buildZippedFile());
+
+				assertThat(zipFile.isEncrypted()).isTrue();
+			}
 		}
 
-		@Test
-		void shouldBeEncrypted() throws IOException {
-			var zipFile = new ZipFile(buildZippedFile());
+		@Nested
+		class TestWithNoEntcryption {
+
+			@BeforeEach
+			void init() {
+				builder = spy(service.new ZipBuilder(VorgangTestFactory.create(), false));
+			}
+
+			@Test
+			void shouldValidZipFile() throws IOException {
+				var zipFile = new ZipFile(buildZippedFile());
+
+				assertThat(zipFile.isValidZipFile()).isTrue();
+			}
+
+			@Test
+			void shouldBeEncrypted() throws IOException {
+				var zipFile = new ZipFile(buildZippedFile());
+
+				assertThat(zipFile.isEncrypted()).isFalse();
+			}
 
-			assertThat(zipFile.isEncrypted()).isTrue();
 		}
 
 		private File buildZippedFile() throws FileNotFoundException, IOException {
diff --git a/pluto-server/src/test/resources/files/LandesnetzInfo.html b/pluto-server/src/test/resources/files/LandesnetzInfo.html
new file mode 100644
index 0000000000000000000000000000000000000000..00e78db377215dc1860f6831aebeb5188f34e2e1
--- /dev/null
+++ b/pluto-server/src/test/resources/files/LandesnetzInfo.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html>
+<!-- saved from url=(0054)https://lninfo.landsh.de/emaildomain/LNmailkunden.html -->
+<html lang="de"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>Mailrouting-Tabelle für E-Mail in SH</title>
+    <style>
+        * {
+            box-sizing: border-box;
+            font-family: Arial, Verdana, sans-serif;
+        }
+
+	.clearfix::before,
+	.clearfix::after {
+	   content: " ";
+		   display: table;
+	}
+
+	.clearfix::after {
+	   clear:both;
+	}
+
+        #outer_wrapper {
+            width:85%;
+            max-width: 1200px;
+            margin: 0 auto;
+            
+        }
+
+        #einleitung {
+            font-size: 14px;
+            margin-bottom: 30px;
+        }
+
+	#header_logo {float:left;}
+	#header_logo img {
+		width:200px; padding:10px;
+	}
+	#header h1 {
+		font-size: 24px;
+	}
+	#header #ueberschrift {
+		padding:15px 0 0 220px;
+	}
+
+        #einleitung table {
+            margin: -15px 0 20px 15px;
+        }
+
+        #einleitung td.kuerzel {
+            font-weight: bold;
+            padding-right: 10px;
+
+        }
+
+
+        #InputSuche {
+            background-repeat: no-repeat;
+            width: 100%;
+            font-size: 16px;
+            padding: 12px 20px 12px 12px;
+            border: 1px solid #ddd;
+            margin-bottom: 12px;
+        }
+
+        #tbl_domains {
+            border-collapse: collapse;
+            width: 100%;
+            border: 1px solid #ddd;
+            font-size: 16px;
+        }
+
+        #tbl_domains th,
+        #tbl_domains td {
+            text-align: left;
+            padding: 6px;
+        }
+
+        #tbl_domains tr {
+            border-bottom: 1px solid #ddd;
+        }
+
+        #tbl_domains tr.header,
+        #tbl_domains tr:hover {
+            background-color: #f1f1f1;
+        }
+
+	#letzte_aktualisierung {
+	   margin:25px 0;
+ 	   font-size:14px;
+	}
+
+    </style>
+<script src="chrome-extension://mooikfkahbdckldjjndioackbalphokd/assets/prompt.js"></script></head>
+
+<body>
+
+    <div id="outer_wrapper">
+	<div id="header">
+		<div id="header_logo"><img src="./Mailrouting-Tabelle für E-Mail in SH_files/dataport_logo.png" alt="Dataport Logo"></div>
+		<div id="ueberschrift"><h1>Mailroutingtabelle für E-Mail SH Kunden (Fullmail)</h1></div>
+		<div class="clearfix"></div>
+	</div>
+        <div id="einleitung">
+            <p>
+                In der nachfolgenden Tabelle sind Domänen gelistet, welche bei Verwendung des Dataport Mailrelays für
+                das LNSH (E-Mail SH) über interne Wege geroutet werden.<br>
+                Zu jeder Zieldomain ist ersichtlich, über welche Infrastruktur die E-Mail geroutet wird. Bei Mehrfachnennung gilt die nachfolgende Reihenfolge:<br><br>
+            </p>
+            <table>
+                <tbody><tr>
+                    <td class="kuerzel">LNSH</td>
+                    <td>Die E-Mail wird über das Landesnetz Schleswig-Holstein zum Empfänger geroutet.</td>
+                </tr>
+                <tr>
+                    <td class="kuerzel">NdB</td>
+                    <td>Die E-Mail wird über die Netze des Bundes zum Empfänger geroutet.</td>
+                </tr>
+            </tbody></table>
+
+            <p>
+                E-Mails an Ziele, welche nicht in dieser Übersicht vorhanden sind, werden über das Internet
+                geroutet.</p>
+            <p>
+                <i><strong>Hinweis: </strong>Durch die Nennung einer Domäne in dieser Liste wird keine Aussage oder
+                    Empfehlung darüber
+                    gegeben,
+                    welche Art von E-Mail Inhalten übertragen werden dürfen<br>
+                    und ob diese vor dem Versand verschlüsselt werden sollten.
+                    Bitte beachten Sie die für Ihre Organisation gültigen Regelungen.
+                </i>
+            </p>
+        </div>
+
+        <input type="text" id="InputSuche" onkeyup="myFunction()" placeholder="Suche nach Domainnamen.." title="Geben Sie einen Domainnamen ein">
+
+        <table id="tbl_domains">
+            <tbody><tr class="header">
+                <th style="width:60%;">Domainame</th>
+                <th style="width:40%;">wird geroutet via</th>
+            </tr>
+	    <tr>   <td>.ltsh.de</td>   <td>LNSH Altumgebung</td></tr>
+	    <tr>   <td>ltsh.de</td>   <td>LNSH Altumgebung</td></tr>
+	    <tr>   <td>.itvsh.de</td>   <td>LNSH</td></tr>
+	    <tr>   <td>itvsh.de</td>   <td>LNSH</td></tr>
+        </tbody></table>
+	<div id="letzte_aktualisierung">Letzte Aktualisierung: 01.06.2021 14:42 Uhr - Alle Angaben ohne Gewähr.</div>
+
+        <script>
+            function myFunction() {
+                var input, filter, table, tr, td, i, txtValue;
+                input = document.getElementById("InputSuche");
+                filter = input.value.toUpperCase();
+                table = document.getElementById("tbl_domains");
+                tr = table.getElementsByTagName("tr");
+                for (i = 0; i < tr.length; i++) {
+                    td = tr[i].getElementsByTagName("td")[0];
+                    if (td) {
+                        txtValue = td.textContent || td.innerText;
+                        if (txtValue.toUpperCase().indexOf(filter) > -1) {
+                            tr[i].style.display = "";
+                        } else {
+                            tr[i].style.display = "none";
+                        }
+                    }
+                }
+            }
+        </script>
+
+    </div>
+
+
+
+</body></html>