ConnectorTypeSMTP
class connector_types.connector_type_smtp.ConnectorTypeSMTP
Send an email using an SMTP server.
Inputs
Name | Type | Default | Description |
---|---|---|---|
attachments | List | [] | |
bcc | list | [] | |
cc | list | [] | |
from | String | None | deprecated. replaced by from_ |
from_ | String | None | the sender email address |
html | String | None | HTML formatted body of the email. If only a HTML formatted body is supplied, Cloudomation will automatically generate a text version. |
login | String | None | |
password | String | None | |
smtp_host | String | ||
smtp_port | Number | 25 | |
subject | String | ||
text | String | None | The text will be the body of the email. You can supply it as text or html or both. If you supply both, the recipient can choose to see the email in either html or plain text. |
to | list | [] | |
use_tls | Boolean | True | Whether or not to use a Transport Security Layer (TLS) encrypted connection |
Outputs
Name | Type | Default | Description |
---|---|---|---|
execution_id | int | The ID of the connection execution | |
message | str | The ended message for the connection. If the connection ended with an error, the message will contain information about what went wrong | |
status | str | The ended status for the connection. Either "success" or "error". |
Constants
input_list = ['attachments', 'bcc', 'cc', 'from', 'from_', 'html', 'login', 'password', 'smtp_host', 'smtp_port', 'subject', 'text', 'to', 'use_tls'] output_list = [] ssl_context_inputs = ['check_hostname', 'client_cert', 'client_key', 'server_ca'] version = 1Methods
execute ()
log (message)
one_of_inputs (options)
run ()
Example
import flow_api
def handler(system: flow_api.System, this: flow_api.Execution):
# create an SMTP connection and run it
this.connect(
connector_type='SMTP',
inputs={
'from_': 'Cloudomation <info@cloudomation.com>',
'to': 'info@cloudomation.com',
'subject': 'Cloudomation email',
# the text will be the email body. Alternatively you could add
# a html formatted body with the key 'html'.
'text': 'This email was sent with Cloudomation',
'login': 'cloudomation@cloudomation.com',
'password': '****',
'smtp_host': 'SMTP.example.com',
'smtp_port': 587,
'use_tls': True
}
)
# the SMTP connection does not produce any outputs
return this.success(message='all done')
Sending attachments is also possible with this connector type. Add a property 'attachments' to the inputs dict. There are two ways to specify attachments:
- with
cloudomation:filename
where filename points to a file in the cloudomation workspace - with an URL where URL points to a http/https accessible file
The attachments
property is of type list
.