forked from apache/camel-kamelets
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix apache#18: add mail source kamelet
- Loading branch information
1 parent
7115720
commit 22d1e00
Showing
4 changed files
with
210 additions
and
0 deletions.
There are no files selected for viewing
68 changes: 68 additions & 0 deletions
68
docs/modules/ROOT/assets/images/kamelets/mail-imap-source.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT | ||
= image:kamelets/mail-imap-source.svg[] Mail IMAP Source | ||
|
||
*Provided by: "Apache Software Foundation"* | ||
|
||
Receive unread emails from an IMAP mail server, marking them as read once they are received. | ||
|
||
== Configuration Options | ||
|
||
The following table summarizes the configuration options available for the `mail-imap-source` Kamelet: | ||
[width="100%",cols="2,^2,3,^2,^2,^3",options="header"] | ||
|=== | ||
| Property| Name| Description| Type| Default| Example | ||
| *host {empty}* *| Host| The IMAP server host| string| | `"imap.gmail.com"` | ||
| *password {empty}* *| Password| The password to access the mail box| string| | | ||
| *port {empty}* *| Port| The IMAP server port| string| `993`| | ||
| *username {empty}* *| Username| The username to access the mail box| string| | | ||
| delay| Delay| The delay between fetches in milliseconds| integer| `60000`| | ||
| fetchSize| Fetch Size| The number of messages fetched for each poll (-1 for no limits)| integer| `10`| | ||
|=== | ||
|
||
NOTE: Fields marked with ({empty}*) are mandatory. | ||
|
||
== Usage | ||
|
||
This section summarizes how the `mail-imap-source` can be used in various contexts. | ||
|
||
=== Knative Source | ||
|
||
The `mail-imap-source` Kamelet can be used as Knative source by binding it to a Knative object. | ||
|
||
.mail-imap-source-binding.yaml | ||
[source,yaml] | ||
---- | ||
apiVersion: camel.apache.org/v1alpha1 | ||
kind: KameletBinding | ||
metadata: | ||
name: mail-imap-source-binding | ||
spec: | ||
source: | ||
ref: | ||
kind: Kamelet | ||
apiVersion: camel.apache.org/v1alpha1 | ||
name: mail-imap-source | ||
properties: | ||
host: "imap.gmail.com" | ||
password: "The Password" | ||
username: "The Username" | ||
sink: | ||
ref: | ||
kind: InMemoryChannel | ||
apiVersion: messaging.knative.dev/v1 | ||
name: mychannel | ||
---- | ||
|
||
Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to. | ||
|
||
Save the `mail-imap-source-binding.yaml` file into your hard drive, then configure it according to your needs. | ||
|
||
You can run the source using the following command: | ||
|
||
[source,shell] | ||
---- | ||
kubectl apply -f mail-imap-source-binding.yaml | ||
---- | ||
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
apiVersion: camel.apache.org/v1alpha1 | ||
kind: Kamelet | ||
metadata: | ||
name: mail-imap-source | ||
annotations: | ||
camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAwIDE2LjIwMDAwMSAxMi4yIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc1IgogICBzb2RpcG9kaTpkb2NuYW1lPSJCcmVlemVpY29ucy1wbGFjZXMtMTYtZm9sZGVyLW1haWwuc3ZnIgogICB3aWR0aD0iMTYuMjAwMDAxIgogICBoZWlnaHQ9IjEyLjIiCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMC4yIChlODZjODcwODc5LCAyMDIxLTAxLTE1KSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTYiCiAgICAgaWQ9Im5hbWVkdmlldzciCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGZpdC1tYXJnaW4tdG9wPSIwLjEiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMC4xIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMC4xIgogICAgIGZpdC1tYXJnaW4tYm90dG9tPSIwLjEiCiAgICAgaW5rc2NhcGU6em9vbT0iNTMuNSIKICAgICBpbmtzY2FwZTpjeD0iOC4xIgogICAgIGlua3NjYXBlOmN5PSIzLjEwOTM0NTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzA1MSI+CiAgICA8c3R5bGUKICAgICAgIHR5cGU9InRleHQvY3NzIgogICAgICAgaWQ9ImN1cnJlbnQtY29sb3Itc2NoZW1lIj4KICAgICAgLkNvbG9yU2NoZW1lLVRleHQgewogICAgICAgIGNvbG9yOiM0ZDRkNGQ7CiAgICAgIH0KICAgICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAwLjEsMC4xIHYgMTIgaCAxNiB2IC0xMiB6IG0gMS40MTQwNjI1LDEgSCAxNC42ODU5MzggTCA4LjEsNy42ODU5Mzc1IFogTSAxLjEsMi4xIGwgNCw0IC00LDQgeiBtIDE0LDAgdiA4IGwgLTQsLTQgeiBNIDUuODA3MDMxMiw2LjgwNzAzMTIgOC4xLDkuMSAxMC4zOTI5NjksNi44MDcwMzEyIDE0LjY4NTkzOCwxMS4xIEggMS41MTQwNjI1IFoiCiAgICAgaWQ9InJlY3Q0MTQ0IgogICAgIGNsYXNzPSJDb2xvclNjaGVtZS1UZXh0IiAvPgo8L3N2Zz4K" | ||
camel.apache.org/provider: "Apache Software Foundation" | ||
labels: | ||
camel.apache.org/kamelet.type: "source" | ||
spec: | ||
definition: | ||
title: "Mail IMAP Source" | ||
description: |- | ||
Receive unread emails from an IMAP mail server, marking them as read once they are received. | ||
required: | ||
- host | ||
- port | ||
- username | ||
- password | ||
properties: | ||
host: | ||
title: Host | ||
description: The IMAP server host | ||
type: string | ||
example: imap.gmail.com | ||
port: | ||
title: Port | ||
description: The IMAP server port | ||
type: string | ||
default: 993 | ||
username: | ||
title: Username | ||
description: The username to access the mail box | ||
type: string | ||
password: | ||
title: Password | ||
description: The password to access the mail box | ||
type: string | ||
x-descriptors: | ||
- urn:alm:descriptor:com.tectonic.ui:password | ||
fetchSize: | ||
title: Fetch Size | ||
description: The number of messages fetched for each poll (-1 for no limits) | ||
type: integer | ||
default: 10 | ||
delay: | ||
title: Delay | ||
description: The delay between fetches in milliseconds | ||
type: integer | ||
default: 60000 | ||
flow: | ||
from: | ||
uri: "imaps:{{host}}:{{port}}" | ||
parameters: | ||
username: "{{username}}" | ||
password: "{{password}}" | ||
fetchSize: "{{fetchSize}}" | ||
delay: "{{delay}}" | ||
steps: | ||
- set-header: | ||
name: "ce-subject" | ||
simple: "${header.Subject}" | ||
- set-header: | ||
name: "ce-from" | ||
simple: "${header.From}" | ||
- set-header: | ||
name: "ce-to" | ||
simple: "${header.To}" | ||
- set-header: | ||
name: "ce-cc" | ||
simple: "${header.Cc}" | ||
- convert-body-to: | ||
type: "java.lang.String" | ||
- to: "kamelet:sink" |