{ "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.22.1", "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}}" } } } ] } } }, "propertiesSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "title": "Mail Sink", "description": "Send mails to given SMTP server.", "required": [ "connectionHost", "username", "password" ], "properties": { "connectionHost": { "type": "string", "title": "Host", "description": "The mail server host" }, "connectionPort": { "type": "string", "title": "Port", "description": "The mail server port", "default": 25 }, "username": { "type": "string", "title": "Username", "description": "The username to access the mail box" }, "password": { "type": "string", "title": "Password", "description": "The password to access the mail box", "format": "password" }, "from": { "type": "string", "title": "From", "description": "The `from` field of the outgoing mail" }, "to": { "type": "string", "title": "To", "description": "The `to` field of the outgoing mail" }, "subject": { "type": "string", "title": "Subject", "description": "The mail subject of the outgoing mail" } } } }