kind: job
metadata:
name: send-email
tag: ''
hash: 5c4528084ea98992b77f65e29359bbcb4a0df8ab
project: ''
labels:
author: saarc
categories:
- utils
spec:
command: ''
args: []
image: mlrun/mlrun
build:
functionSourceCode: IyBDb3B5cmlnaHQgMjAxOSBJZ3VhemlvCiMKIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiMgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiMKIyAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiMKIyBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKIyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiMKIyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlcgoKZnJvbSBtbHJ1bi5leGVjdXRpb24gaW1wb3J0IE1MQ2xpZW50Q3R4CmZyb20gdHlwaW5nIGltcG9ydCBMaXN0CgppbXBvcnQgc210cGxpYgpmcm9tIGVtYWlsLm1lc3NhZ2UgaW1wb3J0IEVtYWlsTWVzc2FnZQppbXBvcnQgb3MKCmltcG9ydCBtaW1ldHlwZXMKCgpkZWYgc2VuZF9lbWFpbCgKICAgIGNvbnRleHQ6IE1MQ2xpZW50Q3R4LAogICAgc2VuZGVyOiBzdHIsCiAgICB0bzogc3RyLAogICAgc3ViamVjdDogc3RyLAogICAgY29udGVudDogc3RyID0gIiIsCiAgICBzZXJ2ZXJfYWRkcjogc3RyID0gTm9uZSwKICAgIGF0dGFjaG1lbnRzOiBMaXN0W3N0cl0gPSBbXSwKKSAtPiBOb25lOgogICAgIiIiU2VuZCBhbiBlbWFpbC4KICAgIDpwYXJhbSBzZW5kZXI6IFNlbmRlciBlbWFpbCBhZGRyZXNzCiAgICA6cGFyYW0gY29udGV4dDogVGhlIGZ1bmN0aW9uIGNvbnRleHQKICAgIDpwYXJhbSB0bzogRW1haWwgYWRkcmVzcyBvZiBtYWlsIHJlY2lwaWVudAogICAgOnBhcmFtIHN1YmplY3Q6IEVtYWlsIHN1YmplY3QKICAgIDpwYXJhbSBjb250ZW50OiBPcHRpb25hbCBtYWlsIHRleHQKICAgIDpwYXJhbSBzZXJ2ZXJfYWRkcjogQWRkcmVzcyBvZiBTTVRQIHNlcnZlciB0byB1c2UuIFVzZSBmb3JtYXQgPGFkZHI+Ojxwb3J0PgogICAgOnBhcmFtIGF0dGFjaG1lbnRzOiBMaXN0IG9mIGF0dGFjaG1lbnRzIHRvIGFkZC4KICAgICIiIgoKICAgIGVtYWlsX3VzZXIgPSBjb250ZXh0LmdldF9zZWNyZXQoIlNNVFBfVVNFUiIpCiAgICBlbWFpbF9wYXNzID0gY29udGV4dC5nZXRfc2VjcmV0KCJTTVRQX1BBU1NXT1JEIikKICAgIGlmIGVtYWlsX3VzZXIgaXMgTm9uZSBvciBlbWFpbF9wYXNzIGlzIE5vbmU6CiAgICAgICAgY29udGV4dC5sb2dnZXIuZXJyb3IoIk1pc3Npbmcgc2VuZGVyIGVtYWlsIG9yIHBhc3N3b3JkIC0gY2Fubm90IHNlbmQgZW1haWwuIikKICAgICAgICByZXR1cm4KCiAgICBpZiBzZXJ2ZXJfYWRkciBpcyBOb25lOgogICAgICAgIGNvbnRleHQubG9nZ2VyLmVycm9yKCJTZXJ2ZXIgbm90IHNwZWNpZmllZCAtIGNhbm5vdCBzZW5kIGVtYWlsLiIpCiAgICAgICAgcmV0dXJuCgogICAgbXNnID0gRW1haWxNZXNzYWdlKCkKICAgIG1zZ1siRnJvbSJdID0gc2VuZGVyCiAgICBtc2dbIlN1YmplY3QiXSA9IHN1YmplY3QKICAgIG1zZ1siVG8iXSA9IHRvCiAgICBtc2cuc2V0X2NvbnRlbnQoY29udGVudCkKCiAgICBmb3IgZmlsZW5hbWUgaW4gYXR0YWNobWVudHM6CiAgICAgICAgY29udGV4dC5sb2dnZXIuaW5mbyhmIkxvb2tpbmcgYXQgYXR0YWNobWVudDoge2ZpbGVuYW1lfSIpCiAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKGZpbGVuYW1lKToKICAgICAgICAgICAgY29udGV4dC5sb2dnZXIud2FybmluZyhmIkZpbGVuYW1lIGRvZXMgbm90IGV4aXN0IHtmaWxlbmFtZX0iKQogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGN0eXBlLCBlbmNvZGluZyA9IG1pbWV0eXBlcy5ndWVzc190eXBlKGZpbGVuYW1lKQogICAgICAgIGlmIGN0eXBlIGlzIE5vbmUgb3IgZW5jb2RpbmcgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIGN0eXBlID0gImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIKICAgICAgICBtYWludHlwZSwgc3VidHlwZSA9IGN0eXBlLnNwbGl0KCIvIiwgMSkKICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICJyYiIpIGFzIGZwOgogICAgICAgICAgICBtc2cuYWRkX2F0dGFjaG1lbnQoCiAgICAgICAgICAgICAgICBmcC5yZWFkKCksCiAgICAgICAgICAgICAgICBtYWludHlwZT1tYWludHlwZSwKICAgICAgICAgICAgICAgIHN1YnR5cGU9c3VidHlwZSwKICAgICAgICAgICAgICAgIGZpbGVuYW1lPW9zLnBhdGguYmFzZW5hbWUoZmlsZW5hbWUpLAogICAgICAgICAgICApCiAgICAgICAgICAgIGNvbnRleHQubG9nZ2VyLmluZm8oCiAgICAgICAgICAgICAgICBmIkFkZGVkIGF0dGFjaG1lbnQ6IEZpbGVuYW1lOiB7ZmlsZW5hbWV9LCBvZiBtaW1ldHlwZToge21haW50eXBlfSwge3N1YnR5cGV9IgogICAgICAgICAgICApCgogICAgdHJ5OgogICAgICAgIHMgPSBzbXRwbGliLlNNVFAoaG9zdD1zZXJ2ZXJfYWRkcikKICAgICAgICBzLnN0YXJ0dGxzKCkKICAgICAgICBzLmxvZ2luKGVtYWlsX3VzZXIsIGVtYWlsX3Bhc3MpCiAgICAgICAgcy5zZW5kX21lc3NhZ2UobXNnKQogICAgICAgIGNvbnRleHQubG9nZ2VyLmluZm8oIkVtYWlsIHNlbnQgc3VjY2Vzc2Z1bGx5LiIpCiAgICBleGNlcHQgc210cGxpYi5TTVRQRXhjZXB0aW9uIGFzIGV4cDoKICAgICAgICBjb250ZXh0LmxvZ2dlci5lcnJvcihmIlNNVFAgZXhjZXB0aW9uIGNhdWdodCBpbiBTTVRQIGNvZGU6IHtleHB9IikKICAgIGV4Y2VwdCBDb25uZWN0aW9uRXJyb3IgYXMgY2U6CiAgICAgICAgY29udGV4dC5sb2dnZXIuZXJyb3IoZiJDb25uZWN0aW9uIGVycm9yIGNhdWdodCBpbiBTTVRQIGNvZGU6IHtjZX0iKQo=
commands: []
code_origin: ""
origin_filename: ""
requirements: []
entry_points:
send_email:
name: send_email
doc: Send an email.
parameters:
- name: context
type: MLClientCtx
doc: The function context
default: ''
- name: sender
type: str
doc: Sender email address
default: ''
- name: to
type: str
doc: Email address of mail recipient
default: ''
- name: subject
type: str
doc: Email subject
default: ''
- name: content
type: str
doc: Optional mail text
default: ''
- name: server_addr
type: str
doc: Address of SMTP server to use. Use format :
default: null
- name: attachments
type: List[str]
doc: List of attachments to add.
default: []
outputs:
- default: ''
lineno: 27
description: Send Email messages through SMTP server
default_handler: send_email
disable_auto_mount: false
clone_target_dir: ''
env: []
priority_class_name: ''
preemption_mode: prevent
affinity: null
tolerations: null
security_context: {}
verbose: false