diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java
index f256c5974ef6db14bd3a529d1ca257dfabd450c9..8021fb1da25c86c83769130b233f61926d8f4f4c 100644
--- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java
+++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapper.java
@@ -55,14 +55,22 @@ interface KeycloakRealmMapper {
 	@Named("smtpServer")
 	 default Map<String, String> mapSmtpServer(OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer server) {
 		Map<String, String> smtpServer = new HashMap<>();
-		smtpServer.put("host", server.getHost());
-		smtpServer.put("port", server.getPort());
-		smtpServer.put("user", server.getUser());
-		smtpServer.put("password", server.getPassword());
-		smtpServer.put("starttls", server.getStarttls()); 
-		smtpServer.put("auth", server.getAuth()); 
-		smtpServer.put("from", server.getFrom()); 
-		smtpServer.put("fromDisplayName", server.getFromDisplayName()); 
+		if( server.getHost() != null )
+			smtpServer.put("host", server.getHost());
+		if( server.getPort() != null )
+			smtpServer.put("port", server.getPort());
+		if( server.getUser() != null )
+			smtpServer.put("user", server.getUser());
+		if( server.getPassword() != null )
+			smtpServer.put("password", server.getPassword());
+		if( server.getStarttls() != null )
+			smtpServer.put("starttls", server.getStarttls()); 
+		if( server.getAuth() != null )
+			smtpServer.put("auth", server.getAuth()); 
+		if( server.getFrom() != null )
+			smtpServer.put("from", server.getFrom()); 
+		if( server.getFromDisplayName() != null ) 
+			smtpServer.put("fromDisplayName", server.getFromDisplayName()); 
 		return smtpServer;
 	}
 
diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapperTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapperTest.java
index bc63886d0cf9b6ebb39900ab1d346cc04e1341b3..7cee004886117c6a8e98eaaae0c2d2d24be6d260 100644
--- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapperTest.java
+++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmMapperTest.java
@@ -100,14 +100,14 @@ class KeycloakRealmMapperTest {
 
 	@Test
 	void shouldContainSmtpServerKeysValues() {
-		var mapped = mapper.map(KeycloakRealmSmtpServerTestFactory.create());
+		var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create());
 		var mappedSmtpServer = mapped.getSmtpServer();
 		assertThat(mappedSmtpServer.get("host")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_HOST);
 		assertThat(mappedSmtpServer.get("port")).isEqualTo("432");
 		assertThat(mappedSmtpServer.get("password")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_PASSWORD);
 		assertThat(mappedSmtpServer.get("user")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_USER);
-		assertThat(mappedSmtpServer.get("starttls")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_STARTTLS.toString());
-		assertThat(mappedSmtpServer.get("auth")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_AUTH.toString());
+		assertThat(mappedSmtpServer.get("starttls")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_STARTTLS);
+		assertThat(mappedSmtpServer.get("auth")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_AUTH);
 		assertThat(mappedSmtpServer.get("from")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM);
 		assertThat(mappedSmtpServer.get("fromDisplayName")).isEqualTo(KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM_DISPLAY_NAME);
 		
diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java
index bdcffd897a0df6b6e0f81b27a332d28922ae2d44..146211a6b34bb0bffe9105889b7d95d5a98a8585 100644
--- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java
+++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java
@@ -71,6 +71,12 @@ class KeycloakRealmReconcilerTest {
 
 			assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK);
 		}
+
+		@Test
+		void shouldCreateRealmWithSpecWithoutSMTPConfig() {
+			var response = reconciler.reconcile(OzgCloudKeycloakRealmTestFactory.create(), null);
+			assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK);
+		}
 	}
 
 	@DisplayName("Cleanup")
diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java
index 737c2a8f07cd0c76d8b2593bdfd757ca5bf22c5f..eecf3c8aad60ab83437ebe4c0fb0c6f7ff14ad44 100644
--- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java
+++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java
@@ -16,13 +16,8 @@ public class KeycloakRealmSmtpServerTestFactory {
     public final static KeycloakRealmSMTPServer SMTP_SERVER = KeycloakRealmSMTPServer.builder().host(SMTP_SERVER_HOST).user(SMTP_SERVER_USER).
 	password(SMTP_SERVER_PASSWORD).port(SMTP_SERVER_PORT).starttls(SMTP_SERVER_STARTTLS).auth(SMTP_SERVER_AUTH).from(SMTP_SERVER_FROM).fromDisplayName(SMTP_SERVER_FROM_DISPLAY_NAME).build();
     
-    public static OzgCloudKeycloakRealmSpec create() {
-		return createBuilder().build();
-	}
-
-	public static OzgCloudKeycloakRealmSpec.OzgCloudKeycloakRealmSpecBuilder createBuilder() {
-		return OzgCloudKeycloakRealmSpec.builder()
-				.smtpServer(SMTP_SERVER);
+    public static OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer create() {
+		return SMTP_SERVER;
 	}
     
 }
diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpecTestFactory.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpecTestFactory.java
index 78cd362278adbda6df82081d96c9cfd8c5607c9d..86fbe5456fa61d53e1de4215a7668875c110d286 100644
--- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpecTestFactory.java
+++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpecTestFactory.java
@@ -23,6 +23,7 @@
  */
 package de.ozgcloud.operator.keycloak.realm;
 
+
 public class OzgCloudKeycloakRealmSpecTestFactory {
 
 	public final static String DISPLAY_NAME = "TestDisplayName";
@@ -35,6 +36,7 @@ public class OzgCloudKeycloakRealmSpecTestFactory {
 	public static OzgCloudKeycloakRealmSpec.OzgCloudKeycloakRealmSpecBuilder createBuilder() {
 		return OzgCloudKeycloakRealmSpec.builder()
 				.keepAfterDelete(KEEP_AFTER_DELETE)
-				.displayName(DISPLAY_NAME);
+				.displayName(DISPLAY_NAME)
+				.smtpServer(KeycloakRealmSmtpServerTestFactory.create());
 	}
 }