You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2021/02/18 17:40:36 UTC

[camel] 01/02: CAMEL-16115 - Remove Camel-AWS-* components - AWS-SES

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ea9c64e8bb94264043a85fe96b7b1e09e841628f
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 18 18:22:46 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-SES
---
 bom/camel-bom/pom.xml                              |   5 -
 components/camel-aws-ses/pom.xml                   |  77 ----
 .../component/aws/ses/SesComponentConfigurer.java  | 138 -------
 .../component/aws/ses/SesEndpointConfigurer.java   | 122 ------
 .../component/aws/ses/SesEndpointUriFactory.java   |  77 ----
 .../services/org/apache/camel/component.properties |   7 -
 .../services/org/apache/camel/component/aws-ses    |   2 -
 .../org/apache/camel/configurer/aws-ses-component  |   2 -
 .../org/apache/camel/configurer/aws-ses-endpoint   |   2 -
 .../org/apache/camel/urifactory/aws-ses-endpoint   |   2 -
 .../apache/camel/component/aws/ses/aws-ses.json    |  58 ---
 .../src/main/docs/aws-ses-component.adoc           | 212 ----------
 .../camel/component/aws/ses/SesComponent.java      |  83 ----
 .../aws/ses/SesComponentVerifierExtension.java     |  91 -----
 .../camel/component/aws/ses/SesConfiguration.java  | 229 -----------
 .../camel/component/aws/ses/SesConstants.java      |  31 --
 .../camel/component/aws/ses/SesEndpoint.java       | 124 ------
 .../camel/component/aws/ses/SesProducer.java       | 190 ---------
 .../component/aws/ses/AmazonSESClientMock.java     |  60 ---
 .../camel/component/aws/ses/MockMessage.java       | 226 -----------
 .../aws/ses/SESComponentClientRegistryTest.java    |  70 ----
 .../aws/ses/SesComponentConfigurationTest.java     | 205 ----------
 .../component/aws/ses/SesComponentSpringTest.java  | 143 -------
 .../camel/component/aws/ses/SesComponentTest.java  | 137 -------
 .../aws/ses/SesComponentVerifierExtensionTest.java |  74 ----
 .../integration/SesComponentIntegrationTest.java   |  58 ---
 .../src/test/resources/log4j2.properties           |  28 --
 .../aws/ses/SESComponentSpringTest-context.xml     |  34 --
 components/pom.xml                                 |   1 -
 core/camel-allcomponents/pom.xml                   |   4 -
 .../component/ComponentsBuilderFactory.java        |  16 +-
 .../dsl/AwsSesComponentBuilderFactory.java         | 342 ----------------
 .../builder/endpoint/StaticEndpointBuilders.java   |  47 +--
 .../endpoint/dsl/SesEndpointBuilderFactory.java    | 428 ---------------------
 parent/pom.xml                                     |   5 -
 35 files changed, 2 insertions(+), 3328 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 1bbecd1..f7a13b9 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -198,11 +198,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-aws-ses</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-aws-swf</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/components/camel-aws-ses/pom.xml b/components/camel-aws-ses/pom.xml
deleted file mode 100644
index 29e788e..0000000
--- a/components/camel-aws-ses/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
-        <version>3.9.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-aws-ses</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Camel :: AWS SES (deprecated)</name>
-    <description>A Camel Amazon SES Web Service Component</description>
-
-    <properties>
-        <deprecatedSince>3.8.0</deprecatedSince>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.amazonaws</groupId>
-            <artifactId>aws-java-sdk-ses</artifactId>
-            <version>${aws-java-sdk-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>jakarta.mail</artifactId>
-            <version>${jakarta-mail-version}</version>
-        </dependency>
-
-        <!-- for testing -->
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-spring-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-catalog</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesComponentConfigurer.java b/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesComponentConfigurer.java
deleted file mode 100644
index 3ebdef5..0000000
--- a/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesComponentConfigurer.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.ses;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class SesComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    private org.apache.camel.component.aws.ses.SesConfiguration getOrCreateConfiguration(SesComponent target) {
-        if (target.getConfiguration() == null) {
-            target.setConfiguration(new org.apache.camel.component.aws.ses.SesConfiguration());
-        }
-        return target.getConfiguration();
-    }
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        SesComponent target = (SesComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": getOrCreateConfiguration(target).setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "amazonsesclient":
-        case "amazonSESClient": getOrCreateConfiguration(target).setAmazonSESClient(property(camelContext, com.amazonaws.services.simpleemail.AmazonSimpleEmailService.class, value)); return true;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": getOrCreateConfiguration(target).setAutoDiscoverClient(property(camelContext, boolean.class, value)); return true;
-        case "autowiredenabled":
-        case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
-        case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.aws.ses.SesConfiguration.class, value)); return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
-        case "proxyhost":
-        case "proxyHost": getOrCreateConfiguration(target).setProxyHost(property(camelContext, java.lang.String.class, value)); return true;
-        case "proxyport":
-        case "proxyPort": getOrCreateConfiguration(target).setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "proxyprotocol":
-        case "proxyProtocol": getOrCreateConfiguration(target).setProxyProtocol(property(camelContext, com.amazonaws.Protocol.class, value)); return true;
-        case "region": getOrCreateConfiguration(target).setRegion(property(camelContext, java.lang.String.class, value)); return true;
-        case "replytoaddresses":
-        case "replyToAddresses": getOrCreateConfiguration(target).setReplyToAddresses(property(camelContext, java.util.List.class, value)); return true;
-        case "returnpath":
-        case "returnPath": getOrCreateConfiguration(target).setReturnPath(property(camelContext, java.lang.String.class, value)); return true;
-        case "secretkey":
-        case "secretKey": getOrCreateConfiguration(target).setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "subject": getOrCreateConfiguration(target).setSubject(property(camelContext, java.lang.String.class, value)); return true;
-        case "to": getOrCreateConfiguration(target).setTo(property(camelContext, java.util.List.class, value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return java.lang.String.class;
-        case "amazonsesclient":
-        case "amazonSESClient": return com.amazonaws.services.simpleemail.AmazonSimpleEmailService.class;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return boolean.class;
-        case "autowiredenabled":
-        case "autowiredEnabled": return boolean.class;
-        case "configuration": return org.apache.camel.component.aws.ses.SesConfiguration.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "proxyhost":
-        case "proxyHost": return java.lang.String.class;
-        case "proxyport":
-        case "proxyPort": return java.lang.Integer.class;
-        case "proxyprotocol":
-        case "proxyProtocol": return com.amazonaws.Protocol.class;
-        case "region": return java.lang.String.class;
-        case "replytoaddresses":
-        case "replyToAddresses": return java.util.List.class;
-        case "returnpath":
-        case "returnPath": return java.lang.String.class;
-        case "secretkey":
-        case "secretKey": return java.lang.String.class;
-        case "subject": return java.lang.String.class;
-        case "to": return java.util.List.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        SesComponent target = (SesComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return getOrCreateConfiguration(target).getAccessKey();
-        case "amazonsesclient":
-        case "amazonSESClient": return getOrCreateConfiguration(target).getAmazonSESClient();
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return getOrCreateConfiguration(target).isAutoDiscoverClient();
-        case "autowiredenabled":
-        case "autowiredEnabled": return target.isAutowiredEnabled();
-        case "configuration": return target.getConfiguration();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "proxyhost":
-        case "proxyHost": return getOrCreateConfiguration(target).getProxyHost();
-        case "proxyport":
-        case "proxyPort": return getOrCreateConfiguration(target).getProxyPort();
-        case "proxyprotocol":
-        case "proxyProtocol": return getOrCreateConfiguration(target).getProxyProtocol();
-        case "region": return getOrCreateConfiguration(target).getRegion();
-        case "replytoaddresses":
-        case "replyToAddresses": return getOrCreateConfiguration(target).getReplyToAddresses();
-        case "returnpath":
-        case "returnPath": return getOrCreateConfiguration(target).getReturnPath();
-        case "secretkey":
-        case "secretKey": return getOrCreateConfiguration(target).getSecretKey();
-        case "subject": return getOrCreateConfiguration(target).getSubject();
-        case "to": return getOrCreateConfiguration(target).getTo();
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "replytoaddresses":
-        case "replyToAddresses": return java.lang.String.class;
-        case "to": return java.lang.String.class;
-        default: return null;
-        }
-    }
-}
-
diff --git a/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesEndpointConfigurer.java b/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesEndpointConfigurer.java
deleted file mode 100644
index acbf9a7..0000000
--- a/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesEndpointConfigurer.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.ses;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class SesEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        SesEndpoint target = (SesEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": target.getConfiguration().setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "amazonsesclient":
-        case "amazonSESClient": target.getConfiguration().setAmazonSESClient(property(camelContext, com.amazonaws.services.simpleemail.AmazonSimpleEmailService.class, value)); return true;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": target.getConfiguration().setAutoDiscoverClient(property(camelContext, boolean.class, value)); return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
-        case "proxyhost":
-        case "proxyHost": target.getConfiguration().setProxyHost(property(camelContext, java.lang.String.class, value)); return true;
-        case "proxyport":
-        case "proxyPort": target.getConfiguration().setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "proxyprotocol":
-        case "proxyProtocol": target.getConfiguration().setProxyProtocol(property(camelContext, com.amazonaws.Protocol.class, value)); return true;
-        case "region": target.getConfiguration().setRegion(property(camelContext, java.lang.String.class, value)); return true;
-        case "replytoaddresses":
-        case "replyToAddresses": target.getConfiguration().setReplyToAddresses(property(camelContext, java.util.List.class, value)); return true;
-        case "returnpath":
-        case "returnPath": target.getConfiguration().setReturnPath(property(camelContext, java.lang.String.class, value)); return true;
-        case "secretkey":
-        case "secretKey": target.getConfiguration().setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "subject": target.getConfiguration().setSubject(property(camelContext, java.lang.String.class, value)); return true;
-        case "to": target.getConfiguration().setTo(property(camelContext, java.util.List.class, value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return java.lang.String.class;
-        case "amazonsesclient":
-        case "amazonSESClient": return com.amazonaws.services.simpleemail.AmazonSimpleEmailService.class;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return boolean.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "proxyhost":
-        case "proxyHost": return java.lang.String.class;
-        case "proxyport":
-        case "proxyPort": return java.lang.Integer.class;
-        case "proxyprotocol":
-        case "proxyProtocol": return com.amazonaws.Protocol.class;
-        case "region": return java.lang.String.class;
-        case "replytoaddresses":
-        case "replyToAddresses": return java.util.List.class;
-        case "returnpath":
-        case "returnPath": return java.lang.String.class;
-        case "secretkey":
-        case "secretKey": return java.lang.String.class;
-        case "subject": return java.lang.String.class;
-        case "to": return java.util.List.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        SesEndpoint target = (SesEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return target.getConfiguration().getAccessKey();
-        case "amazonsesclient":
-        case "amazonSESClient": return target.getConfiguration().getAmazonSESClient();
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return target.getConfiguration().isAutoDiscoverClient();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "proxyhost":
-        case "proxyHost": return target.getConfiguration().getProxyHost();
-        case "proxyport":
-        case "proxyPort": return target.getConfiguration().getProxyPort();
-        case "proxyprotocol":
-        case "proxyProtocol": return target.getConfiguration().getProxyProtocol();
-        case "region": return target.getConfiguration().getRegion();
-        case "replytoaddresses":
-        case "replyToAddresses": return target.getConfiguration().getReplyToAddresses();
-        case "returnpath":
-        case "returnPath": return target.getConfiguration().getReturnPath();
-        case "secretkey":
-        case "secretKey": return target.getConfiguration().getSecretKey();
-        case "subject": return target.getConfiguration().getSubject();
-        case "to": return target.getConfiguration().getTo();
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "replytoaddresses":
-        case "replyToAddresses": return java.lang.String.class;
-        case "to": return java.lang.String.class;
-        default: return null;
-        }
-    }
-}
-
diff --git a/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesEndpointUriFactory.java b/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesEndpointUriFactory.java
deleted file mode 100644
index 7749ea4..0000000
--- a/components/camel-aws-ses/src/generated/java/org/apache/camel/component/aws/ses/SesEndpointUriFactory.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.ses;
-
-import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.camel.spi.EndpointUriFactory;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-public class SesEndpointUriFactory extends org.apache.camel.support.component.EndpointUriFactorySupport implements EndpointUriFactory {
-
-    private static final String BASE = ":from";
-
-    private static final Set<String> PROPERTY_NAMES;
-    private static final Set<String> SECRET_PROPERTY_NAMES;
-    static {
-        Set<String> props = new HashSet<>(14);
-        props.add("autoDiscoverClient");
-        props.add("proxyProtocol");
-        props.add("returnPath");
-        props.add("secretKey");
-        props.add("subject");
-        props.add("proxyHost");
-        props.add("proxyPort");
-        props.add("lazyStartProducer");
-        props.add("accessKey");
-        props.add("from");
-        props.add("to");
-        props.add("region");
-        props.add("replyToAddresses");
-        props.add("amazonSESClient");
-        PROPERTY_NAMES = Collections.unmodifiableSet(props);
-        Set<String> secretProps = new HashSet<>(2);
-        secretProps.add("secretKey");
-        secretProps.add("accessKey");
-        SECRET_PROPERTY_NAMES = Collections.unmodifiableSet(secretProps);
-    }
-
-    @Override
-    public boolean isEnabled(String scheme) {
-        return "aws-ses".equals(scheme);
-    }
-
-    @Override
-    public String buildUri(String scheme, Map<String, Object> properties, boolean encode) throws URISyntaxException {
-        String syntax = scheme + BASE;
-        String uri = syntax;
-
-        Map<String, Object> copy = new HashMap<>(properties);
-
-        uri = buildPathParameter(syntax, uri, "from", null, true, copy);
-        uri = buildQueryParameters(uri, copy, encode);
-        return uri;
-    }
-
-    @Override
-    public Set<String> propertyNames() {
-        return PROPERTY_NAMES;
-    }
-
-    @Override
-    public Set<String> secretPropertyNames() {
-        return SECRET_PROPERTY_NAMES;
-    }
-
-    @Override
-    public boolean isLenientProperties() {
-        return false;
-    }
-}
-
diff --git a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/component.properties
deleted file mode 100644
index c1b4e03..0000000
--- a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-components=aws-ses
-groupId=org.apache.camel
-artifactId=camel-aws-ses
-version=3.9.0-SNAPSHOT
-projectName=Camel :: AWS SES (deprecated)
-projectDescription=A Camel Amazon SES Web Service Component
diff --git a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/component/aws-ses b/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/component/aws-ses
deleted file mode 100644
index d377d3d..0000000
--- a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/component/aws-ses
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.ses.SesComponent
diff --git a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ses-component b/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ses-component
deleted file mode 100644
index e001d04..0000000
--- a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ses-component
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.ses.SesComponentConfigurer
diff --git a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ses-endpoint b/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ses-endpoint
deleted file mode 100644
index 99b6f64..0000000
--- a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ses-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.ses.SesEndpointConfigurer
diff --git a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-ses-endpoint b/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-ses-endpoint
deleted file mode 100644
index f4bff66..0000000
--- a/components/camel-aws-ses/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-ses-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.ses.SesEndpointUriFactory
diff --git a/components/camel-aws-ses/src/generated/resources/org/apache/camel/component/aws/ses/aws-ses.json b/components/camel-aws-ses/src/generated/resources/org/apache/camel/component/aws/ses/aws-ses.json
deleted file mode 100644
index acec598..0000000
--- a/components/camel-aws-ses/src/generated/resources/org/apache/camel/component/aws/ses/aws-ses.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "aws-ses",
-    "title": "AWS Simple Email Service (SES)",
-    "description": "Send e-mails through AWS SES service.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.9.0",
-    "label": "cloud,mail",
-    "javaType": "org.apache.camel.component.aws.ses.SesComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-ses",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-ses",
-    "extendsScheme": "",
-    "syntax": "aws-ses:from",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": true,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "amazonSESClient": { "kind": "property", "displayName": "Amazon SESClient", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.services.simpleemail.AmazonSimpleEmailService", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "To use the AmazonSimpleEmailService as the client" },
-    "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instan [...]
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.ses.SesConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration" },
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
-    "proxyHost": { "kind": "property", "displayName": "Proxy Host", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the SES client" },
-    "proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the SES client" },
-    "proxyProtocol": { "kind": "property", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the SES client" },
-    "region": { "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The region in which SES client needs to work. When using this parameter, the configuration will expect the capitalized name of the region  [...]
-    "replyToAddresses": { "kind": "property", "displayName": "Reply To Addresses", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' h [...]
-    "returnPath": { "kind": "property", "displayName": "Return Path", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header." },
-    "subject": { "kind": "property", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSesSubject' is not present." },
-    "to": { "kind": "property", "displayName": "To", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "List of destination email address. Can be overriden with 'CamelAwsSesTo' header." },
-    "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
-    "accessKey": { "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  },
-  "properties": {
-    "from": { "kind": "path", "displayName": "From", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The sender's email address." },
-    "amazonSESClient": { "kind": "parameter", "displayName": "Amazon SESClient", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.services.simpleemail.AmazonSimpleEmailService", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "To use the AmazonSimpleEmailService as the client" },
-    "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client insta [...]
-    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during sta [...]
-    "proxyHost": { "kind": "parameter", "displayName": "Proxy Host", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the SES client" },
-    "proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group": "producer", "label": "", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the SES client" },
-    "proxyProtocol": { "kind": "parameter", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the SES client" },
-    "region": { "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The region in which SES client needs to work. When using this parameter, the configuration will expect the capitalized name of the region [...]
-    "replyToAddresses": { "kind": "parameter", "displayName": "Reply To Addresses", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses'  [...]
-    "returnPath": { "kind": "parameter", "displayName": "Return Path", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header." },
-    "subject": { "kind": "parameter", "displayName": "Subject", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "The subject which is used if the message header 'CamelAwsSesSubject' is not present." },
-    "to": { "kind": "parameter", "displayName": "To", "group": "producer", "label": "", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "List of destination email address. Can be overriden with 'CamelAwsSesTo' header." },
-    "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "secretKey": { "kind": "parameter", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ses.SesConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  }
-}
diff --git a/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc b/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc
deleted file mode 100644
index 05c0d51..0000000
--- a/components/camel-aws-ses/src/main/docs/aws-ses-component.adoc
+++ /dev/null
@@ -1,212 +0,0 @@
-[[aws-ses-component]]
-= AWS Simple Email Service (SES) Component (deprecated)
-:docTitle: AWS Simple Email Service (SES)
-:artifactId: camel-aws-ses
-:description: Send e-mails through AWS SES service.
-:since: 2.9
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-ses.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The ses component supports sending emails with
-https://aws.amazon.com/ses[Amazon's SES] service.
-
-Prerequisites
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon SES. More information is available at
-https://aws.amazon.com/ses[Amazon SES].
-
-== URI Format
-
-[source,java]
-------------------------
-aws-ses://from[?options]
-------------------------
-
-You can append query options to the URI in the following format,
-?options=value&option2=value&...
-
-== URI Options
-
-
-// component options: START
-The AWS Simple Email Service (SES) component supports 15 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonSESClient* (producer) | To use the AmazonSimpleEmailService as the client |  | AmazonSimpleEmailService
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *configuration* (producer) | The component configuration |  | SesConfiguration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *proxyHost* (producer) | To define a proxy host when instantiating the SES client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the SES client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which SES client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | String
-| *replyToAddresses* (producer) | List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header. |  | List
-| *returnPath* (producer) | The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header. |  | String
-| *subject* (producer) | The subject which is used if the message header 'CamelAwsSesSubject' is not present. |  | String
-| *to* (producer) | List of destination email address. Can be overriden with 'CamelAwsSesTo' header. |  | List
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// component options: END
-
-
-
-
-// endpoint options: START
-The AWS Simple Email Service (SES) endpoint is configured using URI syntax:
-
-----
-aws-ses:from
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *from* | *Required* The sender's email address. |  | String
-|===
-
-
-=== Query Parameters (13 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *amazonSESClient* (producer) | To use the AmazonSimpleEmailService as the client |  | AmazonSimpleEmailService
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *proxyHost* (producer) | To define a proxy host when instantiating the SES client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the SES client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the SES client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which SES client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() |  | String
-| *replyToAddresses* (producer) | List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header. |  | List
-| *returnPath* (producer) | The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header. |  | String
-| *subject* (producer) | The subject which is used if the message header 'CamelAwsSesSubject' is not present. |  | String
-| *to* (producer) | List of destination email address. Can be overriden with 'CamelAwsSesTo' header. |  | List
-| *accessKey* (security) | Amazon AWS Access Key |  | String
-| *secretKey* (security) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required SES component options
-
-You have to provide the amazonSESClient in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/ses[Amazon's SES].
-
-== Usage
-
-=== Message headers evaluated by the SES producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsSesFrom` |`String` |The sender's email address.
-
-|`CamelAwsSesTo` |`List<String>` |The destination(s) for this email.
-
-|`CamelAwsSesSubject` |`String` |The subject of the message.
-
-|`CamelAwsSesReplyToAddresses` |`List<String>` |The reply-to email address(es) for the message.
-
-|`CamelAwsSesReturnPath` |`String` |The email address to which bounce notifications are to be forwarded.
-
-|`CamelAwsSesHtmlEmail` |`Boolean` |The flag to show if email content is HTML.
-|=======================================================================
-
-=== Message headers set by the SES producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsSesMessageId` |`String` |The Amazon SES message ID.
-|=======================================================================
-
-=== Advanced AmazonSimpleEmailService configuration
-
-If you need more control over the `AmazonSimpleEmailService` instance
-configuration you can create your own instance and refer to it from the
-URI:
-
-[source,java]
--------------------------------------------------------------
-from("direct:start")
-.to("aws-ses://example@example.com?amazonSESClient=#client");
--------------------------------------------------------------
-
-The `#client` refers to a `AmazonSimpleEmailService` in the
-Registry.
-
-For example if your Camel Application is running behind a firewall:
-
-[source,java]
-----------------------------------------------------------------------------------------------------------
-AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
-ClientConfiguration clientConfiguration = new ClientConfiguration();
-clientConfiguration.setProxyHost("http://myProxyHost");
-clientConfiguration.setProxyPort(8080);
-AmazonSimpleEmailService client = new AmazonSimpleEmailServiceClient(awsCredentials, clientConfiguration);
-
-registry.bind("client", client);
-----------------------------------------------------------------------------------------------------------
-
-== Automatic detection of AmazonSimpleEmailService client in registry
-
-The component is capable of detecting the presence of an AmazonSimpleEmailService bean into the registry.
-If it's the only instance of that type it will be used as client and you won't have to define it as uri parameter.
-This may be really useful for smarter configuration of the endpoint.
-
-== Producer Examples
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:start")
-    .setHeader(SesConstants.SUBJECT, constant("This is my subject"))
-    .setHeader(SesConstants.TO, constant(Collections.singletonList("to@example.com"))
-    .setBody(constant("This is my message text."))
-    .to("aws-ses://from@example.com?accessKey=xxx&secretKey=yyy");
---------------------------------------------------------------------------------
-
-== Dependencies
-
-Maven users will need to add the following dependency to their pom.xml.
-
-*pom.xml*
-
-[source,xml]
----------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-aws-ses</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-ses-starter.adoc[]
diff --git a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java b/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
deleted file mode 100644
index f3da0aa..0000000
--- a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import java.util.Map;
-import java.util.Set;
-
-import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.annotations.Component;
-import org.apache.camel.support.DefaultComponent;
-
-@Component("aws-ses")
-public class SesComponent extends DefaultComponent {
-
-    @Metadata
-    private SesConfiguration configuration = new SesConfiguration();
-
-    public SesComponent() {
-        this(null);
-    }
-
-    public SesComponent(CamelContext context) {
-        super(context);
-
-        registerExtension(new SesComponentVerifierExtension());
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-
-        if (remaining == null || remaining.trim().length() == 0) {
-            throw new IllegalArgumentException("From must be specified.");
-        }
-        SesConfiguration configuration = this.configuration != null ? this.configuration.copy() : new SesConfiguration();
-        configuration.setFrom(remaining);
-        SesEndpoint endpoint = new SesEndpoint(uri, this, configuration);
-        setProperties(endpoint, parameters);
-        if (endpoint.getConfiguration().isAutoDiscoverClient()) {
-            checkAndSetRegistryClient(configuration);
-        }
-        if (configuration.getAmazonSESClient() == null
-                && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
-            throw new IllegalArgumentException("AmazonSESClient or accessKey and secretKey must be specified");
-        }
-
-        return endpoint;
-    }
-
-    public SesConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    /**
-     * The component configuration
-     */
-    public void setConfiguration(SesConfiguration configuration) {
-        this.configuration = configuration;
-    }
-
-    private void checkAndSetRegistryClient(SesConfiguration configuration) {
-        Set<AmazonSimpleEmailService> clients = getCamelContext().getRegistry().findByType(AmazonSimpleEmailService.class);
-        if (clients.size() == 1) {
-            configuration.setAmazonSESClient(clients.stream().findFirst().get());
-        }
-    }
-}
diff --git a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponentVerifierExtension.java b/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponentVerifierExtension.java
deleted file mode 100644
index e45b302..0000000
--- a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesComponentVerifierExtension.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import java.util.Map;
-
-import com.amazonaws.SdkClientException;
-import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.auth.AWSStaticCredentialsProvider;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
-import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
-import org.apache.camel.component.extension.verifier.DefaultComponentVerifierExtension;
-import org.apache.camel.component.extension.verifier.ResultBuilder;
-import org.apache.camel.component.extension.verifier.ResultErrorBuilder;
-import org.apache.camel.component.extension.verifier.ResultErrorHelper;
-
-public class SesComponentVerifierExtension extends DefaultComponentVerifierExtension {
-
-    public SesComponentVerifierExtension() {
-        this("aws-ses");
-    }
-
-    public SesComponentVerifierExtension(String scheme) {
-        super(scheme);
-    }
-
-    // *********************************
-    // Parameters validation
-    // *********************************
-
-    @Override
-    protected Result verifyParameters(Map<String, Object> parameters) {
-
-        ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.PARAMETERS)
-                .error(ResultErrorHelper.requiresOption("accessKey", parameters))
-                .error(ResultErrorHelper.requiresOption("secretKey", parameters))
-                .error(ResultErrorHelper.requiresOption("region", parameters));
-
-        // Validate using the catalog
-
-        super.verifyParametersAgainstCatalog(builder, parameters);
-
-        return builder.build();
-    }
-
-    // *********************************
-    // Connectivity validation
-    // *********************************
-
-    @Override
-    protected Result verifyConnectivity(Map<String, Object> parameters) {
-        ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.CONNECTIVITY);
-
-        try {
-            SesConfiguration configuration = setProperties(new SesConfiguration(), parameters);
-            AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-            AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
-            AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard()
-                    .withCredentials(credentialsProvider).withRegion(Regions.valueOf(configuration.getRegion())).build();
-            client.getSendStatistics();
-        } catch (SdkClientException e) {
-            ResultErrorBuilder errorBuilder
-                    = ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, e.getMessage())
-                            .detail("aws_ses_exception_message", e.getMessage())
-                            .detail(VerificationError.ExceptionAttribute.EXCEPTION_CLASS, e.getClass().getName())
-                            .detail(VerificationError.ExceptionAttribute.EXCEPTION_INSTANCE, e);
-
-            builder.error(errorBuilder.build());
-        } catch (Exception e) {
-            builder.error(ResultErrorBuilder.withException(e).build());
-        }
-        return builder.build();
-    }
-}
diff --git a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java b/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java
deleted file mode 100644
index e3b7b22..0000000
--- a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import java.util.Arrays;
-import java.util.List;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriParams;
-import org.apache.camel.spi.UriPath;
-
-@UriParams
-public class SesConfiguration implements Cloneable {
-
-    @UriPath
-    @Metadata(required = true)
-    private String from;
-    @UriParam
-    private AmazonSimpleEmailService amazonSESClient;
-    @UriParam(label = "security", secret = true)
-    private String accessKey;
-    @UriParam(label = "security", secret = true)
-    private String secretKey;
-    @UriParam
-    private String subject;
-    @UriParam
-    private List<String> to;
-    @UriParam
-    private String returnPath;
-    @UriParam
-    private List<String> replyToAddresses;
-    @UriParam(enums = "HTTP,HTTPS", defaultValue = "HTTPS")
-    private Protocol proxyProtocol = Protocol.HTTPS;
-    @UriParam
-    private String proxyHost;
-    @UriParam
-    private Integer proxyPort;
-    @UriParam
-    private String region;
-    @UriParam(label = "common", defaultValue = "true")
-    private boolean autoDiscoverClient = true;
-
-    public String getAccessKey() {
-        return accessKey;
-    }
-
-    /**
-     * Amazon AWS Access Key
-     */
-    public void setAccessKey(String accessKey) {
-        this.accessKey = accessKey;
-    }
-
-    public AmazonSimpleEmailService getAmazonSESClient() {
-        return amazonSESClient;
-    }
-
-    /**
-     * To use the AmazonSimpleEmailService as the client
-     */
-    public void setAmazonSESClient(AmazonSimpleEmailService amazonSESClient) {
-        this.amazonSESClient = amazonSESClient;
-    }
-
-    public String getFrom() {
-        return from;
-    }
-
-    /**
-     * The sender's email address.
-     */
-    public void setFrom(String from) {
-        this.from = from;
-    }
-
-    public List<String> getTo() {
-        return to;
-    }
-
-    /**
-     * List of destination email address. Can be overriden with 'CamelAwsSesTo' header.
-     */
-    public void setTo(List<String> to) {
-        this.to = to;
-    }
-
-    /**
-     * List of destination email address. Can be overriden with 'CamelAwsSesTo' header.
-     */
-    public void setTo(String to) {
-        this.to = Arrays.asList(to.split(","));
-    }
-
-    public String getSecretKey() {
-        return secretKey;
-    }
-
-    /**
-     * Amazon AWS Secret Key
-     */
-    public void setSecretKey(String secretKey) {
-        this.secretKey = secretKey;
-    }
-
-    public String getSubject() {
-        return subject;
-    }
-
-    /**
-     * The subject which is used if the message header 'CamelAwsSesSubject' is not present.
-     */
-    public void setSubject(String subject) {
-        this.subject = subject;
-    }
-
-    public String getReturnPath() {
-        return returnPath;
-    }
-
-    /**
-     * The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath'
-     * header.
-     */
-    public void setReturnPath(String returnPath) {
-        this.returnPath = returnPath;
-    }
-
-    public List<String> getReplyToAddresses() {
-        return replyToAddresses;
-    }
-
-    /**
-     * List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header.
-     */
-    public void setReplyToAddresses(List<String> replyToAddresses) {
-        this.replyToAddresses = replyToAddresses;
-    }
-
-    public void setReplyToAddresses(String replyToAddresses) {
-        this.replyToAddresses = Arrays.asList(replyToAddresses.split(","));
-    }
-
-    public Protocol getProxyProtocol() {
-        return proxyProtocol;
-    }
-
-    /**
-     * To define a proxy protocol when instantiating the SES client
-     */
-    public void setProxyProtocol(Protocol proxyProtocol) {
-        this.proxyProtocol = proxyProtocol;
-    }
-
-    public String getProxyHost() {
-        return proxyHost;
-    }
-
-    /**
-     * To define a proxy host when instantiating the SES client
-     */
-    public void setProxyHost(String proxyHost) {
-        this.proxyHost = proxyHost;
-    }
-
-    public Integer getProxyPort() {
-        return proxyPort;
-    }
-
-    /**
-     * To define a proxy port when instantiating the SES client
-     */
-    public void setProxyPort(Integer proxyPort) {
-        this.proxyPort = proxyPort;
-    }
-
-    public String getRegion() {
-        return region;
-    }
-
-    /**
-     * The region in which SES client needs to work. When using this parameter, the configuration will expect the
-     * capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name()
-     */
-    public void setRegion(String region) {
-        this.region = region;
-    }
-
-    public boolean isAutoDiscoverClient() {
-        return autoDiscoverClient;
-    }
-
-    /**
-     * Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry
-     * automatically otherwise it will skip that checking.
-     */
-    public void setAutoDiscoverClient(boolean autoDiscoverClient) {
-        this.autoDiscoverClient = autoDiscoverClient;
-    }
-
-    // *************************************************
-    //
-    // *************************************************
-
-    public SesConfiguration copy() {
-        try {
-            return (SesConfiguration) super.clone();
-        } catch (CloneNotSupportedException e) {
-            throw new RuntimeCamelException(e);
-        }
-    }
-}
diff --git a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesConstants.java b/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesConstants.java
deleted file mode 100644
index b3c1438..0000000
--- a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesConstants.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-/**
- * Constants used in Camel AWS SES component
- */
-public interface SesConstants {
-
-    String FROM = "CamelAwsSesFrom";
-    String MESSAGE_ID = "CamelAwsSesMessageId";
-    String REPLY_TO_ADDRESSES = "CamelAwsSesReplyToAddresses";
-    String RETURN_PATH = "CamelAwsSesReturnPath";
-    String SUBJECT = "CamelAwsSesSubject";
-    String TO = "CamelAwsSesTo";
-    String HTML_EMAIL = "CamelAwsSesHtmlEmail";
-}
diff --git a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java b/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
deleted file mode 100644
index 65483c2..0000000
--- a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import com.amazonaws.ClientConfiguration;
-import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.auth.AWSStaticCredentialsProvider;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
-import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
-import org.apache.camel.Category;
-import org.apache.camel.Component;
-import org.apache.camel.Consumer;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.spi.UriEndpoint;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.support.DefaultEndpoint;
-import org.apache.camel.util.ObjectHelper;
-
-/**
- * Send e-mails through AWS SES service.
- */
-@UriEndpoint(firstVersion = "2.9.0", scheme = "aws-ses", title = "AWS Simple Email Service (SES)", syntax = "aws-ses:from",
-             producerOnly = true, category = { Category.CLOUD, Category.MAIL })
-public class SesEndpoint extends DefaultEndpoint {
-
-    private AmazonSimpleEmailService sesClient;
-
-    @UriParam
-    private SesConfiguration configuration;
-
-    public SesEndpoint(String uri, Component component, SesConfiguration configuration) {
-        super(uri, component);
-        this.configuration = configuration;
-    }
-
-    @Override
-    public void doStart() throws Exception {
-        super.doStart();
-        sesClient = configuration.getAmazonSESClient() != null
-                ? configuration.getAmazonSESClient()
-                : createSESClient();
-    }
-
-    @Override
-    public void doStop() throws Exception {
-        if (ObjectHelper.isEmpty(configuration.getAmazonSESClient())) {
-            if (sesClient != null) {
-                sesClient.shutdown();
-            }
-        }
-        super.doStop();
-    }
-
-    @Override
-    public Consumer createConsumer(Processor processor) throws Exception {
-        throw new UnsupportedOperationException("You cannot receive messages from this endpoint");
-    }
-
-    @Override
-    public Producer createProducer() throws Exception {
-        return new SesProducer(this);
-    }
-
-    public SesConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    public AmazonSimpleEmailService getSESClient() {
-        return sesClient;
-    }
-
-    private AmazonSimpleEmailService createSESClient() {
-        AmazonSimpleEmailService client = null;
-        AmazonSimpleEmailServiceClientBuilder clientBuilder = null;
-        ClientConfiguration clientConfiguration = null;
-        boolean isClientConfigFound = false;
-        if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) {
-            clientConfiguration = new ClientConfiguration();
-            clientConfiguration.setProxyProtocol(configuration.getProxyProtocol());
-            clientConfiguration.setProxyHost(configuration.getProxyHost());
-            clientConfiguration.setProxyPort(configuration.getProxyPort());
-            isClientConfigFound = true;
-        }
-        if (configuration.getAccessKey() != null && configuration.getSecretKey() != null) {
-            AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-            AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
-            if (isClientConfigFound) {
-                clientBuilder = AmazonSimpleEmailServiceClientBuilder.standard().withClientConfiguration(clientConfiguration)
-                        .withCredentials(credentialsProvider);
-            } else {
-                clientBuilder = AmazonSimpleEmailServiceClientBuilder.standard().withCredentials(credentialsProvider);
-            }
-        } else {
-            if (isClientConfigFound) {
-                clientBuilder = AmazonSimpleEmailServiceClientBuilder.standard();
-            } else {
-                clientBuilder = AmazonSimpleEmailServiceClientBuilder.standard().withClientConfiguration(clientConfiguration);
-            }
-        }
-        if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
-            clientBuilder = clientBuilder.withRegion(Regions.valueOf(configuration.getRegion()));
-        }
-        client = clientBuilder.build();
-        return client;
-    }
-}
diff --git a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesProducer.java b/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesProducer.java
deleted file mode 100644
index 8333d31..0000000
--- a/components/camel-aws-ses/src/main/java/org/apache/camel/component/aws/ses/SesProducer.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import java.io.ByteArrayOutputStream;
-import java.io.OutputStream;
-import java.nio.ByteBuffer;
-import java.util.Collection;
-import java.util.List;
-
-import com.amazonaws.services.simpleemail.model.Body;
-import com.amazonaws.services.simpleemail.model.Content;
-import com.amazonaws.services.simpleemail.model.Destination;
-import com.amazonaws.services.simpleemail.model.SendEmailRequest;
-import com.amazonaws.services.simpleemail.model.SendEmailResult;
-import com.amazonaws.services.simpleemail.model.SendRawEmailRequest;
-import com.amazonaws.services.simpleemail.model.SendRawEmailResult;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.support.DefaultProducer;
-import org.apache.camel.util.URISupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A Producer which sends messages to the Amazon Simple Email Service <a href="http://aws.amazon.com/ses/">AWS SES</a>
- */
-public class SesProducer extends DefaultProducer {
-
-    private static final Logger LOG = LoggerFactory.getLogger(SesProducer.class);
-
-    private transient String sesProducerToString;
-
-    public SesProducer(Endpoint endpoint) {
-        super(endpoint);
-    }
-
-    @Override
-    public void process(Exchange exchange) throws Exception {
-        if (!(exchange.getIn().getBody() instanceof javax.mail.Message)) {
-            SendEmailRequest request = createMailRequest(exchange);
-            LOG.trace("Sending request [{}] from exchange [{}]...", request, exchange);
-            SendEmailResult result = getEndpoint().getSESClient().sendEmail(request);
-            LOG.trace("Received result [{}]", result);
-            Message message = getMessageForResponse(exchange);
-            message.setHeader(SesConstants.MESSAGE_ID, result.getMessageId());
-        } else {
-            SendRawEmailRequest request = createRawMailRequest(exchange);
-            LOG.trace("Sending request [{}] from exchange [{}]...", request, exchange);
-            SendRawEmailResult result = getEndpoint().getSESClient().sendRawEmail(request);
-            LOG.trace("Received result [{}]", result);
-            Message message = getMessageForResponse(exchange);
-            message.setHeader(SesConstants.MESSAGE_ID, result.getMessageId());
-        }
-    }
-
-    private SendEmailRequest createMailRequest(Exchange exchange) {
-        SendEmailRequest request = new SendEmailRequest();
-        request.setSource(determineFrom(exchange));
-        request.setDestination(determineTo(exchange));
-        request.setReturnPath(determineReturnPath(exchange));
-        request.setReplyToAddresses(determineReplyToAddresses(exchange));
-        request.setMessage(createMessage(exchange));
-
-        return request;
-    }
-
-    private SendRawEmailRequest createRawMailRequest(Exchange exchange) throws Exception {
-        SendRawEmailRequest request = new SendRawEmailRequest();
-        request.setSource(determineFrom(exchange));
-        request.setDestinations(determineRawTo(exchange));
-        request.setRawMessage(createRawMessage(exchange));
-        return request;
-    }
-
-    private com.amazonaws.services.simpleemail.model.Message createMessage(Exchange exchange) {
-        com.amazonaws.services.simpleemail.model.Message message = new com.amazonaws.services.simpleemail.model.Message();
-        Boolean isHtmlEmail = exchange.getIn().getHeader(SesConstants.HTML_EMAIL, false, Boolean.class);
-        String content = exchange.getIn().getBody(String.class);
-        if (isHtmlEmail) {
-            message.setBody(new Body().withHtml(new Content().withData(content)));
-        } else {
-            message.setBody(new Body().withText(new Content().withData(content)));
-        }
-        message.setSubject(new Content(determineSubject(exchange)));
-        return message;
-    }
-
-    private com.amazonaws.services.simpleemail.model.RawMessage createRawMessage(Exchange exchange) throws Exception {
-        com.amazonaws.services.simpleemail.model.RawMessage message = new com.amazonaws.services.simpleemail.model.RawMessage();
-        javax.mail.Message content = exchange.getIn().getBody(javax.mail.Message.class);
-        OutputStream byteOutput = new ByteArrayOutputStream();
-        try {
-            content.writeTo(byteOutput);
-        } catch (Exception e) {
-            LOG.error("Cannot write to byte Array");
-            throw e;
-        }
-        byte[] messageByteArray = ((ByteArrayOutputStream) byteOutput).toByteArray();
-        message.setData(ByteBuffer.wrap(messageByteArray));
-        return message;
-    }
-
-    @SuppressWarnings("unchecked")
-    private Collection<String> determineReplyToAddresses(Exchange exchange) {
-        List<String> replyToAddresses = exchange.getIn().getHeader(SesConstants.REPLY_TO_ADDRESSES, List.class);
-        if (replyToAddresses == null) {
-            replyToAddresses = getConfiguration().getReplyToAddresses();
-        }
-        return replyToAddresses;
-    }
-
-    private String determineReturnPath(Exchange exchange) {
-        String returnPath = exchange.getIn().getHeader(SesConstants.RETURN_PATH, String.class);
-        if (returnPath == null) {
-            returnPath = getConfiguration().getReturnPath();
-        }
-        return returnPath;
-    }
-
-    @SuppressWarnings("unchecked")
-    private Destination determineTo(Exchange exchange) {
-        List<String> to = exchange.getIn().getHeader(SesConstants.TO, List.class);
-        if (to == null) {
-            to = getConfiguration().getTo();
-        }
-        return new Destination(to);
-    }
-
-    @SuppressWarnings("unchecked")
-    private List determineRawTo(Exchange exchange) {
-        List<String> to = exchange.getIn().getHeader(SesConstants.TO, List.class);
-        if (to == null) {
-            to = getConfiguration().getTo();
-        }
-        return to;
-    }
-
-    private String determineFrom(Exchange exchange) {
-        String from = exchange.getIn().getHeader(SesConstants.FROM, String.class);
-        if (from == null) {
-            from = getConfiguration().getFrom();
-        }
-        return from;
-    }
-
-    private String determineSubject(Exchange exchange) {
-        String subject = exchange.getIn().getHeader(SesConstants.SUBJECT, String.class);
-        if (subject == null) {
-            subject = getConfiguration().getSubject();
-        }
-        return subject;
-    }
-
-    protected SesConfiguration getConfiguration() {
-        return getEndpoint().getConfiguration();
-    }
-
-    @Override
-    public String toString() {
-        if (sesProducerToString == null) {
-            sesProducerToString = "SesProducer[" + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
-        }
-        return sesProducerToString;
-    }
-
-    @Override
-    public SesEndpoint getEndpoint() {
-        return (SesEndpoint) super.getEndpoint();
-    }
-
-    public static Message getMessageForResponse(final Exchange exchange) {
-        return exchange.getMessage();
-    }
-}
diff --git a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/AmazonSESClientMock.java b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/AmazonSESClientMock.java
deleted file mode 100644
index 2184aae..0000000
--- a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/AmazonSESClientMock.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import com.amazonaws.AmazonClientException;
-import com.amazonaws.AmazonServiceException;
-import com.amazonaws.services.simpleemail.AbstractAmazonSimpleEmailService;
-import com.amazonaws.services.simpleemail.model.SendEmailRequest;
-import com.amazonaws.services.simpleemail.model.SendEmailResult;
-import com.amazonaws.services.simpleemail.model.SendRawEmailRequest;
-import com.amazonaws.services.simpleemail.model.SendRawEmailResult;
-
-public class AmazonSESClientMock extends AbstractAmazonSimpleEmailService {
-    private SendEmailRequest sendEmailRequest;
-    private SendRawEmailRequest sendRawEmailRequest;
-
-    public AmazonSESClientMock() {
-    }
-
-    @Override
-    public SendEmailResult sendEmail(SendEmailRequest sendEmailRequest) throws AmazonServiceException, AmazonClientException {
-        this.sendEmailRequest = sendEmailRequest;
-        SendEmailResult result = new SendEmailResult();
-        result.setMessageId("1");
-
-        return result;
-    }
-
-    @Override
-    public SendRawEmailResult sendRawEmail(SendRawEmailRequest sendRawEmailRequest)
-            throws AmazonServiceException, AmazonClientException {
-        this.sendRawEmailRequest = sendRawEmailRequest;
-        SendRawEmailResult result = new SendRawEmailResult();
-        result.setMessageId("1");
-
-        return result;
-    }
-
-    public SendEmailRequest getSendEmailRequest() {
-        return sendEmailRequest;
-    }
-
-    public SendRawEmailRequest getSendRawEmailRequest() {
-        return sendRawEmailRequest;
-    }
-}
diff --git a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/MockMessage.java b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/MockMessage.java
deleted file mode 100644
index d18e94b..0000000
--- a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/MockMessage.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Date;
-import java.util.Enumeration;
-
-import javax.activation.DataHandler;
-import javax.mail.Address;
-import javax.mail.Flags;
-import javax.mail.Header;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import javax.mail.Multipart;
-
-public class MockMessage extends Message {
-
-    @Override
-    public int getSize() throws MessagingException {
-        return 0;
-    }
-
-    @Override
-    public int getLineCount() throws MessagingException {
-        return 0;
-    }
-
-    @Override
-    public String getContentType() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public boolean isMimeType(String mimeType) throws MessagingException {
-        return false;
-    }
-
-    @Override
-    public String getDisposition() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setDisposition(String disposition) throws MessagingException {
-    }
-
-    @Override
-    public String getDescription() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setDescription(String description) throws MessagingException {
-    }
-
-    @Override
-    public String getFileName() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setFileName(String filename) throws MessagingException {
-    }
-
-    @Override
-    public InputStream getInputStream() throws IOException, MessagingException {
-        return null;
-    }
-
-    @Override
-    public DataHandler getDataHandler() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public Object getContent() throws IOException, MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setDataHandler(DataHandler dh) throws MessagingException {
-    }
-
-    @Override
-    public void setContent(Object obj, String type) throws MessagingException {
-    }
-
-    @Override
-    public void setText(String text) throws MessagingException {
-    }
-
-    @Override
-    public void setContent(Multipart mp) throws MessagingException {
-    }
-
-    @Override
-    public void writeTo(OutputStream os) throws IOException, MessagingException {
-    }
-
-    @Override
-    public String[] getHeader(String headername) throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setHeader(String headername, String headervalue)
-            throws MessagingException {
-    }
-
-    @Override
-    public void addHeader(String headername, String headervalue)
-            throws MessagingException {
-    }
-
-    @Override
-    public void removeHeader(String headername) throws MessagingException {
-    }
-
-    @Override
-    public Enumeration<Header> getAllHeaders() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public Enumeration<Header> getMatchingHeaders(String[] headernames)
-            throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public Enumeration<Header> getNonMatchingHeaders(String[] headernames)
-            throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public Address[] getFrom() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setFrom() throws MessagingException {
-    }
-
-    @Override
-    public void setFrom(Address address) throws MessagingException {
-    }
-
-    @Override
-    public void addFrom(Address[] addresses) throws MessagingException {
-    }
-
-    @Override
-    public Address[] getRecipients(RecipientType type)
-            throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setRecipients(RecipientType type, Address[] addresses)
-            throws MessagingException {
-    }
-
-    @Override
-    public void addRecipients(RecipientType type, Address[] addresses)
-            throws MessagingException {
-    }
-
-    @Override
-    public String getSubject() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setSubject(String subject) throws MessagingException {
-    }
-
-    @Override
-    public Date getSentDate() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setSentDate(Date date) throws MessagingException {
-    }
-
-    @Override
-    public Date getReceivedDate() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public Flags getFlags() throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void setFlags(Flags flag, boolean set) throws MessagingException {
-    }
-
-    @Override
-    public Message reply(boolean replyToAll) throws MessagingException {
-        return null;
-    }
-
-    @Override
-    public void saveChanges() throws MessagingException {
-    }
-}
diff --git a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SESComponentClientRegistryTest.java b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SESComponentClientRegistryTest.java
deleted file mode 100644
index a88a7e2..0000000
--- a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SESComponentClientRegistryTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNotSame;
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-public class SESComponentClientRegistryTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithMinimalSESClientConfiguration() throws Exception {
-
-        AmazonSESClientMock awsSESClient = new AmazonSESClientMock();
-        context.getRegistry().bind("awsSesClient", awsSESClient);
-        SesComponent component = new SesComponent(context);
-        SesEndpoint endpoint = (SesEndpoint) component.createEndpoint("aws-ses://from@example.com");
-
-        assertNotNull(endpoint.getConfiguration().getAmazonSESClient());
-    }
-
-    @Test
-    public void createEndpointWithMinimalSESClientMisconfiguration() throws Exception {
-
-        SesComponent component = new SesComponent(context);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ses://from@example.com"));
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientFalse() throws Exception {
-
-        AmazonSESClientMock awsSESClient = new AmazonSESClientMock();
-        context.getRegistry().bind("awsSesClient", awsSESClient);
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        SesEndpoint endpoint = (SesEndpoint) component
-                .createEndpoint("aws-ses://from@example.com?accessKey=xxx&secretKey=yyy&autoDiscoverClient=false");
-
-        assertNotSame(awsSESClient, endpoint.getConfiguration().getAmazonSESClient());
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientTrue() throws Exception {
-
-        AmazonSESClientMock awsSESClient = new AmazonSESClientMock();
-        context.getRegistry().bind("awsSesClient", awsSESClient);
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        SesEndpoint endpoint = (SesEndpoint) component.createEndpoint("aws-ses://from@example.com?accessKey=xxx&secretKey=yyy");
-
-        assertSame(awsSESClient, endpoint.getConfiguration().getAmazonSESClient());
-    }
-}
diff --git a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentConfigurationTest.java b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentConfigurationTest.java
deleted file mode 100644
index 14a3c1b..0000000
--- a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentConfigurationTest.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.regions.Regions;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class SesComponentConfigurationTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithMinimalConfiguration() throws Exception {
-        AmazonSESClientMock mock = new AmazonSESClientMock();
-
-        context.getRegistry().bind("amazonSESClient", mock);
-
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        SesEndpoint endpoint = (SesEndpoint) component
-                .createEndpoint("aws-ses://from@example.com?amazonSESClient=#amazonSESClient&accessKey=xxx&secretKey=yyy");
-
-        assertEquals("from@example.com", endpoint.getConfiguration().getFrom());
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNotNull(endpoint.getConfiguration().getAmazonSESClient());
-        assertNull(endpoint.getConfiguration().getTo());
-        assertNull(endpoint.getConfiguration().getSubject());
-        assertNull(endpoint.getConfiguration().getReturnPath());
-        assertNull(endpoint.getConfiguration().getReplyToAddresses());
-    }
-
-    @Test
-    public void createEndpointWithOnlyAccessKeyAndSecretKey() throws Exception {
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        SesEndpoint endpoint = (SesEndpoint) component.createEndpoint("aws-ses://from@example.com?accessKey=xxx&secretKey=yyy");
-
-        assertEquals("from@example.com", endpoint.getConfiguration().getFrom());
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNull(endpoint.getConfiguration().getAmazonSESClient());
-        assertNull(endpoint.getConfiguration().getTo());
-        assertNull(endpoint.getConfiguration().getSubject());
-        assertNull(endpoint.getConfiguration().getReturnPath());
-        assertNull(endpoint.getConfiguration().getReplyToAddresses());
-    }
-
-    @Test
-    public void createEndpointWithMinimalConfigurationAndProvidedClient() throws Exception {
-        AmazonSESClientMock mock = new AmazonSESClientMock();
-
-        context.getRegistry().bind("amazonSESClient", mock);
-
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        SesEndpoint endpoint = (SesEndpoint) component.createEndpoint("aws-ses://from@example.com?"
-                                                                      + "amazonSESClient=#amazonSESClient");
-
-        assertEquals("from@example.com", endpoint.getConfiguration().getFrom());
-        assertNull(endpoint.getConfiguration().getAccessKey());
-        assertNull(endpoint.getConfiguration().getSecretKey());
-        assertSame(mock, endpoint.getConfiguration().getAmazonSESClient());
-        assertNull(endpoint.getConfiguration().getTo());
-        assertNull(endpoint.getConfiguration().getSubject());
-        assertNull(endpoint.getConfiguration().getReturnPath());
-        assertNull(endpoint.getConfiguration().getReplyToAddresses());
-    }
-
-    @Test
-    public void createEndpointWithMaximalConfiguration() throws Exception {
-        AmazonSESClientMock mock = new AmazonSESClientMock();
-        List<String> to = new ArrayList<String>();
-        to.add("to1@example.com");
-        to.add("to2@example.com");
-        List<String> replyAddress = new ArrayList<String>();
-        replyAddress.add("replyTo1@example.com");
-        replyAddress.add("replyTo2@example.com");
-
-        context.getRegistry().bind("amazonSESClient", mock);
-        context.getRegistry().bind("toList", to);
-        context.getRegistry().bind("replyToList", replyAddress);
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        SesEndpoint endpoint = (SesEndpoint) component
-                .createEndpoint("aws-ses://from@example.com?amazonSESClient=#amazonSESClient&accessKey=xxx"
-                                + "&secretKey=yyy&to=#toList&subject=Subject"
-                                + "&returnPath=bounce@example.com&replyToAddresses=#replyToList");
-
-        assertEquals("from@example.com", endpoint.getConfiguration().getFrom());
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNotNull(endpoint.getConfiguration().getAmazonSESClient());
-        assertEquals(2, endpoint.getConfiguration().getTo().size());
-        assertTrue(endpoint.getConfiguration().getTo().contains("to1@example.com"));
-        assertTrue(endpoint.getConfiguration().getTo().contains("to2@example.com"));
-        assertEquals("Subject", endpoint.getConfiguration().getSubject());
-        assertEquals("bounce@example.com", endpoint.getConfiguration().getReturnPath());
-        assertEquals(2, endpoint.getConfiguration().getReplyToAddresses().size());
-        assertTrue(endpoint.getConfiguration().getReplyToAddresses().contains("replyTo1@example.com"));
-        assertTrue(endpoint.getConfiguration().getReplyToAddresses().contains("replyTo2@example.com"));
-    }
-
-    @Test
-    public void createEndpointWithoutSourceName() throws Exception {
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ses:// "));
-    }
-
-    @Test
-    public void createEndpointWithoutAmazonSESClientConfiguration() throws Exception {
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ses://from@example.com"));
-    }
-
-    @Test
-    public void createEndpointWithoutAccessKeyConfiguration() throws Exception {
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ses://from@example.com?secretKey=yyy"));
-    }
-
-    @Test
-    public void createEndpointWithoutSecretKeyConfiguration() throws Exception {
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ses://from@example.com?accessKey=xxx"));
-    }
-
-    @Test
-    public void createEndpointWithComponentElements() throws Exception {
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        SesEndpoint endpoint = (SesEndpoint) component.createEndpoint("aws-ses://from@example.com");
-
-        assertEquals("from@example.com", endpoint.getConfiguration().getFrom());
-        assertEquals("XXX", endpoint.getConfiguration().getAccessKey());
-        assertEquals("YYY", endpoint.getConfiguration().getSecretKey());
-    }
-
-    @Test
-    public void createEndpointWithComponentAndEndpointElements() throws Exception {
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        SesEndpoint endpoint = (SesEndpoint) component
-                .createEndpoint("aws-ses://from@example.com?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1");
-
-        assertEquals("from@example.com", endpoint.getConfiguration().getFrom());
-        assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyyyy", endpoint.getConfiguration().getSecretKey());
-        assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());
-    }
-
-    @Test
-    public void createEndpointWithComponentEndpointElementsAndProxy() throws Exception {
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        SesEndpoint endpoint = (SesEndpoint) component.createEndpoint(
-                "aws-ses://label?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1&proxyHost=localhost&proxyPort=9000&proxyProtocol=HTTP");
-
-        assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyyyy", endpoint.getConfiguration().getSecretKey());
-        assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());
-        assertEquals(Protocol.HTTP, endpoint.getConfiguration().getProxyProtocol());
-        assertEquals("localhost", endpoint.getConfiguration().getProxyHost());
-        assertEquals(Integer.valueOf(9000), endpoint.getConfiguration().getProxyPort());
-    }
-
-    @Test
-    public void createEndpointWithoutSecretKeyAndAccessKeyConfiguration() throws Exception {
-        AmazonSESClientMock mock = new AmazonSESClientMock();
-
-        context.getRegistry().bind("amazonSESClient", mock);
-
-        SesComponent component = context.getComponent("aws-ses", SesComponent.class);
-        component.createEndpoint("aws-ses://from@example.com?amazonSESClient=#amazonSESClient");
-    }
-}
diff --git a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentSpringTest.java b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentSpringTest.java
deleted file mode 100644
index 1b0519f..0000000
--- a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentSpringTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import java.util.Arrays;
-import java.util.List;
-
-import com.amazonaws.services.simpleemail.model.SendEmailRequest;
-import com.amazonaws.services.simpleemail.model.SendRawEmailRequest;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class SesComponentSpringTest extends CamelSpringTestSupport {
-
-    private AmazonSESClientMock sesClient;
-
-    @Override
-    @BeforeEach
-    public void setUp() throws Exception {
-        super.setUp();
-
-        sesClient = context.getRegistry().lookupByNameAndType("amazonSESClient", AmazonSESClientMock.class);
-    }
-
-    @Test
-    public void sendInOnlyMessageUsingUrlOptions() throws Exception {
-        Exchange exchange = template.send("direct:start", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertEquals("1", exchange.getIn().getHeader(SesConstants.MESSAGE_ID));
-
-        SendEmailRequest sendEmailRequest = sesClient.getSendEmailRequest();
-        assertEquals("from@example.com", sendEmailRequest.getSource());
-        assertEquals("bounce@example.com", sendEmailRequest.getReturnPath());
-        assertEquals("This is my message text.", getBody(sendEmailRequest));
-    }
-
-    @Test
-    public void sendInOutMessageUsingUrlOptions() throws Exception {
-        Exchange exchange = template.request("direct:start", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertEquals("1", exchange.getMessage().getHeader(SesConstants.MESSAGE_ID));
-    }
-
-    @Test
-    public void sendRawMessage() throws Exception {
-        final MockMessage mess = new MockMessage();
-        Exchange exchange = template.request("direct:start", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody(mess);
-            }
-        });
-
-        assertEquals("1", exchange.getMessage().getHeader(SesConstants.MESSAGE_ID));
-
-        SendRawEmailRequest sendRawEmailRequest = sesClient.getSendRawEmailRequest();
-        assertEquals("from@example.com", sendRawEmailRequest.getSource());
-    }
-
-    @Test
-    public void sendMessageUsingMessageHeaders() throws Exception {
-        Exchange exchange = template.send("direct:start", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-                exchange.getIn().setHeader(SesConstants.FROM, "anotherFrom@example.com");
-                exchange.getIn().setHeader(SesConstants.TO,
-                        Arrays.asList("anotherTo1@example.com", "anotherTo2@example.com"));
-                exchange.getIn().setHeader(SesConstants.RETURN_PATH, "anotherBounce@example.com");
-                exchange.getIn().setHeader(SesConstants.REPLY_TO_ADDRESSES,
-                        Arrays.asList("anotherReplyTo1@example.com", "anotherReplyTo2@example.com"));
-                exchange.getIn().setHeader(SesConstants.SUBJECT, "anotherSubject");
-            }
-        });
-
-        assertEquals("1", exchange.getIn().getHeader(SesConstants.MESSAGE_ID));
-
-        SendEmailRequest sendEmailRequest = sesClient.getSendEmailRequest();
-        assertEquals("anotherFrom@example.com", sendEmailRequest.getSource());
-        assertEquals(2, getTo(sendEmailRequest).size());
-        assertTrue(getTo(sendEmailRequest).contains("anotherTo1@example.com"));
-        assertTrue(getTo(sendEmailRequest).contains("anotherTo2@example.com"));
-        assertEquals("anotherBounce@example.com", sendEmailRequest.getReturnPath());
-        assertEquals(2, sendEmailRequest.getReplyToAddresses().size());
-        assertTrue(sendEmailRequest.getReplyToAddresses().contains("anotherReplyTo1@example.com"));
-        assertTrue(sendEmailRequest.getReplyToAddresses().contains("anotherReplyTo2@example.com"));
-        assertEquals("anotherSubject", getSubject(sendEmailRequest));
-        assertEquals("This is my message text.", getBody(sendEmailRequest));
-    }
-
-    @Override
-    protected AbstractApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext(
-                "org/apache/camel/component/aws/ses/SESComponentSpringTest-context.xml");
-    }
-
-    private String getBody(SendEmailRequest sendEmailRequest) {
-        return sendEmailRequest.getMessage().getBody().getText().getData();
-    }
-
-    private String getSubject(SendEmailRequest sendEmailRequest) {
-        return sendEmailRequest.getMessage().getSubject().getData();
-    }
-
-    private List<String> getTo(SendEmailRequest sendEmailRequest) {
-        return sendEmailRequest.getDestination().getToAddresses();
-    }
-
-    private List<String> getTo(SendRawEmailRequest sendEmailRequest) {
-        return sendEmailRequest.getDestinations();
-    }
-}
diff --git a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentTest.java b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentTest.java
deleted file mode 100644
index 3503d7e..0000000
--- a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import java.util.Arrays;
-import java.util.List;
-
-import com.amazonaws.services.simpleemail.model.SendEmailRequest;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class SesComponentTest extends CamelTestSupport {
-
-    @BindToRegistry("amazonSESClient")
-    private AmazonSESClientMock sesClient = new AmazonSESClientMock();
-
-    @BindToRegistry("toList")
-    private List<String> toList = Arrays.asList("to1@example.com", "to2@example.com");
-
-    @BindToRegistry("replyToList")
-    private List<String> replyToList = Arrays.asList("replyTo1@example.com", "replyTo2@example.com");
-
-    @Test
-    public void sendInOnlyMessageUsingUrlOptions() throws Exception {
-        Exchange exchange = template.send("direct:start", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertEquals("1", exchange.getIn().getHeader(SesConstants.MESSAGE_ID));
-
-        SendEmailRequest sendEmailRequest = sesClient.getSendEmailRequest();
-        assertEquals("from@example.com", sendEmailRequest.getSource());
-        assertEquals(2, getTo(sendEmailRequest).size());
-        assertTrue(getTo(sendEmailRequest).contains("to1@example.com"));
-        assertTrue(getTo(sendEmailRequest).contains("to2@example.com"));
-        assertEquals("bounce@example.com", sendEmailRequest.getReturnPath());
-        assertEquals(2, sendEmailRequest.getReplyToAddresses().size());
-        assertTrue(sendEmailRequest.getReplyToAddresses().contains("replyTo1@example.com"));
-        assertTrue(sendEmailRequest.getReplyToAddresses().contains("replyTo2@example.com"));
-        assertEquals("Subject", getSubject(sendEmailRequest));
-        assertEquals("This is my message text.", getBody(sendEmailRequest));
-    }
-
-    @Test
-    public void sendInOutMessageUsingUrlOptions() throws Exception {
-        Exchange exchange = template.request("direct:start", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertEquals("1", exchange.getMessage().getHeader(SesConstants.MESSAGE_ID));
-    }
-
-    @Test
-    public void sendMessageUsingMessageHeaders() throws Exception {
-        Exchange exchange = template.send("direct:start", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setBody("This is my message text.");
-                exchange.getIn().setHeader(SesConstants.FROM, "anotherFrom@example.com");
-                exchange.getIn().setHeader(SesConstants.TO,
-                        Arrays.asList("anotherTo1@example.com", "anotherTo2@example.com"));
-                exchange.getIn().setHeader(SesConstants.RETURN_PATH, "anotherBounce@example.com");
-                exchange.getIn().setHeader(SesConstants.REPLY_TO_ADDRESSES,
-                        Arrays.asList("anotherReplyTo1@example.com", "anotherReplyTo2@example.com"));
-                exchange.getIn().setHeader(SesConstants.SUBJECT, "anotherSubject");
-            }
-        });
-
-        assertEquals("1", exchange.getIn().getHeader(SesConstants.MESSAGE_ID));
-
-        SendEmailRequest sendEmailRequest = sesClient.getSendEmailRequest();
-        assertEquals("anotherFrom@example.com", sendEmailRequest.getSource());
-        assertEquals(2, getTo(sendEmailRequest).size());
-        assertTrue(getTo(sendEmailRequest).contains("anotherTo1@example.com"));
-        assertTrue(getTo(sendEmailRequest).contains("anotherTo2@example.com"));
-        assertEquals("anotherBounce@example.com", sendEmailRequest.getReturnPath());
-        assertEquals(2, sendEmailRequest.getReplyToAddresses().size());
-        assertTrue(sendEmailRequest.getReplyToAddresses().contains("anotherReplyTo1@example.com"));
-        assertTrue(sendEmailRequest.getReplyToAddresses().contains("anotherReplyTo2@example.com"));
-        assertEquals("anotherSubject", getSubject(sendEmailRequest));
-        assertEquals("This is my message text.", getBody(sendEmailRequest));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start")
-                        .to("aws-ses://from@example.com"
-                            + "?to=#toList"
-                            + "&subject=Subject"
-                            + "&returnPath=bounce@example.com"
-                            + "&replyToAddresses=#replyToList"
-                            + "&amazonSESClient=#amazonSESClient");
-            }
-        };
-    }
-
-    private String getBody(SendEmailRequest sendEmailRequest) {
-        return sendEmailRequest.getMessage().getBody().getText().getData();
-    }
-
-    private String getSubject(SendEmailRequest sendEmailRequest) {
-        return sendEmailRequest.getMessage().getSubject().getData();
-    }
-
-    private List<String> getTo(SendEmailRequest sendEmailRequest) {
-        return sendEmailRequest.getDestination().getToAddresses();
-    }
-}
diff --git a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentVerifierExtensionTest.java b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentVerifierExtensionTest.java
deleted file mode 100644
index b11b6c0..0000000
--- a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/SesComponentVerifierExtensionTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.Component;
-import org.apache.camel.component.extension.ComponentVerifierExtension;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class SesComponentVerifierExtensionTest extends CamelTestSupport {
-
-    // *************************************************
-    // Tests (parameters)
-    // *************************************************
-    @Override
-    public boolean isUseRouteBuilder() {
-        return false;
-    }
-
-    @Test
-    public void testParameters() throws Exception {
-        Component component = context().getComponent("aws-ses");
-
-        ComponentVerifierExtension verifier
-                = component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("secretKey", "l");
-        parameters.put("accessKey", "k");
-        parameters.put("region", "l");
-        parameters.put("from", "test@test.com");
-
-        ComponentVerifierExtension.Result result = verifier.verify(ComponentVerifierExtension.Scope.PARAMETERS, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.OK, result.getStatus());
-    }
-
-    @Test
-    public void testConnectivity() throws Exception {
-        Component component = context().getComponent("aws-ses");
-        ComponentVerifierExtension verifier
-                = component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("secretKey", "l");
-        parameters.put("accessKey", "k");
-        parameters.put("region", "US_EAST_1");
-        parameters.put("from", "test@test.com");
-
-        ComponentVerifierExtension.Result result = verifier.verify(ComponentVerifierExtension.Scope.CONNECTIVITY, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, result.getStatus());
-    }
-
-}
diff --git a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/integration/SesComponentIntegrationTest.java b/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/integration/SesComponentIntegrationTest.java
deleted file mode 100644
index 56e423a..0000000
--- a/components/camel-aws-ses/src/test/java/org/apache/camel/component/aws/ses/integration/SesComponentIntegrationTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.aws.ses.integration;
-
-import java.util.Collections;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws.ses.SesConstants;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-@Disabled("Must be manually tested. Provide your own accessKey and secretKey!")
-public class SesComponentIntegrationTest extends CamelTestSupport {
-
-    @Test
-    public void sendUsingAccessKeyAndSecretKey() throws Exception {
-        Exchange exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(SesConstants.SUBJECT, "This is my subject");
-                exchange.getIn().setHeader(SesConstants.TO, Collections.singletonList("to@example.com"));
-                exchange.getIn().setBody("This is my message text.");
-            }
-        });
-
-        assertNotNull(exchange.getIn().getHeader(SesConstants.MESSAGE_ID));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start")
-                        .to("aws-ses://from@example.com?accessKey=xxx&secretKey=yyy");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-ses/src/test/resources/log4j2.properties b/components/camel-aws-ses/src/test/resources/log4j2.properties
deleted file mode 100644
index a73b313..0000000
--- a/components/camel-aws-ses/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-aws-ses-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/components/camel-aws-ses/src/test/resources/org/apache/camel/component/aws/ses/SESComponentSpringTest-context.xml b/components/camel-aws-ses/src/test/resources/org/apache/camel/component/aws/ses/SESComponentSpringTest-context.xml
deleted file mode 100644
index 9cff3aa..0000000
--- a/components/camel-aws-ses/src/test/resources/org/apache/camel/component/aws/ses/SESComponentSpringTest-context.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-    http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
-    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-        <route>
-            <from uri="direct:start"/>
-            <to uri="aws-ses://from@example.com?amazonSESClient=#amazonSESClient&amp;returnPath=bounce@example.com"/>
-        </route>
-    </camelContext>
-
-    <bean id="amazonSESClient" class="org.apache.camel.component.aws.ses.AmazonSESClientMock"/>
-</beans>
\ No newline at end of file
diff --git a/components/pom.xml b/components/pom.xml
index 8622eea..563382d 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -119,7 +119,6 @@
         <module>camel-aws-mq</module>
         <module>camel-aws-msk</module>
         <module>camel-aws-s3</module>
-        <module>camel-aws-ses</module>
         <module>camel-aws-swf</module>
         <module>camel-aws2-athena</module>
         <module>camel-aws2-cw</module>
diff --git a/core/camel-allcomponents/pom.xml b/core/camel-allcomponents/pom.xml
index cbf66a5..01991ef 100644
--- a/core/camel-allcomponents/pom.xml
+++ b/core/camel-allcomponents/pom.xml
@@ -159,10 +159,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.camel</groupId>
-			<artifactId>camel-aws-ses</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.camel</groupId>
 			<artifactId>camel-aws-swf</artifactId>
 		</dependency>
 		<dependency>
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 0fa1cf2..784cc86 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -502,20 +502,6 @@ public interface ComponentsBuilderFactory {
         return org.apache.camel.builder.component.dsl.AwsS3ComponentBuilderFactory.awsS3();
     }
     /**
-     * AWS Simple Email Service (SES) (camel-aws-ses)
-     * Send e-mails through AWS SES service.
-     * 
-     * Category: cloud,mail
-     * Since: 2.9
-     * Maven coordinates: org.apache.camel:camel-aws-ses
-     * 
-     * @return the dsl builder
-     */
-    @Deprecated
-    static org.apache.camel.builder.component.dsl.AwsSesComponentBuilderFactory.AwsSesComponentBuilder awsSes() {
-        return org.apache.camel.builder.component.dsl.AwsSesComponentBuilderFactory.awsSes();
-    }
-    /**
      * AWS Simple Workflow (SWF) (camel-aws-swf)
      * Manage workflows in the AWS Simple Workflow service.
      * 
@@ -4890,4 +4876,4 @@ public interface ComponentsBuilderFactory {
     static org.apache.camel.builder.component.dsl.ZookeeperMasterComponentBuilderFactory.ZookeeperMasterComponentBuilder zookeeperMaster() {
         return org.apache.camel.builder.component.dsl.ZookeeperMasterComponentBuilderFactory.zookeeperMaster();
     }
-}
\ No newline at end of file
+}
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSesComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSesComponentBuilderFactory.java
deleted file mode 100644
index 3a827fb..0000000
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsSesComponentBuilderFactory.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.builder.component.dsl;
-
-import javax.annotation.Generated;
-import org.apache.camel.Component;
-import org.apache.camel.builder.component.AbstractComponentBuilder;
-import org.apache.camel.builder.component.ComponentBuilder;
-import org.apache.camel.component.aws.ses.SesComponent;
-
-/**
- * Send e-mails through AWS SES service.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
-public interface AwsSesComponentBuilderFactory {
-
-    /**
-     * AWS Simple Email Service (SES) (camel-aws-ses)
-     * Send e-mails through AWS SES service.
-     * 
-     * Category: cloud,mail
-     * Since: 2.9
-     * Maven coordinates: org.apache.camel:camel-aws-ses
-     * 
-     * @return the dsl builder
-     */
-    @Deprecated
-    static AwsSesComponentBuilder awsSes() {
-        return new AwsSesComponentBuilderImpl();
-    }
-
-    /**
-     * Builder for the AWS Simple Email Service (SES) component.
-     */
-    interface AwsSesComponentBuilder extends ComponentBuilder<SesComponent> {
-        /**
-         * To use the AmazonSimpleEmailService as the client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.simpleemail.AmazonSimpleEmailService&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param amazonSESClient the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder amazonSESClient(
-                com.amazonaws.services.simpleemail.AmazonSimpleEmailService amazonSESClient) {
-            doSetProperty("amazonSESClient", amazonSESClient);
-            return this;
-        }
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder autoDiscoverClient(
-                boolean autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * The component configuration.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.ses.SesConfiguration&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param configuration the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder configuration(
-                org.apache.camel.component.aws.ses.SesConfiguration configuration) {
-            doSetProperty("configuration", configuration);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder lazyStartProducer(
-                boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the SES client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder proxyHost(java.lang.String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the SES client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder proxyPort(java.lang.Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the SES client.
-         * 
-         * The option is a: &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt;
-         * type.
-         * 
-         * Default: HTTPS
-         * Group: producer
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder proxyProtocol(
-                com.amazonaws.Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * The region in which SES client needs to work. When using this
-         * parameter, the configuration will expect the capitalized name of the
-         * region (for example AP_EAST_1) You'll need to use the name
-         * Regions.EU_WEST_1.name().
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param region the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder region(java.lang.String region) {
-            doSetProperty("region", region);
-            return this;
-        }
-        /**
-         * List of reply-to email address(es) for the message, override it using
-         * 'CamelAwsSesReplyToAddresses' header.
-         * 
-         * The option is a:
-         * &lt;code&gt;java.util.List&amp;lt;java.lang.String&amp;gt;&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param replyToAddresses the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder replyToAddresses(
-                java.util.List<java.lang.String> replyToAddresses) {
-            doSetProperty("replyToAddresses", replyToAddresses);
-            return this;
-        }
-        /**
-         * The email address to which bounce notifications are to be forwarded,
-         * override it using 'CamelAwsSesReturnPath' header.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param returnPath the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder returnPath(java.lang.String returnPath) {
-            doSetProperty("returnPath", returnPath);
-            return this;
-        }
-        /**
-         * The subject which is used if the message header 'CamelAwsSesSubject'
-         * is not present.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param subject the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder subject(java.lang.String subject) {
-            doSetProperty("subject", subject);
-            return this;
-        }
-        /**
-         * List of destination email address. Can be overriden with
-         * 'CamelAwsSesTo' header.
-         * 
-         * The option is a:
-         * &lt;code&gt;java.util.List&amp;lt;java.lang.String&amp;gt;&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param to the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder to(java.util.List<java.lang.String> to) {
-            doSetProperty("to", to);
-            return this;
-        }
-        /**
-         * Whether autowiring is enabled. This is used for automatic autowiring
-         * options (the option must be marked as autowired) by looking up in the
-         * registry to find if there is a single instance of matching type,
-         * which then gets configured on the component. This can be used for
-         * automatic configuring JDBC data sources, JMS connection factories,
-         * AWS Clients, etc.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: advanced
-         * 
-         * @param autowiredEnabled the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
-            doSetProperty("autowiredEnabled", autowiredEnabled);
-            return this;
-        }
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder accessKey(java.lang.String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param secretKey the value to set
-         * @return the dsl builder
-         */
-        default AwsSesComponentBuilder secretKey(java.lang.String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-    }
-
-    class AwsSesComponentBuilderImpl
-            extends
-                AbstractComponentBuilder<SesComponent>
-            implements
-                AwsSesComponentBuilder {
-        @Override
-        protected SesComponent buildConcreteComponent() {
-            return new SesComponent();
-        }
-        private org.apache.camel.component.aws.ses.SesConfiguration getOrCreateConfiguration(
-                org.apache.camel.component.aws.ses.SesComponent component) {
-            if (component.getConfiguration() == null) {
-                component.setConfiguration(new org.apache.camel.component.aws.ses.SesConfiguration());
-            }
-            return component.getConfiguration();
-        }
-        @Override
-        protected boolean setPropertyOnComponent(
-                Component component,
-                String name,
-                Object value) {
-            switch (name) {
-            case "amazonSESClient": getOrCreateConfiguration((SesComponent) component).setAmazonSESClient((com.amazonaws.services.simpleemail.AmazonSimpleEmailService) value); return true;
-            case "autoDiscoverClient": getOrCreateConfiguration((SesComponent) component).setAutoDiscoverClient((boolean) value); return true;
-            case "configuration": ((SesComponent) component).setConfiguration((org.apache.camel.component.aws.ses.SesConfiguration) value); return true;
-            case "lazyStartProducer": ((SesComponent) component).setLazyStartProducer((boolean) value); return true;
-            case "proxyHost": getOrCreateConfiguration((SesComponent) component).setProxyHost((java.lang.String) value); return true;
-            case "proxyPort": getOrCreateConfiguration((SesComponent) component).setProxyPort((java.lang.Integer) value); return true;
-            case "proxyProtocol": getOrCreateConfiguration((SesComponent) component).setProxyProtocol((com.amazonaws.Protocol) value); return true;
-            case "region": getOrCreateConfiguration((SesComponent) component).setRegion((java.lang.String) value); return true;
-            case "replyToAddresses": getOrCreateConfiguration((SesComponent) component).setReplyToAddresses((java.util.List) value); return true;
-            case "returnPath": getOrCreateConfiguration((SesComponent) component).setReturnPath((java.lang.String) value); return true;
-            case "subject": getOrCreateConfiguration((SesComponent) component).setSubject((java.lang.String) value); return true;
-            case "to": getOrCreateConfiguration((SesComponent) component).setTo((java.util.List) value); return true;
-            case "autowiredEnabled": ((SesComponent) component).setAutowiredEnabled((boolean) value); return true;
-            case "accessKey": getOrCreateConfiguration((SesComponent) component).setAccessKey((java.lang.String) value); return true;
-            case "secretKey": getOrCreateConfiguration((SesComponent) component).setSecretKey((java.lang.String) value); return true;
-            default: return false;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index eb452ef..3c8888a 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -2462,51 +2462,6 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.S3EndpointBuilderFactory.endpointBuilder(componentName, path);
     }
     /**
-     * AWS Simple Email Service (SES) (camel-aws-ses)
-     * Send e-mails through AWS SES service.
-     * 
-     * Category: cloud,mail
-     * Since: 2.9
-     * Maven coordinates: org.apache.camel:camel-aws-ses
-     * 
-     * Syntax: <code>aws-ses:from</code>
-     * 
-     * Path parameter: from (required)
-     * The sender's email address.
-     * 
-     * @param path from
-     * @return the dsl builder
-     */
-    @Deprecated
-    public static org.apache.camel.builder.endpoint.dsl.SesEndpointBuilderFactory.SesEndpointBuilder awsSes(
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.SesEndpointBuilderFactory.endpointBuilder("aws-ses", path);
-    }
-    /**
-     * AWS Simple Email Service (SES) (camel-aws-ses)
-     * Send e-mails through AWS SES service.
-     * 
-     * Category: cloud,mail
-     * Since: 2.9
-     * Maven coordinates: org.apache.camel:camel-aws-ses
-     * 
-     * Syntax: <code>aws-ses:from</code>
-     * 
-     * Path parameter: from (required)
-     * The sender's email address.
-     * 
-     * @param componentName to use a custom component name for the endpoint
-     * instead of the default name
-     * @param path from
-     * @return the dsl builder
-     */
-    @Deprecated
-    public static org.apache.camel.builder.endpoint.dsl.SesEndpointBuilderFactory.SesEndpointBuilder awsSes(
-            String componentName,
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.SesEndpointBuilderFactory.endpointBuilder(componentName, path);
-    }
-    /**
      * AWS Simple Workflow (SWF) (camel-aws-swf)
      * Manage workflows in the AWS Simple Workflow service.
      * 
@@ -17117,4 +17072,4 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.ZooKeeperMasterEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
 }
-//CHECKSTYLE:ON
\ No newline at end of file
+//CHECKSTYLE:ON
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SesEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SesEndpointBuilderFactory.java
deleted file mode 100644
index 8a7f930..0000000
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SesEndpointBuilderFactory.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.builder.endpoint.dsl;
-
-import java.util.List;
-import javax.annotation.Generated;
-import org.apache.camel.builder.EndpointConsumerBuilder;
-import org.apache.camel.builder.EndpointProducerBuilder;
-import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
-
-/**
- * Send e-mails through AWS SES service.
- * 
- * Generated by camel build tools - do NOT edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface SesEndpointBuilderFactory {
-
-
-    /**
-     * Builder for endpoint for the AWS Simple Email Service (SES) component.
-     */
-    public interface SesEndpointBuilder extends EndpointProducerBuilder {
-        /**
-         * To use the AmazonSimpleEmailService as the client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.simpleemail.AmazonSimpleEmailService&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param amazonSESClient the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder amazonSESClient(Object amazonSESClient) {
-            doSetProperty("amazonSESClient", amazonSESClient);
-            return this;
-        }
-        /**
-         * To use the AmazonSimpleEmailService as the client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.services.simpleemail.AmazonSimpleEmailService&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param amazonSESClient the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder amazonSESClient(String amazonSESClient) {
-            doSetProperty("amazonSESClient", amazonSESClient);
-            return this;
-        }
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder autoDiscoverClient(boolean autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder autoDiscoverClient(String autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder lazyStartProducer(String lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the SES client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder proxyHost(String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the SES client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder proxyPort(Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the SES client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder proxyPort(String proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the SES client.
-         * 
-         * The option is a: &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt;
-         * type.
-         * 
-         * Default: HTTPS
-         * Group: producer
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder proxyProtocol(Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the SES client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt; type.
-         * 
-         * Default: HTTPS
-         * Group: producer
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder proxyProtocol(String proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * The region in which SES client needs to work. When using this
-         * parameter, the configuration will expect the capitalized name of the
-         * region (for example AP_EAST_1) You'll need to use the name
-         * Regions.EU_WEST_1.name().
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param region the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder region(String region) {
-            doSetProperty("region", region);
-            return this;
-        }
-        /**
-         * List of reply-to email address(es) for the message, override it using
-         * 'CamelAwsSesReplyToAddresses' header.
-         * 
-         * The option is a:
-         * &lt;code&gt;java.util.List&amp;lt;java.lang.String&amp;gt;&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param replyToAddresses the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder replyToAddresses(
-                List<String> replyToAddresses) {
-            doSetProperty("replyToAddresses", replyToAddresses);
-            return this;
-        }
-        /**
-         * List of reply-to email address(es) for the message, override it using
-         * 'CamelAwsSesReplyToAddresses' header.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.util.List&amp;lt;java.lang.String&amp;gt;&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param replyToAddresses the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder replyToAddresses(String replyToAddresses) {
-            doSetProperty("replyToAddresses", replyToAddresses);
-            return this;
-        }
-        /**
-         * The email address to which bounce notifications are to be forwarded,
-         * override it using 'CamelAwsSesReturnPath' header.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param returnPath the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder returnPath(String returnPath) {
-            doSetProperty("returnPath", returnPath);
-            return this;
-        }
-        /**
-         * The subject which is used if the message header 'CamelAwsSesSubject'
-         * is not present.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param subject the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder subject(String subject) {
-            doSetProperty("subject", subject);
-            return this;
-        }
-        /**
-         * List of destination email address. Can be overriden with
-         * 'CamelAwsSesTo' header.
-         * 
-         * The option is a:
-         * &lt;code&gt;java.util.List&amp;lt;java.lang.String&amp;gt;&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param to the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder to(List<String> to) {
-            doSetProperty("to", to);
-            return this;
-        }
-        /**
-         * List of destination email address. Can be overriden with
-         * 'CamelAwsSesTo' header.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.util.List&amp;lt;java.lang.String&amp;gt;&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param to the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder to(String to) {
-            doSetProperty("to", to);
-            return this;
-        }
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder accessKey(String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: security
-         * 
-         * @param secretKey the value to set
-         * @return the dsl builder
-         */
-        default SesEndpointBuilder secretKey(String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-    }
-
-    /**
-     * Proxy enum for <code>com.amazonaws.Protocol</code> enum.
-     */
-    enum Protocol {
-        HTTP,
-        HTTPS;
-    }
-
-    public interface SesBuilders {
-        /**
-         * AWS Simple Email Service (SES) (camel-aws-ses)
-         * Send e-mails through AWS SES service.
-         * 
-         * Category: cloud,mail
-         * Since: 2.9
-         * Maven coordinates: org.apache.camel:camel-aws-ses
-         * 
-         * Syntax: <code>aws-ses:from</code>
-         * 
-         * Path parameter: from (required)
-         * The sender's email address.
-         * 
-         * @param path from
-         * @return the dsl builder
-         */
-        @Deprecated
-        default SesEndpointBuilder awsSes(String path) {
-            return SesEndpointBuilderFactory.endpointBuilder("aws-ses", path);
-        }
-        /**
-         * AWS Simple Email Service (SES) (camel-aws-ses)
-         * Send e-mails through AWS SES service.
-         * 
-         * Category: cloud,mail
-         * Since: 2.9
-         * Maven coordinates: org.apache.camel:camel-aws-ses
-         * 
-         * Syntax: <code>aws-ses:from</code>
-         * 
-         * Path parameter: from (required)
-         * The sender's email address.
-         * 
-         * @param componentName to use a custom component name for the endpoint
-         * instead of the default name
-         * @param path from
-         * @return the dsl builder
-         */
-        @Deprecated
-        default SesEndpointBuilder awsSes(String componentName, String path) {
-            return SesEndpointBuilderFactory.endpointBuilder(componentName, path);
-        }
-    }
-    @Deprecated
-    static SesEndpointBuilder endpointBuilder(String componentName, String path) {
-        class SesEndpointBuilderImpl extends AbstractEndpointBuilder implements SesEndpointBuilder {
-            public SesEndpointBuilderImpl(String path) {
-                super(componentName, path);
-            }
-        }
-        return new SesEndpointBuilderImpl(path);
-    }
-}
\ No newline at end of file
diff --git a/parent/pom.xml b/parent/pom.xml
index 563fbbf..544dca4 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -919,11 +919,6 @@
 			</dependency>
 			<dependency>
 				<groupId>org.apache.camel</groupId>
-				<artifactId>camel-aws-ses</artifactId>
-				<version>${project.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.camel</groupId>
 				<artifactId>camel-aws-swf</artifactId>
 				<version>${project.version}</version>
 			</dependency>