| # --------------------------------------------------------------------------- |
| # 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. |
| # --------------------------------------------------------------------------- |
| apiVersion: camel.apache.org/v1 |
| kind: Kamelet |
| metadata: |
| name: mail-sink |
| annotations: |
| camel.apache.org/kamelet.support.level: "Stable" |
| camel.apache.org/catalog.version: "4.7.0-SNAPSHOT" |
| 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" |
| camel.apache.org/kamelet.group: "Mail" |
| camel.apache.org/kamelet.namespace: "Mail" |
| labels: |
| camel.apache.org/kamelet.type: "sink" |
| spec: |
| definition: |
| title: "Mail Sink" |
| description: "Send mails to given SMTP server." |
| required: |
| - connectionHost |
| - username |
| - password |
| type: object |
| properties: |
| connectionHost: |
| description: The mail server host |
| example: smtp.gmail.com |
| title: Host |
| type: string |
| connectionPort: |
| description: The mail server port |
| title: Port |
| default: 25 |
| type: string |
| username: |
| title: Username |
| description: The username to access the mail box |
| type: string |
| x-descriptors: |
| - urn:camel:group:credentials |
| password: |
| title: Password |
| description: The password to access the mail box |
| type: string |
| format: password |
| x-descriptors: |
| - urn:camel:group:credentials |
| from: |
| description: The `from` field of the outgoing mail |
| title: From |
| type: string |
| to: |
| description: The `to` field of the outgoing mail |
| title: To |
| type: string |
| subject: |
| description: The mail subject of the outgoing mail |
| title: Subject |
| type: string |
| dependencies: |
| - "camel:core" |
| - "camel:mail" |
| - "camel:kamelet" |
| template: |
| from: |
| uri: "kamelet:source" |
| steps: |
| - choice: |
| when: |
| - simple: "${header[ce-subject]}" |
| steps: |
| - setHeader: |
| name: Subject |
| simple: "${header[ce-subject]}" |
| - choice: |
| when: |
| - simple: "${header[ce-from]}" |
| steps: |
| - setHeader: |
| name: From |
| simple: "${header[ce-from]}" |
| - choice: |
| when: |
| - simple: "${header[ce-to]}" |
| steps: |
| - setHeader: |
| name: To |
| simple: "${header[ce-to]}" |
| - choice: |
| when: |
| - simple: "${header[ce-cc]}" |
| steps: |
| - setHeader: |
| name: Cc |
| simple: "${header[ce-cc]}" |
| - removeHeaders: |
| pattern: "ce-*" |
| - to: |
| uri: "smtp:{{connectionHost}}:{{connectionPort}}" |
| parameters: |
| subject: "{{subject}}" |
| from: "{{from}}" |
| to: "{{to}}" |
| username: "{{username}}" |
| password: "{{password}}" |
| |