Available as of Camel version 2.9
The ses component supports sending emails with 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 are available at Amazon SES.
aws-ses://from[?options]
You can append query options to the URI in the following format, ?options=value&option2=value&…
The AWS Simple Email Service component supports 5 options, which are listed below.
Name | Description | Default | Type |
---|---|---|---|
configuration (advanced) |
The AWS SES default configuration |
SesConfiguration |
|
accessKey (producer) |
Amazon AWS Access Key |
String |
|
secretKey (producer) |
Amazon AWS Secret Key |
String |
|
region (producer) |
The region in which SES client needs to work |
String |
|
resolveProperty Placeholders (advanced) |
Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. |
true |
boolean |
The AWS Simple Email Service endpoint is configured using URI syntax:
aws-ses:from
with the following path and query parameters:
Name | Description | Default | Type |
---|---|---|---|
from |
Required The sender’s email address. |
String |
Name | Description | Default | Type |
---|---|---|---|
amazonSESClient (producer) |
To use the AmazonSimpleEmailService as the client |
AmazonSimpleEmail Service |
|
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 |
|
region (producer) |
The region in which SES client needs to work |
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 |
|
synchronous (advanced) |
Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). |
false |
boolean |
accessKey (security) |
Amazon AWS Access Key |
String |
|
secretKey (security) |
Amazon AWS Secret Key |
String |
Required SES component options
You have to provide the amazonSESClient in the Registry or your accessKey and secretKey to access the Amazon’s SES.
Header | Type | Description |
---|---|---|
|
|
The sender’s email address. |
|
|
The destination(s) for this email. |
|
|
The subject of the message. |
|
|
The reply-to email address(es) for the message. |
|
|
The email address to which bounce notifications are to be forwarded. |
|
|
Since Camel 2.12.3 The flag to show if email content is HTML. |
Header | Type | Description |
---|---|---|
|
|
The Amazon SES message ID. |
If you need more control over the AmazonSimpleEmailService
instance
configuration you can create your own instance and refer to it from the
URI:
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:
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);
Maven users will need to add the following dependency to their pom.xml.
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
where ${camel-version
} must be replaced by the actual version of Camel
(2.8.4 or higher).