First cut of smtp connector
This commit is contained in:
parent
b1017a382b
commit
8215ed2cc3
|
@ -1,3 +1,5 @@
|
||||||
|
*~
|
||||||
|
|
||||||
# Byte-compiled / optimized / DLL files
|
# Byte-compiled / optimized / DLL files
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[cod]
|
*.py[cod]
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand.
|
||||||
|
package = []
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
lock-version = "2.0"
|
||||||
|
python-versions = "^3.9"
|
||||||
|
content-hash = "c595a0588c25d58f3e3834ad7169126836d262b925fe6ca9b5d540dcf301d254"
|
|
@ -0,0 +1,15 @@
|
||||||
|
[tool.poetry]
|
||||||
|
name = "connector-smtp"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "Make SMTP Requests available to SpiffWorkflow Service Tasks"
|
||||||
|
authors = ["Jon Herron <jon.herron@yahoo.com>"]
|
||||||
|
readme = "README.md"
|
||||||
|
packages = [{include = "connector_smtp", from = "src" }]
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.9"
|
||||||
|
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry-core"]
|
||||||
|
build-backend = "poetry.core.masonry.api"
|
|
@ -0,0 +1,42 @@
|
||||||
|
import json
|
||||||
|
|
||||||
|
from email.message import EmailMessage
|
||||||
|
from smtplib import SMTP
|
||||||
|
|
||||||
|
class SendEmail:
|
||||||
|
def __init__(self,
|
||||||
|
smtp_host: str,
|
||||||
|
smtp_port: int,
|
||||||
|
email_subject: str,
|
||||||
|
email_body: str,
|
||||||
|
email_to: str,
|
||||||
|
email_from: str,
|
||||||
|
):
|
||||||
|
self.smtp_host = smtp_host
|
||||||
|
self.smtp_port = smtp_port
|
||||||
|
self.email_subject = email_subject
|
||||||
|
self.email_body = email_body
|
||||||
|
self.email_to = email_to
|
||||||
|
self.email_from = email_from
|
||||||
|
|
||||||
|
def execute(self, config, task_data):
|
||||||
|
message = EmailMessage()
|
||||||
|
message.set_content(self.email_body)
|
||||||
|
message["Subject"] = self.email_subject
|
||||||
|
message["From"] = self.email_from
|
||||||
|
message["To"] = self.email_to
|
||||||
|
|
||||||
|
response = {}
|
||||||
|
|
||||||
|
try:
|
||||||
|
with SMTP(self.smtp_host, self.smtp_port) as smtp:
|
||||||
|
smtp.send_message(message)
|
||||||
|
except Exception as e:
|
||||||
|
response["error"] = str(e)
|
||||||
|
|
||||||
|
return {
|
||||||
|
"response": json.dumps(response),
|
||||||
|
"status": 200,
|
||||||
|
"mimetype": "application/json",
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue