da3909e79d
Send email over SMTP: plain-text and HTML bodies with inline data-URI images, base64 file attachment, CC/BCC, Reply-To and custom headers. Plain / STARTTLS / SSL-TLS with optional authentication. Stdlib-only (smtplib), no extra Python dependencies. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
75 lines
3.3 KiB
YAML
75 lines
3.3 KiB
YAML
id: mail_sender
|
|
name: Mail Sender
|
|
version: 1.0.0
|
|
description: "Send email over SMTP — plain-text and rich HTML bodies (with inline data-URI images), file attachments (base64), CC/BCC, Reply-To and custom headers. Supports plain, STARTTLS and SSL/TLS connections with optional authentication. Stdlib-only (smtplib), no extra Python dependencies; run on a remote engine when the SMTP server is only reachable from inside your network."
|
|
changelog: "1.0.0 — Initial release: send-mail (text/HTML, inline images, base64 attachment, CC/BCC/Reply-To/custom headers) and a connectivity test."
|
|
category: email
|
|
|
|
# Per-instance configuration. Connects to an SMTP server to send outbound mail.
|
|
# tls: None (plain, usually port 25), STARTTLS (upgrade a plain connection,
|
|
# usually port 587), or SSL/TLS (implicit TLS, usually port 465). Username and
|
|
# password are optional (some relays accept unauthenticated internal senders).
|
|
config_schema:
|
|
properties:
|
|
host:
|
|
type: string
|
|
description: "SMTP server hostname or IP"
|
|
port:
|
|
type: string
|
|
description: "SMTP port (25 plain, 587 STARTTLS, 465 SSL/TLS)"
|
|
default: "25"
|
|
username:
|
|
type: string
|
|
description: "SMTP username (leave empty for unauthenticated relays)"
|
|
password:
|
|
type: string
|
|
description: "SMTP password"
|
|
x-soar-sensitive: true
|
|
from_address:
|
|
type: string
|
|
description: "Default sender address — 'user@host.com' or 'Full Name <user@host.com>'"
|
|
fqdn:
|
|
type: string
|
|
description: "Fully qualified domain name to present in EHLO (optional)"
|
|
tls:
|
|
type: string
|
|
description: "Connection security: None, STARTTLS or SSL/TLS"
|
|
default: None
|
|
insecure:
|
|
type: boolean
|
|
description: "Trust any TLS certificate (not secure)"
|
|
default: false
|
|
required:
|
|
- host
|
|
- port
|
|
- from_address
|
|
|
|
commands:
|
|
- id: send_mail
|
|
name: mail-sender-send-mail
|
|
description: "Send an email. At least one recipient (to/cc/bcc) is required; subject and body may be empty."
|
|
inputs_schema:
|
|
properties:
|
|
to: { type: string, description: "Recipient(s) for the To field, comma-separated" }
|
|
cc: { type: string, description: "CC recipient(s), comma-separated" }
|
|
bcc: { type: string, description: "BCC recipient(s), comma-separated" }
|
|
subject: { type: string, description: "Subject" }
|
|
body: { type: string, description: "Plain-text body" }
|
|
html_body: { type: string, description: "HTML body (inline data-URI images are extracted and embedded)" }
|
|
reply_to: { type: string, description: "Reply-To address" }
|
|
sender: { type: string, description: "Override the configured From address" }
|
|
attachment_name: { type: string, description: "Attachment file name (with attachment_base64)" }
|
|
attachment_base64: { type: string, description: "Attachment content, base64-encoded" }
|
|
additional_headers: { type: string, description: "Extra headers as name=value;name2=value2" }
|
|
required: []
|
|
outputs_schema: { properties: {} }
|
|
|
|
- id: test_connection
|
|
name: mail-sender-test-connection
|
|
description: "Verify the SMTP connection and credentials without sending mail (used by the Test button)."
|
|
risk: read
|
|
inputs_schema:
|
|
properties: {}
|
|
required: []
|
|
outputs_schema: { properties: {} }
|