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 2c3da928213a93fe77b9d5ea8e8bfb204b255cc2..ca2988c4229c0565acaaa6024e0ccde4100863b3 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
@@ -23,6 +23,8 @@
  */
 package de.ozgcloud.operator.keycloak.realm;
 
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Set;
 
 import org.keycloak.representations.idm.RealmRepresentation;
@@ -42,10 +44,30 @@ interface KeycloakRealmMapper {
 	@Mapping(target = "internationalizationEnabled", constant = "true")
 	@Mapping(target = "passwordPolicy", constant = "upperCase(1) and lowerCase(1) and length(8) and notUsername")
 	@Mapping(target = "actionTokenGeneratedByUserLifespan", constant = "900")
+	@Mapping(target = "smtpServer", source = "smtpServer", qualifiedByName = "smtpServer")
 	public RealmRepresentation map(OzgCloudKeycloakRealmSpec realm);
 
 	@Named("supportedLocales")
 	default Set<String> mapPassword(OzgCloudKeycloakRealmSpec spec) {
 		return Set.of("de");
 	}
+
+	@Named("smtpServer")
+	default Map<String, String> mapSmtpServer(OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer server) {
+
+		Map<String, String> smtpServer = new HashMap<>();
+		if (server != null) {
+			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());
+		}
+		return smtpServer;
+
+	}
+
 }
diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java
index 0a23abfd2ed15f8744855b5e8d0bc406913b2fd5..4703f154ee68169988fceac1324a9374bfc5c539 100644
--- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java
+++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmSpec.java
@@ -44,4 +44,29 @@ class OzgCloudKeycloakRealmSpec {
 	private boolean keepAfterDelete;
 
 	private String displayName;
+
+	private KeycloakRealmSMTPServer smtpServer;
+
+	@Getter
+	@Setter
+	@Builder
+	@NoArgsConstructor
+	@AllArgsConstructor
+	static class KeycloakRealmSMTPServer {
+
+		private String user;
+		private String password;
+
+		private String host;
+		private String port;
+
+		private String starttls;
+
+		private String auth;
+
+		private String from;
+
+		private String fromDisplayName;
+	}
+
 }
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 ddb2e9ab9fb47e512906eb0d9ffd96ae5e9cde75..074f65dbb685587821e7363a11bcb752e9a4a00b 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
@@ -89,4 +89,33 @@ class KeycloakRealmMapperTest {
 
 		assertThat(mapped.getActionTokenGeneratedByUserLifespan()).isEqualTo(900);
 	}
+
+	@Test
+	void shouldMapSmtpServer() {
+		var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create());
+
+		assertThat(mapped.getSmtpServer().size()).isEqualTo(8);
+	}
+
+	@Test
+	void shouldContainSmtpServerKeysValues() {
+		var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.create());
+
+		assertThat(mapped.getSmtpServer())
+				.containsEntry("user", KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_USER)
+				.containsEntry("password", KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_PASSWORD)
+				.containsEntry("host", KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_HOST)
+				.containsEntry("port", KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_PORT)
+				.containsEntry("starttls", KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_STARTTLS)
+				.containsEntry("auth", KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_AUTH)
+				.containsEntry("from", KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM)
+				.containsEntry("fromDisplayName", KeycloakRealmSmtpServerTestFactory.SMTP_SERVER_FROM_DISPLAY_NAME);
+	}
+
+	@Test
+	void shouldMapWhenSmtpServerIsNull() {
+		var mapped = mapper.map(OzgCloudKeycloakRealmSpecTestFactory.createBuilder().smtpServer(null).build());
+
+		assertThat(mapped.getSmtpServer()).isEmpty();
+	}
 }
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
new file mode 100644
index 0000000000000000000000000000000000000000..66c03cbb20964ae3053b2745d36ac370fcdfc235
--- /dev/null
+++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmSmtpServerTestFactory.java
@@ -0,0 +1,31 @@
+package de.ozgcloud.operator.keycloak.realm;
+
+import de.ozgcloud.operator.keycloak.realm.OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer;
+
+public class KeycloakRealmSmtpServerTestFactory {
+
+	public final static String SMTP_SERVER_PORT = "432";
+	public final static String SMTP_SERVER_HOST = "host";
+	public final static String SMTP_SERVER_FROM = "test@test.de";
+	public final static String SMTP_SERVER_FROM_DISPLAY_NAME = "displayed name";
+	public final static String SMTP_SERVER_USER = "user";
+	public final static String SMTP_SERVER_PASSWORD = "psw";
+	public final static String SMTP_SERVER_AUTH = "true";
+	public final static String SMTP_SERVER_STARTTLS = "true";
+
+	public static OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer create() {
+		return createBuilder().build();
+	}
+
+	public static OzgCloudKeycloakRealmSpec.KeycloakRealmSMTPServer.KeycloakRealmSMTPServerBuilder createBuilder() {
+		return 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);
+	}
+}
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 fe23573b6987541b5246e82bf9a6c8ceb9267fe4..2b03fdab23db589c84807b0a07cd2c971b5cd369 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
@@ -35,6 +35,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());
 	}
 }