diff --git a/info-manager-server/src/main/java/de/ozgcloud/info/information/InfoManagerProperties.java b/info-manager-server/src/main/java/de/ozgcloud/info/information/InfoManagerProperties.java
index 1cd0f36ff7c553b0a52ea3f3020cedb2b5617a9a..18c39e699d56e7db2d7d8fbe9b7f1fc8c1eb4210 100644
--- a/info-manager-server/src/main/java/de/ozgcloud/info/information/InfoManagerProperties.java
+++ b/info-manager-server/src/main/java/de/ozgcloud/info/information/InfoManagerProperties.java
@@ -21,14 +21,19 @@
 package de.ozgcloud.info.information;
 
 import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
 import org.springframework.context.annotation.Configuration;
 
 import lombok.Getter;
+import lombok.Setter;
 
 @Getter
+@Setter
 @Configuration
 @ConfigurationProperties(prefix = InfoManagerProperties.PREFIX)
+@ConfigurationPropertiesScan
 public class InfoManagerProperties {
 	static final String PREFIX = "ozgcloud.infomanager";
-	private final String postfachIdKeyName = "postkorbhandle";
+	public static final String POSTKORBHANDLE = "postkorbhandle";
+	private String postfachIdKeyName = POSTKORBHANDLE;
 }
diff --git a/info-manager-server/src/main/java/de/ozgcloud/info/nachricht/NachrichtGrpcService.java b/info-manager-server/src/main/java/de/ozgcloud/info/nachricht/NachrichtGrpcService.java
index 4bae8077690e8f41248ec23576e321846cdeb574..dea916356a1f30a8238f84fcadb1ff69760b294d 100644
--- a/info-manager-server/src/main/java/de/ozgcloud/info/nachricht/NachrichtGrpcService.java
+++ b/info-manager-server/src/main/java/de/ozgcloud/info/nachricht/NachrichtGrpcService.java
@@ -57,18 +57,16 @@ public class NachrichtGrpcService extends NachrichtServiceGrpc.NachrichtServiceI
 	private void saveNachricht(GrpcNewNachrichtRequest request) {
 		var nachricht = nachrichtenMapper.fromGrpcNachricht(request.getNachricht());
 
-		if (isValid(nachricht)) {
-			nachrichtService.save(nachricht);
-		}
+		checkForValidity(nachricht);
+		
+		nachrichtService.save(nachricht);
 	}
 
-	private boolean isValid(NachrichtEvent nachrichtEvent) {
+	private void checkForValidity(NachrichtEvent nachrichtEvent) {
 		Set<ConstraintViolation<NachrichtEvent>> violations = validator.validate(nachrichtEvent);
 		if (!violations.isEmpty()) {
 			throw new ConstraintViolationException(violations);
 		}
-
-		return true;
 	}
 
 	@Override
diff --git a/info-manager-server/src/main/java/de/ozgcloud/info/nachricht/NachrichtMapper.java b/info-manager-server/src/main/java/de/ozgcloud/info/nachricht/NachrichtMapper.java
index 9c818ed736440b54d1abf8ea015c18b761c87497..d4797e5cf3039dbb8917f7d619af740d163bfec6 100644
--- a/info-manager-server/src/main/java/de/ozgcloud/info/nachricht/NachrichtMapper.java
+++ b/info-manager-server/src/main/java/de/ozgcloud/info/nachricht/NachrichtMapper.java
@@ -32,8 +32,9 @@ import lombok.RequiredArgsConstructor;
 @RequiredArgsConstructor
 class NachrichtMapper {
 	static final String LOCAL_PROFILE = "local";
-	private static final String NACHRICHTEN_LIST_URL_REGEX = "^[A-Za-z\\d-]+(\\.[A-Za-z\\d-]+){0,512}:\\d{1,5}$";
-	static final String NACHRICHTEN_LIST_URL_FORMAT = "dns:///%s";
+	private static final String NACHRICHTEN_LIST_URL_REGEX = "^(dns:///)?[A-Za-z\\d-]+(\\.[A-Za-z\\d-]+){0,512}:\\d{1,5}$";
+	static final String DNS_PREFIX = "dns:///";
+	static final String NACHRICHTEN_LIST_URL_FORMAT = DNS_PREFIX + "%s";
 
 	private final Environment environment;
 
@@ -54,6 +55,6 @@ class NachrichtMapper {
 			throw new InvalidNachrichtenListUrlException(nachrichtenListUrl);
 		}
 
-		return String.format(NACHRICHTEN_LIST_URL_FORMAT, nachrichtenListUrl);
+		return nachrichtenListUrl.startsWith(DNS_PREFIX) ? nachrichtenListUrl : NACHRICHTEN_LIST_URL_FORMAT.formatted(nachrichtenListUrl);
 	}
 }
