223 lines
8.5 KiB
JSON
223 lines
8.5 KiB
JSON
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
} |