h2. SES Component
*Available as of Camel 2.8.4*
The ses component supports sending emails with [Amazon's SES|http://aws.amazon.com/ses] service.
{info:title=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|http://aws.amazon.com/ses].
{info}
h3. URI Format
{code}
aws-ses://from[?options]
{code}
You can append query options to the URI in the following format, ?options=value&option2=value&...
h3. URI Options
|| Name || Default Value || Context || Description ||
|amazonSESClient | {{null}} | Producer | Reference to a {{com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientAmazonSimpleEmailService}} in the [Registry]. |
|accessKey | {{null}} | Producer | Amazon AWS Access Key |
|secretKey | {{null}} | Producer | Amazon AWS Secret Key |
|amazonSESEndpoint | {{null}} | Producer | The region with which the AWS-SES client wants to work with. |
|subject | {{null}} | Producer | The subject which is used if the message header 'CamelAwsSesSubject' is not present. |
|to | {{null}} | Producer | List of destination email address. Can be overriden with 'CamelAwsSesTo' header. |
|returnPath | {{null}} | Producer | The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header. |
|replyToAddresses| {{null}} | Producer | List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header.|
{info:title=Required SES component options}
You have to provide the amazonSESClient in the [Registry] or your accessKey and secretKey to access the [Amazon's SES|http://aws.amazon.com/ses].
{info}
h3. Usage
h4. Message headers evaluated by the SES producer
{div:class=confluenceTableSmall}
|| 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. |
{div}
h4. Message headers set by the SES producer
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsSesMessageId}} | {{String}} | The Amazon SES message ID. |
{div}
h4. Advanced AmazonSimpleEmailServiceClient configuration
If you need more control over the {{AmazonSimpleEmailServiceClientAmazonSimpleEmailService}} instance configuration you can create your own instance and refer to it from the URI:
{code}
from("direct:start")
.to("aws-ses://example@example.com?amazonSESClient=#amazonSESClient");
{code}
The {{#amazonSESClient#client}} refers to a {{AmazonSimpleEmailServiceClientAmazonSimpleEmailService}} in the [Registry].
For example if your Camel Application is running behind a firewall:
{code}
AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);
AmazonSimpleEmailServiceClientAmazonSimpleEmailService amazonSESClientclient = new AmazonSimpleEmailServiceClient(awsCredentials, clientConfiguration);
registry.bind("client", client);
{code}
h3. Dependencies
Maven users will need to add the following dependency to their pom.xml.
{code:xml|title=pom.xml}
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
{code}
where {{$\{camel-version\}}} must be replaced by the actual version of Camel (2.8.4 or higher).
{include:Endpoint See Also}
- [AWS Component|AWS] |