diff --git a/info-manager-server/src/test/java/de/ozgcloud/info/InfoManagerApplicationTest.java b/info-manager-server/src/test/java/de/ozgcloud/info/InfoManagerApplicationTest.java
index bece6d4ca6823e7e9fc882c82e6451ee81e13f00..5ccbd9a68e1b9dcece9f6c9e55e74d08f9d8b1e3 100644
--- a/info-manager-server/src/test/java/de/ozgcloud/info/InfoManagerApplicationTest.java
+++ b/info-manager-server/src/test/java/de/ozgcloud/info/InfoManagerApplicationTest.java
@@ -22,6 +22,7 @@
  */
 package de.ozgcloud.info;
 
+import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Spy;
 
@@ -29,4 +30,9 @@ class InfoManagerApplicationTest {
 	@Spy
 	@InjectMocks
 	private InfoManagerApplication application;
+
+	@Test
+	void shouldLoadContext() { //NOSONAR
+		// empty
+	}
 }
\ No newline at end of file
diff --git a/info-manager-server/src/test/java/de/ozgcloud/info/NachrichtEventTestFactory.java b/info-manager-server/src/test/java/de/ozgcloud/info/NachrichtEventTestFactory.java
index e263d684a09aa7448b811b99e27b239214052c86..2e8e4632e2ca7298c6c8773f27732ae92fdedd47 100644
--- a/info-manager-server/src/test/java/de/ozgcloud/info/NachrichtEventTestFactory.java
+++ b/info-manager-server/src/test/java/de/ozgcloud/info/NachrichtEventTestFactory.java
@@ -34,6 +34,7 @@ public class NachrichtEventTestFactory {
 	public static final String POSTKORB_HANDLE = UserTestFactory.POSTKORB_HANDLE;
 	public static final String EMPTY_POSTFACH_HANDLE = "73228744-a28a-4485-845b-d8cc02422760";
 	public static final String URL = "localhost:6789";
+	public static final String URL_WITH_DNS = "dns:///" + URL;
 
 	public static NachrichtEvent createNachrichtEvent() {
 		return createNachrichtEventBuilder().build();
@@ -47,7 +48,11 @@ public class NachrichtEventTestFactory {
 	}
 
 	public static GrpcNewNachrichtRequest createNewNachrichtRequest() {
-		return GrpcNewNachrichtRequest.newBuilder().setNachricht(createGrpcNachricht()).build();
+		return createNewNachrichtRequestBuilder().setNachricht(createGrpcNachricht()).build();
+	}
+
+	public static GrpcNewNachrichtRequest.Builder createNewNachrichtRequestBuilder() {
+		return GrpcNewNachrichtRequest.newBuilder().setNachricht(createGrpcNachricht());
 	}
 
 	public static GrpcFinishedNachrichtRequest createFinishNachrichtRequest() {
diff --git a/info-manager-server/src/test/java/de/ozgcloud/info/information/InfoManagerPropertiesITCase.java b/info-manager-server/src/test/java/de/ozgcloud/info/information/InfoManagerPropertiesITCase.java
new file mode 100644
index 0000000000000000000000000000000000000000..04e51e55fecae5e6e266b3aabc2364b69d7580ac
--- /dev/null
+++ b/info-manager-server/src/test/java/de/ozgcloud/info/information/InfoManagerPropertiesITCase.java
@@ -0,0 +1,54 @@
+package de.ozgcloud.info.information;
+
+import static de.ozgcloud.info.information.InfoManagerProperties.*;
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.TestPropertySource;
+
+import de.ozgcloud.common.test.ITCase;
+
+@SpringBootTest(classes = { InfoManagerProperties.class })
+@ITCase
+class InfoManagerPropertiesITCase {
+	@TestPropertySource(properties = {
+	  InfoManagerProperties.PREFIX + ".postfachIdKeyName" + "=" + TestLoadingConfiguration.OTHER_POSTFACH_KEY,
+	})
+	@Nested
+	class TestLoadingConfiguration {
+		static final String OTHER_POSTFACH_KEY = "otherPostfachKey";
+
+		@Autowired
+		private InfoManagerProperties infoManagerProperties;
+
+		@Test
+		void shouldHaveProperties() {
+			assertThat(infoManagerProperties).isNotNull();
+		}
+
+		@Test
+		void testPostfachHandleKey() {
+			assertThat(infoManagerProperties.getPostfachIdKeyName()).isEqualTo(OTHER_POSTFACH_KEY);
+		}
+	}
+
+	@Nested
+	class TestLoadingDefaultConfiguration {
+
+		@Autowired
+		private InfoManagerProperties infoManagerProperties;
+
+		@Test
+		void shouldHaveProperties() {
+			assertThat(infoManagerProperties).isNotNull();
+		}
+
+		@Test
+		void testPostfachHandleKey() {
+			assertThat(infoManagerProperties.getPostfachIdKeyName()).isEqualTo(POSTKORBHANDLE);
+		}
+	}
+}
\ No newline at end of file
diff --git a/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenGrpcServiceTest.java b/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenGrpcServiceTest.java
index 223e74bba19796799218cdf4ea40c69a1c5a3a17..5c31a181c4312cabd72a6ea6984df1908fa7b790 100644
--- a/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenGrpcServiceTest.java
+++ b/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenGrpcServiceTest.java
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.*;
 
 import java.util.Set;
 
+import jakarta.validation.ConstraintViolation;
 import jakarta.validation.ConstraintViolationException;
 import jakarta.validation.Validator;
 
@@ -129,6 +130,33 @@ class NachrichtenGrpcServiceTest {
 		}
 	}
 
+	@Nested
+	class TestSaveInvalidNewNachrichtEvent {
+		@Mock
+		private StreamObserver<GrpcNewNachrichtReply> newNachrichtStreamObserver;
+		private final GrpcNachricht invalidNachricht = NachrichtEventTestFactory.createGrpcNachrichtBuilder().setNachrichtenListUrl("invalid")
+		  .build();
+		private final GrpcNewNachrichtRequest invalidNachrichtRequest = NachrichtEventTestFactory.createNewNachrichtRequestBuilder()
+		  .setNachricht(invalidNachricht).build();
+
+		@BeforeEach
+		@SuppressWarnings("unchecked")
+		void init() {
+			when(nachrichtenMapper.fromGrpcNachricht(any())).thenReturn(
+			  NachrichtEventTestFactory.createNachrichtEventBuilder().id(null).nachrichtenListUrl("invalid").build());
+			var constraintViolation = mock(ConstraintViolation.class);
+
+			when(validator.validate(any(NachrichtEvent.class))).thenReturn(Set.of(constraintViolation));
+		}
+
+		@Test
+		void shouldNotCreateNachrichtBecauseInvalidNachrichtenListUrl() {
+			nachrichtenGrpcService.saveNewNachricht(invalidNachrichtRequest, newNachrichtStreamObserver);
+
+			verify(nachrichtenService, never()).save(any());
+		}
+	}
+
 	@Nested
 	class TestFinishNachrichtEvent {
 		@Mock
diff --git a/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenMapperTest.java b/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenMapperTest.java
index 958b0233da5868c6224ee81741fa915e463fa388..0d9be84c0c221ff1304ca00a0150598379a74c61 100644
--- a/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenMapperTest.java
+++ b/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenMapperTest.java
@@ -25,6 +25,7 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -93,32 +94,39 @@ class NachrichtenMapperTest {
 			assertThat(result).isEqualTo(NachrichtEventTestFactory.URL);
 		}
 
-		@Test
-		void shouldHaveValidFormat() {
-			var grpcNachricht = NachrichtEventTestFactory.createGrpcNachricht();
-			var expectedNachrichtenListUrl = String.format(NACHRICHTEN_LIST_URL_FORMAT, NachrichtEventTestFactory.URL);
-			var result = nachrichtenMapper.getNachrichtenListUrl(grpcNachricht);
-
-			assertThat(result).isEqualTo(expectedNachrichtenListUrl);
-		}
-
-		@Test
-		void shouldHaveValidSubdomainFormat() {
-			var url = "test.example.com:20";
+		@DisplayName("should have valid format when")
+		@ParameterizedTest(name = "url: {0}")
+		@ValueSource(strings = { NachrichtEventTestFactory.URL, NachrichtEventTestFactory.URL_WITH_DNS, "test.example.com:20" })
+		void shouldHaveValidFormat(String url) {
 			var grpcNachricht = NachrichtEventTestFactory.createGrpcNachrichtBuilder().setNachrichtenListUrl(url).build();
-			var expectedNachrichtenListUrl = String.format(NACHRICHTEN_LIST_URL_FORMAT, url);
-			var result = nachrichtenMapper.getNachrichtenListUrl(grpcNachricht);
 
-			assertThat(result).isEqualTo(expectedNachrichtenListUrl);
+			assertThatNoException().isThrownBy(() -> nachrichtenMapper.getNachrichtenListUrl(grpcNachricht));
 		}
 
 		@ParameterizedTest
-		@ValueSource(strings = { "invalidUrl", "%test%:2345", "localhost:234567" })
+		@ValueSource(strings = { "invalidUrl", "%test%:2345", "localhost:234567", "dns://host:9090" })
 		void shouldHaveInvalidFormat(String url) {
 			var grpcNachricht = NachrichtEventTestFactory.createGrpcNachrichtBuilder().setNachrichtenListUrl(url).build();
 
 			assertThatExceptionOfType(InvalidNachrichtenListUrlException.class).isThrownBy(
 			  () -> nachrichtenMapper.getNachrichtenListUrl(grpcNachricht));
 		}
+
+		@Test
+		void shouldAddDnsPrefix() {
+			var result = nachrichtenMapper.getNachrichtenListUrl(NachrichtEventTestFactory.createGrpcNachricht());
+
+			assertThat(result).isEqualTo(NachrichtEventTestFactory.URL_WITH_DNS);
+		}
+
+		@Test
+		void shouldNotAddDnsPrefix() {
+			var grpcNachricht = NachrichtEventTestFactory.createGrpcNachrichtBuilder().setNachrichtenListUrl(NachrichtEventTestFactory.URL_WITH_DNS)
+			  .build();
+
+			var result = nachrichtenMapper.getNachrichtenListUrl(grpcNachricht);
+
+			assertThat(result).isEqualTo(NachrichtEventTestFactory.URL_WITH_DNS);
+		}
 	}
 }
\ No newline at end of file
diff --git a/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenServiceTest.java b/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenServiceTest.java
index 38d8a14bf966ac47d9b055a74008a84c99d54eec..d93e6e6b1ad52c59277b98ca69742b7893d7bef5 100644
--- a/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenServiceTest.java
+++ b/info-manager-server/src/test/java/de/ozgcloud/info/nachricht/NachrichtenServiceTest.java
@@ -94,6 +94,10 @@ class NachrichtenServiceTest {
 	class TestFinishNachrichtEvent {
 		@Test
 		void shouldCallDelete() {
+			when(
+			  repository.findByPostfachIdAndNachrichtenListUrl(NachrichtEventTestFactory.POSTKORB_HANDLE, NachrichtEventTestFactory.URL)).thenReturn(
+			  Optional.of(NachrichtEventTestFactory.createNachrichtEvent()));
+			
 			service.finish(NachrichtEventTestFactory.createNachrichtEvent());
 
 			verify(repository, atMostOnce()).findByPostfachIdAndNachrichtenListUrl(NachrichtEventTestFactory.POSTKORB_HANDLE,